[racket-dev] zo-parse and implicit requires from template-phased syntax?
The intent is that you follow `mod-requires' transitively with phase
shifts.
That is, if "test.rkt" requires "helper.rkt" with a phase shift of 1,
and "helper.rkt" requires `racket/list' with a phase shift of -1, then
"test.rkt" needs `racket/list' at phase 0.
If you look only at `prefix-toplevels' in the main module, then you
could potentially miss imports that have side effects.
At Tue, 13 Mar 2012 16:29:34 -0400, Danny Yoo wrote:
> > Do you agree that, not only do I have to visit the modules explicitly
> > listed in mod-requires, but also the phase-0 ModuleVariable references
> > in the module variables in the module's prefix-toplevels?
>
> Followup: ok, this seems like what you're doing in nodep-module:
>
> http://pre.racket-lang.org/racket/collects/compiler/demodularizer/nodep.rkt
>
> so I'll assume that those two locations alone are what I should be watching.
>
>
> I'm still surprised that the other places where I expect to see this
> information, such as module-compiled-imports, and the definition of
> add-module-code-connections in
> collects/drracket/private/module-browser.rkt, do not provide this
> complete information. If I'm not mistaken, we can only get this
> information through clever use of compiler/zo-parse.
> _________________________
> Racket Developers list:
> http://lists.racket-lang.org/dev