Post by Alex ShinnI'd like to be able to install R7RS libraries for larceny with snow2
(distributed with chibi-scheme), which begs the question of where
to put them.
I could put them under $LARCENY_ROOT/lib/R7RS/, but in
general prefer a system-wide install, such as /usr/local/share/larceny/,
which would require users of snow with larceny to set LARCENY_LIBPATH.
I see two problems with expecting Larceny users to put things in
directories such as /usr/local/share/larceny:
* Windows machines don't have that directory.
* Users of Linux and Macintosh machines may not have permission
to add directories to /usr/local/share. For example, I don't
have permission to do that on one of the machines we're using
for nightly builds.
That's why binary distributions of Larceny are released in a self-contained
directory. Users who want to put the larceny script in /usr/local/bin can
do so if they have permission, editing one line to set LARCENY_ROOT, while
users who don't have the necessary permission or are using a Windows machine
can do whatever is appropriate for their situation.
Wherever you put the Snow-related directories, users could edit the
current-require-path initialized by startup.sch instead of setting
LARCENY_LIBPATH. There are several alternatives here.
If you're proposing libraries that should eventually ship as part
of Larceny, then some subdirectory of $LARCENY_ROOT/lib might be
the most appropriate place. You might create a new subdirectory
instead of using $LARCENY_ROOT/lib/R7RS/, which is intended to be
a directory that contains Larceny-specific implementations of the
R7RS standard libraries.
Will