diff --git a/collects/typed-scheme/env/lexical-env.ss b/collects/typed-scheme/env/lexical-env.ss index 51b7d22e..5e64695a 100644 --- a/collects/typed-scheme/env/lexical-env.ss +++ b/collects/typed-scheme/env/lexical-env.ss @@ -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) -> ->*)) diff --git a/collects/typed-scheme/private/type-contract.ss b/collects/typed-scheme/private/type-contract.ss index 2c305836..07a5d1cb 100644 --- a/collects/typed-scheme/private/type-contract.ss +++ b/collects/typed-scheme/private/type-contract.ss @@ -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) diff --git a/collects/typed-scheme/typecheck/tc-if.ss b/collects/typed-scheme/typecheck/tc-if.ss index 1584e867..5e037518 100644 --- a/collects/typed-scheme/typecheck/tc-if.ss +++ b/collects/typed-scheme/typecheck/tc-if.ss @@ -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 diff --git a/collects/typed-scheme/typecheck/tc-toplevel.ss b/collects/typed-scheme/typecheck/tc-toplevel.ss index a14e0125..793eefb8 100644 --- a/collects/typed-scheme/typecheck/tc-toplevel.ss +++ b/collects/typed-scheme/typecheck/tc-toplevel.ss @@ -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 diff --git a/collects/typed-scheme/utils/mutated-vars.ss b/collects/unstable/mutated-vars.ss similarity index 92% rename from collects/typed-scheme/utils/mutated-vars.ss rename to collects/unstable/mutated-vars.ss index a362bd53..1e141c54 100644 --- a/collects/typed-scheme/utils/mutated-vars.ss +++ b/collects/unstable/mutated-vars.ss @@ -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)))