[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