Re: SRFI-59, SLIB, and SCHEME_LIBRARY_PATH Derick Eddington 09 Oct 2009 23:22 UTC

On Thu, 2009-10-08 at 07:02 +0300, Abdulaziz Ghuloum wrote:
> 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.

SRFI-59's reference implementation's SCHEME_LIBRARY_PATH can be only one
path, but this SRFI's can be multiple paths.  If something using
SRFI-59's gets a (semi)colon-separated sequence of paths, it will break
trying to use it as a single path.

> The whole idea of using "SCHEME_LIBRARY_PATH" is to say where your
> Scheme files are.

I agree, and I think it would be better if both SRFI-59/SLIB and this
SRFI could use it.  But that doesn't seem possible.

> >> 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.

Persuasive points.

> > 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).

Yeah, it needs to be something which will not require chasing-after
forever into the future.  Something that, if someone else thinks of
using it, the semantics should be compatible, because they should match
the name.

> 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.

Part of me is inclined to agree, but the other part doesn't want to
conflict with widely established SLIB.

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

I don't want the name to imply it's specific to a particular dialect of
Scheme, because this SRFI intends to possibly be used by other dialects.

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

I don't know what to do.  I invite more discussion/arguments/fights
about this and I'll arbitrate.

SCHEME_LIBRARY_SEARCH_PATH, SCHEME_LIB_PATH, or SCHEME_LIBRARY_PATHS,
or ??? could be used...

--
: Derick
----------------------------------------------------------------