Hi Ludovic, On Wed 22 Apr 2009 09:55, l...@gnu.org (Ludovic Courtès) writes:
> That means, for instance, that module versioning could first be > implemented in Guile's module system, which would then simply be used by > the `library' form. That probably makes sense, yes. > The main differences between these two module systems are module > versioning, and phase separation. Fortunately, R6RS' system is a > superset of Guile's, so we could extend the latter so that it could be ^^^^^^^^ > used as the foundation of the former. Perhaps you meant to say subset? I believe we'll succeed in implementing r6rs modules with Guile modules, but I don't think you could implement Guile modules on top of r6rs modules. 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. Just some nitpicks :) Andy -- http://wingolog.org/