Fri Aug 27 09:42:19 EDT 2004
I'm just back from PPDP and I'm trying to catch up with the discussion one
modules. Here is a first bunch of remarks (sorry if they come too late)...
> Now, I believe Richard, Manuel and I have presented rationales for:
> - allowing several module definitions in one file
No. I don't. The module system which is implemented in Bigloo
(http://www-sop.inria.fr/mimosa/fp/Bigloo/doc/bigloo-4.html) does not allow
several modules per file. It is the strict opposite. It enables a module
to be split over several files but a file cannot contain more than one module.
I'm lost so I don't know who wrote this:
> * Are module exports settable by the exporting module and/or importing
> module? (I prefer that modules be used to control scope, not mutation
> policy, so I would say that variables are settable. one can always
> export accessors/setters for hidden exports to obtain finer control.)
> Incidentally, I don't object to including a mechanism for creating
> immutable variable bindings. I just prefer that it be separate.
Let me comment on these two points:
I think that the module system should help the compiler doing a good
job, even with separate compilation. If it is impossible to specify
that a variable is a actually a constant and that it is bound to a
value of a certain type (e.g., a function accepting exactly three
arguments), I'm afraid that the performance penalty for using modules
will be high. In other words, if we are not careful enough the module
system can jeopardize the performance of the new language we are
trying to build...
> That is unfortunate, and it may be that we just don't understand your
> point of view, much as I didn't understand some of Matthew's until we
> spoke. Perhaps we'll have better luck when we meet in person. Email is
> great, but it's often a poor substitute for interactive communication.
Ohhh *YES*. Trust my words: trying to understand the modules thread with
a delay of 3~4 days is a true puzzle...
More information about the R6RS