[R6RS] Library / filesystem mapping

Michael Sperber sperber at informatik.uni-tuebingen.de
Fri May 18 04:44:29 EDT 2007

Anton van Straaten <anton at appsolutions.com> writes:

> 1. In order to support the distribution of portable libraries, since 
> <library name>s don't contain filenames, I assume that the document 
> should recommend a standard file extension which will be used to 
> construct a filename from a library name.  Are there any preferences 
> about whether the extension should, or shouldn't, be ".scm", ".ss", or 
> something else?

I have a slight preference for .scm, since it's what I'm used to.  I
don't really care.

> 2. It makes sense for the version number to be at or near the top of the 
> file hierarchy for a library, so that beneath each version number is a 
> tree containing only source for a single version.  I'm going with a 
> hierarchy beginning with "6/rnrs/...".  If anyone thinks it should be 
> "rnrs/6/...", or something else, please let me know.

I think the version numbers should be last.  The (6) in the rnrs
libraries means the same thing for all of them, but this is not the case
for others.  (Put another way, if you're blindly looking for a library,
the version number will be the last thing you know.)

> 3. I'm assuming that sub-version numbers should be encoded in the 
> filesystem using the typical period-separated approach, so that a 
> <version> of (3 4 5) would be contained in a directory named "3.4.5". 
> Whisper politely if you disagree; I haven't really thought through the 
> impact of this on version number matching yet.

I think that would be fine.

> 4. Libraries whose names contain certain special characters, such as 
> slashes, may need to have their filenames encoded.  An example is (rnrs 
> i/o simple (6)).  Of course, it's possible to cheat and use 
> "6/rnrs/i/o/simple", but I'm guessing that won't go over well.  However, 
> anything else seems likely to be icky, I'm open to suggestions.

I was going to suggest that we recommend that people only use library
names that can be encoded using vanilla filenames on typical platforms,
and not talk about the others.  Having screwed that up, I suggest
renaming i/o to io, and still making the recommendation.

Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

More information about the R6RS mailing list