[racket-dev] syntax-local-lift-require is useless wrt submodules
On 2015-01-11 23:29:28 -0800, Alexis King wrote:
> This is a real problem, since Typed Racket’s require/typed form uses
> local-require, which in turn uses syntax-local-lift-require. This means
> that require/typed currently cannot require submodules.
Interesting, thanks for tracking this down! IIRC Typed Racket switched
to using `local-require` in order to support uses of `require/typed` in
the REPL/top-level.
(as the comment on
https://github.com/racket/typed-racket/blob/master/typed-racket-lib/typed-racket/utils/require-contract.rkt#L57
notes)
So one possible solution is to switch back to using `require` but also
overhaul how TR handles the REPL to avoid these issues.
(for the REPL, local expanding everything at once doesn't work well
because an early definition in a `begin` has to be registered
before later clauses are typechecked)
Cheers,
Asumu