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

Revised draft of SRFI 103, 104

This page is part of the web mail archives of SRFI 104 from before July 7th, 2015. The new archives for SRFI 104 contain all messages, not just those from before July 7th, 2015.

A new revision of SRFI 103 and 104 is now available at:


The draft period has been extended an additional month (2010/01/11).

Here is a summary of the changes from the author:

----- SRFI 103 -----

Redesign to have a configurable sequence of searched-for file name

Remove the design for special Scheme-system-specific file name
extensions.  Now, system-specific files are accomplished by systems
including their specific extension in the sequence of extensions.

Now, any Scheme dialect with list-of-symbols library names can use this
SRFI.  Now, users can use whatever arbitrary extensions they want
(excluding the #\. character).  Now, the #\. character is not encoded.
Now, this SRFI is simplified and more useful.

Specify a standard file format (single library, first datum) and file
name extension (.r6rs-lib) for portable R6RS library files, and require
R6RS systems to implement this standard.

Rename R6RS_LIBRARY_PATH to SCHEME_LIB_PATH, because multiple dialects
can use this environment variable because they can avoid conflict by
using different file name extensions.

Add SCHEME_LIB_EXT environment variable which initializes the file name

Use the term "system" instead of "implementation" to refer to Scheme
systems, to avoid confusion with the other uses of "implementation".

Rework the document to be better.

----- SRFI 104 -----

Conform to the new revision of SRFI 103.

Remove implementation-name.

Add extensions parameter.

Rename search-paths-from-environment-variable to

Add extensions-from-env-var procedure.

The extension separator character #\. is not encoded, and it must not
occur in an extension.

library-name->path takes the extension to use, instead of an
implementation name.

library-file-path-info returns an 'extension pair in the a-list, instead
of an 'implementation pair.

library-file-path-info considers only well-formed library file paths to
be valid.  If characters are not encoded or are encoded but SRFI 103
says they should have been or not been, or if encoded characters'
alphabetic hexadecimal digits are not upper case, a path is not valid.
A path is not valid if its extension is not in the extensions parameter.

find-library-file-paths selects files with an extension in the
extensions parameter, instead of files with an "sls" extension or with a
special system-specific "sls" extension.

Remove support of versions and version references in library names and
library references.  Now, library names must be a non-empty list of
symbols, and library references are library names.

Use the term "system" instead of "implementation" to refer to Scheme
systems, to avoid confusion with the other uses of "implementation".

Rework the document to be better.

Some clean-up and reorganization of the reference implementation and