diff --git a/collects/typed-scheme/module-info.ss b/collects/typed-scheme/module-info.ss new file mode 100644 index 00000000..864540fe --- /dev/null +++ b/collects/typed-scheme/module-info.ss @@ -0,0 +1,18 @@ +#lang scheme/base +(require typed-scheme/typed-reader) +(provide module-info configure) + +(define ((module-info arg) key default) + (case key + [(configure-runtime) `(#(typed-scheme/module-info configure ()))] + [else default])) + +;; options currently always empty +(define (configure options) + (namespace-require 'scheme/base) + (eval '(begin + (require (for-syntax typed-scheme/utils/tc-utils scheme/base)) + (begin-for-syntax (set-box! typed-context? #t))) + (current-namespace)) + (current-readtable readtable)) + diff --git a/collects/typed-scheme/typed-reader.ss b/collects/typed-scheme/typed-reader.ss index ebce7135..3313c542 100644 --- a/collects/typed-scheme/typed-reader.ss +++ b/collects/typed-scheme/typed-reader.ss @@ -83,4 +83,4 @@ (parameterize ([current-readtable readtable]) (read-syntax src port))) -(provide (rename-out [*read read] [*read-syntax read-syntax])) +(provide readtable (rename-out [*read read] [*read-syntax read-syntax])) diff --git a/collects/typed/scheme/base/lang/reader.ss b/collects/typed/scheme/base/lang/reader.ss index f276a7b4..ce8f8d0f 100644 --- a/collects/typed/scheme/base/lang/reader.ss +++ b/collects/typed/scheme/base/lang/reader.ss @@ -4,5 +4,15 @@ typed/scheme/base #:read r:read #:read-syntax r:read-syntax +#:info make-info +#:module-info make-module-info + +(define (make-info key default use-default) + (case key + [else (use-default key default)])) + +(define make-module-info + `#(typed-scheme/module-info module-info ())) + (require (prefix-in r: typed-scheme/typed-reader)) diff --git a/collects/typed/scheme/lang/reader.ss b/collects/typed/scheme/lang/reader.ss index e5397c57..3a91f1a7 100644 --- a/collects/typed/scheme/lang/reader.ss +++ b/collects/typed/scheme/lang/reader.ss @@ -4,5 +4,15 @@ typed/scheme #:read r:read #:read-syntax r:read-syntax +#:info make-info +#:module-info make-module-info + +(define (make-info key default use-default) + (case key + [else (use-default key default)])) + +(define make-module-info + `#(typed-scheme/module-info module-info ())) + (require (prefix-in r: typed-scheme/typed-reader))