Email list hosting service & mailing list manager

Re: SRFI-59, SLIB, and SCHEME_LIBRARY_PATH Abdulaziz Ghuloum 08 Oct 2009 04:02 UTC

On Oct 7, 2009, at 11:23 PM, Derick Eddington wrote:

>> SRFI-59 and SLIB use the environment variable SCHEME_LIBRARY_PATH to
>> configure their single Scheme-source library directory.  If SRFI-103
>> appropriates SCHEME_LIBRARY_PATH for its use, it will cause SRFI-59
>> and SLIB supporting implementations (of which there are many) to
>> fail.

I'm not sure there is a conflict in practice if this SRFI uses the name
SCHEME_LIBRARY_PATH since the intersection of users/implementations that
use both R6RS and SLIB is practically 0.0.

Also, this SRFI specifies that files with extension ".sls" are used in
these paths.  So, if there's this one person in the world who might be
using both R6RS and SLIB, that person can still put both libraries and
SLIB files in the same place with no problems.

The whole idea of using "SCHEME_LIBRARY_PATH" is to say where your
Scheme files are.  It's not to say where my SLIB files or whatever
implementation's files go.  If your particular implementation needs
a configurable path, then you should say so.  PLT has PLT_COLLECTS,
Ikarus has IKARUS_LIBRARY_PATH, and so does most implementations.
SCHEME_LIBRARY_PATH is for files shared by all implementations of
Scheme that follow this SRFI.

>> Please don't adopt the environment variable SCHEME_LIBRARY_PATH.

I think SCHEME_LIBRARY_PATH adequately describes what this SRFI is
about and does NOT describe what SRFI-59 is about.  Plus, in that
SRFI, this name is only mentioned in the reference implementation
and is nowhere in the text.

> Okay, this SRFI will use a different environment variable name.
> Should
> it be SCHEME_PATH?  Or something else?  SCHEME_PATH, being shorter,
> seems even more prone to conflict with others choosing it.

Definitely not SCHEME_PATH because you don't want to go chasing after
everybody who comes after you and wants to use SCHEME_PATH (which is
Aubrey's situation here for picking a name that does not adequately
fit the purpose of that SRFI).

Frankly, the fact that SLIB did not use a proper name like SLIB_PATH
or SLIB_LIBRARY_PATH or SLIB_VICINITY_PATH or whatever doesn't change
much about what name this SRFI should use.

You can call it R6RS_LIBRARY_PATH but I won't be happy with it.

I would keep it as it is because SCHEME_LIBRARY_PATH is appropriate
for this SRFI.