diff --git a/collects/tests/typed-racket/unit-tests/special-env-typecheck-tests.rkt b/collects/tests/typed-racket/unit-tests/special-env-typecheck-tests.rkt index fc148ac1c0..665f4c0ecc 100644 --- a/collects/tests/typed-racket/unit-tests/special-env-typecheck-tests.rkt +++ b/collects/tests/typed-racket/unit-tests/special-env-typecheck-tests.rkt @@ -11,14 +11,14 @@ [-> t:->])) (except-in (utils tc-utils utils) infer) typed-racket/infer/infer-dummy typed-racket/infer/infer - unstable/mutated-vars + (utils mutated-vars) rackunit rackunit/text-ui syntax/parse racket/file racket/port (for-syntax syntax/kerncase syntax/parse racket/syntax (types abbrev convenience utils) - unstable/mutated-vars + (utils mutated-vars) (utils tc-utils) (typecheck typechecker)) typed-racket/base-env/prims typed-racket/base-env/base-types diff --git a/collects/tests/typed-racket/unit-tests/typecheck-tests.rkt b/collects/tests/typed-racket/unit-tests/typecheck-tests.rkt index acf64edac9..db106b7026 100644 --- a/collects/tests/typed-racket/unit-tests/typecheck-tests.rkt +++ b/collects/tests/typed-racket/unit-tests/typecheck-tests.rkt @@ -16,7 +16,7 @@ [-> t:->]) (except-in (utils tc-utils utils) infer) typed-racket/infer/infer-dummy typed-racket/infer/infer - unstable/mutated-vars + (utils mutated-vars) (env type-name-env type-env-structs init-envs) rackunit rackunit/text-ui syntax/parse diff --git a/collects/typed-racket/env/lexical-env.rkt b/collects/typed-racket/env/lexical-env.rkt index 600639046c..4fbfbfccd5 100644 --- a/collects/typed-racket/env/lexical-env.rkt +++ b/collects/typed-racket/env/lexical-env.rkt @@ -9,10 +9,10 @@ (require "../utils/utils.rkt" "type-env-structs.rkt" "global-env.rkt" - unstable/mutated-vars syntax/id-table + syntax/id-table (for-syntax syntax/parse syntax/parse/experimental/contract racket/base) (only-in scheme/contract ->* -> or/c any/c listof cons/c) - (utils tc-utils) + (utils tc-utils mutated-vars) (only-in (rep type-rep) Type/c) (typecheck tc-metafunctions) (except-in (types utils convenience) -> ->*)) diff --git a/collects/typed-racket/tc-setup.rkt b/collects/typed-racket/tc-setup.rkt index 8db8767048..8acb457a88 100644 --- a/collects/typed-racket/tc-setup.rkt +++ b/collects/typed-racket/tc-setup.rkt @@ -2,14 +2,13 @@ (require (rename-in "utils/utils.rkt" [infer r:infer]) (except-in syntax/parse id) - unstable/mutated-vars racket/pretty (private type-contract) (types utils convenience) (typecheck typechecker provide-handling tc-toplevel) (env tvar-env type-name-env type-alias-env) (r:infer infer) - (utils tc-utils disarm) + (utils tc-utils disarm mutated-vars) (rep type-rep) (except-in (utils utils) infer) (only-in (r:infer infer-dummy) infer-param) diff --git a/collects/typed-racket/typecheck/tc-toplevel.rkt b/collects/typed-racket/typecheck/tc-toplevel.rkt index d388f711ad..1355ca5530 100644 --- a/collects/typed-racket/typecheck/tc-toplevel.rkt +++ b/collects/typed-racket/typecheck/tc-toplevel.rkt @@ -14,8 +14,8 @@ (types utils convenience type-table) (private parse-type type-annotation type-contract) (env global-env init-envs type-name-env type-alias-env lexical-env) - unstable/mutated-vars syntax/id-table - (utils tc-utils) + syntax/id-table + (utils tc-utils mutated-vars) "provide-handling.rkt" "def-binding.rkt" (prefix-in c: racket/contract) diff --git a/collects/unstable/mutated-vars.rkt b/collects/typed-racket/utils/mutated-vars.rkt similarity index 100% rename from collects/unstable/mutated-vars.rkt rename to collects/typed-racket/utils/mutated-vars.rkt diff --git a/collects/unstable/scribblings/mutated-vars.scrbl b/collects/unstable/scribblings/mutated-vars.scrbl deleted file mode 100644 index abd44919c6..0000000000 --- a/collects/unstable/scribblings/mutated-vars.scrbl +++ /dev/null @@ -1,40 +0,0 @@ -#lang scribble/manual -@(require scribble/eval - "utils.rkt" - (for-label unstable/mutated-vars - racket/contract - racket/dict - syntax/id-table - racket/base)) - -@(define the-eval (make-base-eval)) -@(the-eval '(require unstable/mutated-vars syntax/id-table racket/dict)) - -@title[#:tag "mutated-vars"]{Finding Mutated Variables} - -@defmodule[unstable/mutated-vars] - -@unstable[@author+email["Sam Tobin-Hochstadt" "samth@ccs.neu.edu"]] - - -@defproc[(find-mutated-vars [stx syntax?] [dict dict? (make-immutable-free-id-table)]) dict?]{Traverses -@racket[stx], which should be @racket[module-level-form] in the sense -of the grammar for -@tech[#:doc '(lib "scribblings/reference/reference.scrbl")]{fully-expanded} forms, -and records all of the variables that are mutated. -Each mutated variable is added to @racket[dict], mapped to -@racket[#t]. If @racket[dict] is mutable, as determined by -@racket[dict-mutable?], then the table is updated destructively. -Otherwise, the table is updated functionally.} - -@examples[#:eval the-eval -(define t (find-mutated-vars #'(begin (set! var 'foo) 'bar))) -(dict-ref t #'var #f) -(dict-ref t #'other-var #f) -(define tbl (make-free-id-table)) -(find-mutated-vars #'(begin (set! var 'foo) 'bar) tbl) -(dict-ref tbl #'var #f) -] -} - -@close-eval[the-eval] diff --git a/collects/unstable/scribblings/unstable.scrbl b/collects/unstable/scribblings/unstable.scrbl index d0a0d49ebc..91ff636984 100644 --- a/collects/unstable/scribblings/unstable.scrbl +++ b/collects/unstable/scribblings/unstable.scrbl @@ -81,7 +81,6 @@ Keep documentation and tests up to date. @include-section["file.scrbl"] @include-section["find.scrbl"] @include-section["future.scrbl"] -@include-section["mutated-vars.scrbl"] ;; Finding Mutable Variables @include-section["function.scrbl"] @include-section["generics.scrbl"] @include-section["hash.scrbl"] diff --git a/collects/unstable/tests/test-docs-complete.rkt b/collects/unstable/tests/test-docs-complete.rkt index 00b0f3ddd8..7a4ce32639 100644 --- a/collects/unstable/tests/test-docs-complete.rkt +++ b/collects/unstable/tests/test-docs-complete.rkt @@ -8,7 +8,6 @@ (check-docs (quote unstable/prop-contract)) (check-docs (quote unstable/pretty)) (check-docs (quote unstable/port)) -(check-docs (quote unstable/mutated-vars)) (check-docs (quote unstable/match)) (check-docs (quote unstable/markparam) #:skip #rx"^deserialize-info:") (check-docs (quote unstable/list))