[Top][All Lists]

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

Re: Merging Guile-R6RS-Libs in `master'

From: Julian Graham
Subject: Re: Merging Guile-R6RS-Libs in `master'
Date: Tue, 21 Apr 2009 17:45:08 -0400

Hi Ludovic,

Cool!  Thanks for doing this.

>     Modules could be called `(r6rs ...)', which would address the
>     version number problem, or even `(ice-9 ...)', which would make it
>     clear that the implementation is not R6RS-compliant but rather
>     "inspired" by R6RS APIs.

For what it's worth, I'd prefer the `(ice-9 ...)' approach, since, to
be fair, these are Guile modules, not R6RS libraries (which have some
specific differences in their export interfaces and the way they are
looked up / matched).

On a related note, have you had a chance to review the R6RS library
search mechanism I proposed a while back? [1]  Using that algorithm
(and going with the `ice-9' prefix), your modules could be wrapped
such that:

  * There would exist a library wrapper module called `(rnrs bytevectors)'

  * Loading this module would cause the library form for the R6RS
library `(rnrs bytevectors (6))' to be loaded (from, say, a file in
the same directory called "bytevectors.scm.6") and registered with the
R6RS library system.

  * This library would delegate to `(ice-9 rnrs bytevector)' and
re-export its bindings as required.

Does that make sense?  This way your module would be available both to
users of the Guile module and to users of R6RS libraries while
maintaining proper version semantics.


[1] -

reply via email to

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