Re: [gambit-list] Module system ELS20 presentation John Cowan (27 Apr 2020 15:38 UTC)
Re: [gambit-list] Module system ELS20 presentation Marc Nieper-Wißkirchen (27 Apr 2020 15:54 UTC)
Scheme library namespace and library name mapping Lassi Kortela (27 Apr 2020 16:03 UTC)
Re: [gambit-list] Module system ELS20 presentation Marc Feeley (27 Apr 2020 16:38 UTC)
Re: [gambit-list] Module system ELS20 presentation Peter Bex (27 Apr 2020 16:14 UTC)
Re: [gambit-list] Module system ELS20 presentation Lassi Kortela (27 Apr 2020 16:27 UTC)
Re: [gambit-list] Module system ELS20 presentation Marc Feeley (27 Apr 2020 16:52 UTC)
Re: [gambit-list] Module system ELS20 presentation Lassi Kortela (27 Apr 2020 17:02 UTC)
Re: [gambit-list] Module system ELS20 presentation Matthew Flatt (27 Apr 2020 17:07 UTC)
Re: [gambit-list] Module system ELS20 presentation Marc Feeley (27 Apr 2020 17:14 UTC)
Re: [gambit-list] Module system ELS20 presentation Lassi Kortela (27 Apr 2020 17:17 UTC)
Re: [gambit-list] Module system ELS20 presentation Lassi Kortela (27 Apr 2020 16:15 UTC)
Re: [gambit-list] Module system ELS20 presentation Marc Nieper-Wißkirchen (27 Apr 2020 16:25 UTC)
Re: [gambit-list] Module system ELS20 presentation Lassi Kortela (27 Apr 2020 16:35 UTC)
(missing)
Re: [gambit-list] Module system ELS20 presentation Lassi Kortela (27 Apr 2020 19:11 UTC)
(missing)
Eiffel Lassi Kortela (27 Apr 2020 19:43 UTC)
(missing)
Re: [gambit-list] Eiffel Lassi Kortela (27 Apr 2020 20:02 UTC)

Re: [gambit-list] Module system ELS20 presentation Lassi Kortela 27 Apr 2020 19:11 UTC

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?