From 1d3800bfd8bd8b5e8e4d3ba058a02623149d8ba6 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Mon, 9 Nov 2009 02:29:02 +0000 Subject: [PATCH] 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 --- collects/typed-scheme/env/lexical-env.ss | 3 ++- collects/typed-scheme/private/type-contract.ss | 2 +- collects/typed-scheme/typecheck/tc-if.ss | 2 +- collects/typed-scheme/typecheck/tc-toplevel.ss | 3 ++- collects/{typed-scheme/utils => unstable}/mutated-vars.ss | 7 +++---- 5 files changed, 9 insertions(+), 8 deletions(-) rename collects/{typed-scheme/utils => unstable}/mutated-vars.ss (92%) 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)))