Move mutated-vars and poly-c libraries to unstable collection.

- add docs
 - change requires
 - fix `letrec-syntaxes+values'
Fix contract on `author+email'

svn: r16628

original commit: 99a70b38d8c16c84174534d9ae9c3b413e566743
This commit is contained in:
Sam Tobin-Hochstadt 2009-11-09 02:29:02 +00:00
parent 845fb67bb5
commit 1d3800bfd8
5 changed files with 9 additions and 8 deletions

View File

@ -3,8 +3,9 @@
(require (except-in "../utils/utils.ss" extend))
(require "type-environments.ss"
"type-env.ss"
unstable/mutated-vars
(only-in scheme/contract ->* ->)
(utils tc-utils mutated-vars)
(utils tc-utils)
(only-in (rep type-rep) Type/c)
(except-in (types utils convenience) -> ->*))

View File

@ -17,7 +17,7 @@
mzlib/trace
scheme/list
(only-in scheme/contract -> ->* case-> cons/c flat-rec-contract provide/contract any/c)
(for-template scheme/base scheme/contract (utils poly-c) (only-in scheme/class object% is-a?/c subclass?/c)))
(for-template scheme/base scheme/contract unstable/poly-c (only-in scheme/class object% is-a?/c subclass?/c)))
(define (define/fixup-contract? stx)
(or (syntax-property stx 'typechecker:contract-def)

View File

@ -8,7 +8,7 @@
[remove *remove])
(env lexical-env type-environments)
(r:infer infer)
(utils tc-utils mutated-vars)
(utils tc-utils)
(typecheck tc-envops tc-metafunctions)
syntax/kerncase
mzlib/trace

View File

@ -11,7 +11,8 @@
(types utils convenience)
(private parse-type type-annotation type-contract)
(env type-env init-envs type-name-env type-alias-env lexical-env)
(utils tc-utils mutated-vars)
unstable/mutated-vars
(utils tc-utils)
"provide-handling.ss"
"def-binding.ss"
(for-template

View File

@ -1,8 +1,7 @@
#lang scheme/base
(require (for-template scheme/base)
syntax/boundmap syntax/kerncase
mzlib/trace)
syntax/boundmap syntax/kerncase)
;; mapping telling whether an identifer is mutated
;; maps id -> boolean
@ -33,12 +32,12 @@
(fmv/list #'b))]
[(letrec-values ([_ e] ...) . b) (begin (fmv/list #'(e ...))
(fmv/list #'b))]
[(letrec-syntaxes+values _ ([_ e] ...) . b) (begin (fmv/list #'(e ...))
(fmv/list #'b))]
[(#%expression e) (find-mutated-vars #'e)]
;; all the other forms don't have any expression subforms (like #%top)
[_ (void)]))
;(trace find-mutated-vars)
;; checks to see if a particular variable is ever set!'d
;; is-var-mutated? : identifier -> boolean
(define (is-var-mutated? id) (module-identifier-mapping-get table id (lambda _ #f)))