On Tue, Mar 13, 2012 at 2:55 PM, Blake Johnson <bjoh...@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? _________________________ Racket Developers list: http://lists.racket-lang.org/dev