[R6RS] Modules

Manuel Serrano Manuel.Serrano
Fri Nov 12 02:25:59 EST 2004

Kent> - Implicit export declarations should always be required, for reasons
Kent>   I've already stated.
I agree with you on that.

Kent> - While I don't mind including support for separate interfaces, they
Kent>   should not be required.
I don't think that I said anything about "separate interfaces". I just said 
that I dislike closed module forms because they waste some characters in left
columns. I just said that I found not so nice to pretty print code with
blank left columns.

Kent> - While I don't mind including support for type declarations, they
Kent>   should not be required.
Another disagreement. Actually writing this, I realize that I do want types 
information because I do want separate compilation. I agree that if you 
drop separate compilation you don't need to put to much in the provide 
clauses anymore (you can access the information in the module itself). Just 
a set of identifiers is fine. (BTW, if we create forms that define types, 
will we have two spaces of identifiers: one for values and one for types?)
Event if you have preferred to put more information on the PROVIDE forms, 
I'm ready to compromise on that.

Kent> - There should be a standard way for a require forms to specify where to
Kent>   look for implementations of the required modules.  A portable Scheme
Kent>   source file (e.g., shell script) should be just as easy to write as,
Kent>   say, a Perl script, and should not require any external configuration
Kent>   file to tell the implementation where to find required modules.
Kent>   In particular, there should be a way to specify pathnames that are
Kent>   relative to the current directory and pathnames that are relative to
Kent>   some installation-specific set of library directories.
We have a strong disagreement here. We can't envision now what the future
of r6rs implementations will be. Let's keep the door for various 
implementation open. For instance, let's enable implementations that 
are based files, implementations that are based on data-bases for storing/
retrieving/invoking functions, etc, etc.

Kent> * For those who favor separate configuration information, what do you
Kent>   anticipate a Scheme shell script that requires one or more portable
Kent>   modules will look like?  Will all scripts have to have separate
Kent>   configuration and/or Make files?
I think that it is "easy" to design a system where a 1 module program does
not need any external configuration.


More information about the R6RS mailing list