On Tue, 2010-01-05 at 14:13 -0600, Eduardo Cavazos wrote:

> The new document recommends the file extension 'r6rs-lib'. It also
> recommends 'ikarus-r6rs-lib' for Ikarus libraries.
> 
> So the SRFI is trying to support multiple dialects. There might also
> someday be R7RS and R8RS. There's already Chibi and Chicken which have
> their own library systems. So I guess your SRFI would call for
> 'chibi-lib' and 'chicken-lib' in those cases.
> 
> Let's say I keep my files in '~/scheme'. So '~/scheme/abc.sls' is the
> library '(abc)'
> 
> Is the idea that one can have multiple implementations of a library, one
> for each dialect? I.e. have:
> 
>     ~/scheme/abc.r6rs-lib
>     ~/scheme/abc.r7rs-lib
>     ~/scheme/abc.chibi-lib
> 
> so that various Scheme systems can find the appropriate library?

(Having different-dialect same-named libraries in the same directory is
an intentional ability of the new design.)

> If so, I'd like to mention that I wouldn't organize my libraries this
> way (multiple dialects in the same tree). I'd have instead separate
> library collections, one for each dialect.

(I also organize different dialects in separate trees.)

> Or is the SRFI trying to allow for Scheme systems which themselves
> support multiple dialects? 

(Such systems could utilize extensions which specify the dialect, to
know the dialect.)

The idea to have precise extensions, such as 'r6rs-lib', arose so
multiple dialects can all use the same "Scheme"-named environment
variable.  Otherwise, if the same extension is used, a file for one
dialect could shadow the file for another, e.g.:

  SCHEME_LIB_PATH=/dialect-a:/dialect-b

  /dialect-a/foo.extension
  /dialect-b/foo.extension

And then I realized it's an all-around better design.

I explained the motivations for the changes to the extensions design at
  http://srfi.schemers.org/srfi-103/mail-archive/msg00087.html

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

Reply via email to