Re: whoa Derick Eddington 24 Sep 2009 17:36 UTC

Taylor Campbell wrote:

> I'm not keen on what has become the conventional mapping from library
> to nested directory structures in implementations of the R6RS, or for
> that matter with the R6RS's library system at all, but I have to say
> I'm pretty astonished by the immensity of this SRFI.

I don't think it's immense.  I don't think it's small either.  It's size
is proportional to the features and description I wanted it to have.
Most of the features in it are already available from R6RS systems.  It
standardizes them and addresses known issues with them, and it adds
qualities I think will be useful for building upon to programmatically
manage collections of library files.

I have a couple sizable collections of libraries, and I review others'
sizable collections.  I don't think I could have as effectively
organized and managed my collections, or as easily reviewed others',
without the compound library names and convention for hierarchical
organization of files.  I want to make and review more, possibly large,
collections, and I want automation tools for managing collections, and
this SRFI has a design I think I'd like to have.  I think this SRFI can
help promote creation and sharing of larger numbers of larger
collections.

> I expected, perhaps, a sentence such as the following to explain the
> entire specification, modulo details of term definitions:
>
> `A Scheme system keeps a list of directory pathnames called its search
> path, relative to which it looks in order for libraries' source code
> by mapping their component names to file names, mapping alphanumerics
> and hyphens to themselves, and mapping all other code points by
> percent-encoding.'
>
> Maybe there need to be a couple more sentences about an environment
> variable storing the search path, putting version numbers before the
> `.sls' suffix

If it were that small, it would lack features and qualities I want it to
have.

> (which is silly enough as it is -- what was wrong with
> `.scm', again?),

I, and I think others, like `.sls' because it distinguishes files
containing R6RS-like libraries from all other file types.  A distinct
extension allows identifying library files versus non-library files by
just the file name, without having to look in the file.  I use `.sps'
for R6RS programs.  I still use `.scm' for non-R6RS files (i.e. files
which are not R6RS-specific, such as R[45]RS code I run as R6RS code).

> and bumping the directory used to find a particular
> library up to the front of the search path when finding its imports so
> that it gets its neighbours if possible.

I don't think I'd like that.

> Anything more than that, I can't keep in my head when trying just to
> write Scheme code!

I don't think using it is as head-consuming as you're thinking.  You
probably have to become familiar with it, like any system.

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