>> Besides that, I don't think that phasing has any practical implication, >> given the loopholes in the spec -- the set of bindings that a module >> needs can be determined for *all* phases. That is to say, there is one >> set of bindings that satisfies the needs of the spec for all phases of >> evaluation of a module. Bindings needed at expansion time will be >> present at runtime, but that's allowed. > > I didn't know the spec was so permissive. Given that, indeed, R6' > module system is a subset of Guile's.
Yeah, it's kind of amazing: It takes several pages to lay out a rich, complex description of binding visibility and instantiation timing and then rolls it all back in a paragraph at the end that basically says, "Of course, implementations are free to disregard all of this."