chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] r7rs modules


From: Felix
Subject: Re: [Chicken-hackers] r7rs modules
Date: Sun, 11 Nov 2012 16:53:02 +0100 (CET)

> 
> I think the Right Thing is to internally translate "(foo bar)" into
> "foo-bar".

I totally agree with John here. 

I think it is crucial not to start breaking everything and messing
with the (already way too complex) module system we have - it works
(most of the time). Let try to avoid changing our current module
syntax.  The R7RS folks already went to great lengths to use a
currently unused name for library definitions, so we should take
advantage of this.

Generally, I think R7RS support should be put into an egg, with an
R7RS compliant "import" (the existing one can then be accessed using
"(import (prefix (only chicken import) c:))" or something similarly
awkward. But it would not even be necessary for existing eggs.
Chicken-style modules could freely access R7RS-style modules using the
single-word-module-name (see below).

The core system would only be modified to provide what is
absolutely necessary, including semantic changes to existing
definitions. 

> 
> An alternative would be to treat "(foo bar)" as a module named
> foo/bar, in which case it would be loaded from a subdirectory.

Subdirectories only add complications (egg-installation and filesystem
layout). What about something like "(foo goo bar-baz)" ->
"foo~goo~bar-baz"? (or "foo.goo.bar-baz"?)


cheers,
felix



reply via email to

[Prev in Thread] Current Thread [Next in Thread]