[R6RS] Library syntax versioning

Michael Sperber sperber at informatik.uni-tuebingen.de
Wed May 10 10:17:43 EDT 2006

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

> The library syntax proposed by SRFI 83 includes the specifier
> "scheme://r6rs", which with the above change serves only to specify
> the version of the library syntax being used.  This is rather
> heavyweight for what it provides.

I don't think "heavyweight" is a problem, as this is primarily a
distribution mechanism.  In fact, one deficiency of SRFI 83 is that
this fact hasn't been obvious to many people on the mailing list, even
though it's been explained multiple times.  Moreover, as you point
out, your solution makes it difficult to make incompatible changes to
the syntax later, or to support completely different syntaxes.

I'd like to suggest an alternative, namely making explicit the notion
of a distribution format and going outside the traditional Scheme
syntax to make it work.  I think the simplest way would be to encode a
set of library modules as a MIME message with a header like so:

Content-Type: application/x-scheme; report-revision=6

There are some details to be worked out (like the
Content-Transfer-Encoding field), but that's mainly mechanics.  As a
consequence, the <language> specification would simply disappear from
the `library' form.

This also has some pleasant side benefits, such as being able to use a
set of library modules as an email message.  Moreover, MIME parsers in
Scheme abound.

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

More information about the R6RS mailing list