[gambit-list] Module system ELS20 presentation

Lassi Kortela lassi at lassi.io
Mon Apr 27 15:11:36 EDT 2020


On 27.04.2020 21.56, Hendrik Boom wrote:
>> Good point. I'd advocate for standardizing a simple rewriting and filename
>> mapping engine to work around problems like this (which I believe will come
>> up no matter what kind of practical naming scheme we choose).
> 
> The progrmming language Eiffel has a module linking notation used to
> direct its compiler.
> 
> It recognised that modules get aggregated into packages, that packages
> get aggregated into larger packages and so forth.
> 
> Each level of this hierarchy can get name clashes.  So this notation
> has a mechanism to rename anything on import or export
> 
> The idea is that each complete program comes with such a file telling
> the compiler in what hierarchy all these modules are to be combined and
> be renamed and have their imports and exports renamed.
> 
> Presumably such a file can contain information where these modules and
> such can be found.
> 
> Presumably it can also be wrapped with instructions about finding these
> modules, perhaps even rewriting the URLs or module names.
> 
> I found this notation described near the end of one of the books
> describing Eiffel.  I no longer have access to this book, or I'd give yo
> a detailed reference.
> 
> But I suspect this mechanism shouls be considered when making similar
> decisions about Scheme.

Very valuable tip, thank you for writing it up!

The Eiffel site uses the term "cluster": "A group of related classes or, 
recursively, of related clusters." It says Eiffel projects have .ecf 
files that describe their configuration and dependencies. Here's one 
example: <http://seldoc.eecs.yorku.ca/doku.php/eiffel/faq/ecf>. Does 
this seem familiar to you?




More information about the Gambit-list mailing list