I posted this to users@ first, but I think this might be more relevant here. 
The core problem is that syntax-local-lift-require 
<http://docs.racket-lang.org/reference/stxtrans.html?q=syntax-local-lift-require#(def._((quote._~23~25kernel)._syntax-local-lift-require))>
 lifts the #%require form to the top of the enclosing module. This has the side 
effect of preventing those require specs from including submodules.

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. It seems to me that either 
require/typed, require-local, or syntax-local-lift-require needs to be modified 
to be compatible with submodules, but I’m not sure how this should be achieved.

Should the module form be hoisted to the top of its enclosing module? Or will 
that cause problems I’m not foreseeing? I’d really appreciate some kind of 
solution to this problem because I’ve developed what I think is a fairly nice 
macro for use with Typed Racket, but I’d need it to properly interoperate with 
submodules to work correctly.
_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to