[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] General comments on the draft WG1 R7 report.

On Fri, 27 May 2011, Jay Reynolds Freeman wrote:

> the files that contain module definitions, and implement "module"
> as syntax that creates some kind of a functional object that responds
> appropriately to "import" with the various <import set>s.   That looks
> like a real mess to do, but I will take your (collective) word that the
> R6 module syntax is worth it for the sake of separately compiled
> Scheme implementations.

Even interpreters have needs to load libraries of bindings, either
system bindings (say, the usual R5RS bindings) or user libraries,
while NOT exposing auxiliary bindings to the user. 
It is mostly possible to do this hiding of
auxiliary bindings with LET(REC(*)) or LET(REC)-SYNTAX, but this is
usually very awkward for large libraries since this is really not what
these primitives are meant for.

What I am trying to say is that modules are primarily for managing,
hiding, and exposing bindings, to build programs in a compositional
manner.  This is just as important if your system is interpreted.
This has nothing to do with separate compilation.

Scheme-reports mailing list