[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Proposal for a module system
Recently I wrote up some ideas aimed at a module system for Scheme.
The paper containing this proposal can be found in either the new or
the old Scheme repository under doc/blume-mod.ps.Z:
ftp://cs.indiana.edu/pub/scheme-repository/doc/blume-mod.ps.Z
ftp://nexus.yorku.ca/pub/scheme/doc/blume-mod.ps.Z
The title of the paper is:
``Separate Compilation for Scheme''
I would like to discuss the ideas outlined in the paper with everybody
who might be interested.
Here is the abstract:
----
This paper presents the outline of a module system for the Scheme
programming language in order to solve several problems commonly
encountered with contemporary implementations. These problems include
the lack of support for separate compilation and cross-module type
checking as well as the necessity for non-standard language extensions
to aid certain compiler optimizations like open compilation and
procedure in-lining.
Even though Scheme needs to be augmented with concepts like modules,
types, and signatures, this will not change the spirit of the language
in a major way. Instead it turns out that other recent additions to
the language interact smoothly with the proposed module system.
It will be emphasized that it is necessary to make a clean distinction
between syntactic definitions and value definition - reflected by a
textual separation of modules and their signatures.
----
Note: There is *no* implementation, yet. I would like to craft one
for VSCM, but at the moment I cannot spare that much time for
something, which isn't exactly my mainstream research here at
Princeton anymore. Furthermore, I intensionally did not go into too
much detail with the type system, because I feel that this particular
area would have to be coordinated with existing ``soft type''
inference mechanisms. This is one more reason why I think feedback is
necessary.
I hope I'll here from you...
Thanks
-Matthias
PS: Don't feel repelled by the word ``type'' -- it's not as bad as you
may think it is... :-)