chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] r7rs modules


From: Ivan Raikov
Subject: Re: [Chicken-hackers] r7rs modules
Date: Mon, 12 Nov 2012 08:51:32 +0900

I also agree that any changes to the module system should be avoided or be minimally invasive. I really want to start using functors, any mucking around with the module system might destabilize things again.

  It seems to me that the dash-renaming scheme of r7rs module names will work in all important cases. If there are library authors obtuse enough to create libraries (foo bar-baz) and (foo-bar baz), perhaps a custom renaming map could be used, but I don't think this would be something we need to worry about a lot.

  Ivan
 

On Nov 12, 2012 12:56 AM, "Felix" <address@hidden> wrote:
>
> 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

_______________________________________________
Chicken-hackers mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

reply via email to

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