typed/untyped-utils: adjust scope handling for introduced submodule

Avoid the relying too much on current macro expander's treatment of
syntax that is moved from one module to another.
This commit is contained in:
Matthew Flatt 2015-02-25 21:09:26 -07:00
parent 4622a4cc32
commit 952334927c

View File

@ -43,10 +43,15 @@
[(untyped3-name ...) (generate-temporaries #'(name ...))]
[(macro-name ...) (generate-temporaries #'(name ...))]
[typed-module (generate-temporary #'typed-module)]
[untyped-module (generate-temporary #'untyped-module)])
[untyped-module (generate-temporary #'untyped-module)]
[*typed/racket/base (datum->syntax #'from-module-spec
'typed/racket/base)]
[*require (datum->syntax #'from-module-spec
'require)])
(syntax/loc stx
(begin
(module typed-module typed/racket/base
(module typed-module *typed/racket/base ; to bind in `T`s
(*require typed/racket/base) ; to bind introduced `begin`, etc.
(begin form ...)
(require (rename-in (only-in from-module-spec name ...)
[name untyped2-name] ...))