diff --git a/collects/typed-scheme/env/lexical-env.ss b/collects/typed-scheme/env/lexical-env.ss index b6133239..51b7d22e 100644 --- a/collects/typed-scheme/env/lexical-env.ss +++ b/collects/typed-scheme/env/lexical-env.ss @@ -3,10 +3,15 @@ (require (except-in "../utils/utils.ss" extend)) (require "type-environments.ss" "type-env.ss" + (only-in scheme/contract ->* ->) (utils tc-utils mutated-vars) - (types utils convenience)) + (only-in (rep type-rep) Type/c) + (except-in (types utils convenience) -> ->*)) -(provide (all-defined-out)) +(provide lexical-env with-lexical-env with-lexical-env/extend with-update-type/lexical) +(p/c + [lookup-type/lexical ((identifier?) (env?) . ->* . Type/c)] + [update-type/lexical (((identifier? Type/c . -> . Type/c) identifier?) (env?) . ->* . env?)]) ;; the current lexical environment (define lexical-env (make-parameter (make-empty-env free-identifier=?))) diff --git a/collects/typed-scheme/private/base-env.ss b/collects/typed-scheme/private/base-env.ss index 398fd0e7..2c306812 100644 --- a/collects/typed-scheme/private/base-env.ss +++ b/collects/typed-scheme/private/base-env.ss @@ -270,7 +270,7 @@ [quotient (-Integer -Integer . -> . -Integer)] [remainder (-Integer -Integer . -> . -Integer)] [quotient/remainder - (make-arr (list -Integer -Integer) (-values (list -Integer -Integer)))] + (make-Function (list (make-arr (list -Integer -Integer) (-values (list -Integer -Integer)))))] ;; parameter stuff