[racket-dev] zo-parse and implicit requires from template-phased syntax?
On Tue, Mar 13, 2012 at 2:55 PM, Blake Johnson <bjohn3x at gmail.com> wrote:
> I think that mod-requires just has the explicitly declared requires for each
> phase. In the demodularizer, we have to trace through the requires to get
> all phase 0 code.
Ok, good. But the word "requires" is overloaded by the context, so I
really have no clear idea what you mean. :) I'm trying to agree on
terms, to categorize what exactly it means to trace through the
requires to get all phase 0 code.
In the example I posted up, the only reference to racket/list I can
find is through one of the ModuleVariables living in the prefix. I
can see a reference to racket/list there. I've been staring at the
parsed bytecode really hard, and that's the only place I see a
reference to it.
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? Are there
other locations in the bytecode other than:
(mod-requires a-module)
and:
(filter module-variable? (prefix-toplevels (mod-prefix a-a-module)))
that I must not neglect to inspect?