[plt-scheme] SRFI-1 move to scheme/list?

From: Eli Barzilay (eli at barzilay.org)
Date: Sun Jan 20 10:42:48 EST 2008

On Jan 19, Noel Welsh wrote:
> On Jan 19, 2008 2:23 PM, Michael Sperber <sperber at deinprogramm.de> wrote:
> > If there are differences, and requiring (lib "1.ss" "srfi") gets you
> > procedures that aren't conformant with SRFI 1, that's a big problem.  I
> > recommend strongly against it.
> Agreed.  To clarify my suggestion is merely that scheme/list become
> more complete.  To me, complete means "does what SRFI-1 does with
> appropriate changes to match existing convention in scheme/list",
> but I am open to other definitions of complete, such as stealing
> from the R6RS list library, or the Haskell library, or
> Your-Favourite-Library-Here.

OK, I think that there's an alternative solution that works fine: a
require macro that allows you to do this:

  #lang scheme/base
  (require (overriding-in srfi/1 scheme/base scheme/list))

where the `overriding-in' macro arranges to not require identifiers
from earlier specs that appear in the following ones.  This makes the
above require grab things from srfi/1 that are not already in
`scheme/base' or `scheme/list'.  (`scheme/base' is therefore required
twice, but it's allowed if it comes from the same place.)

Then, work on extending `scheme/list' so that it includes more stuff,
and make it so that `srfi/1' is needed less overall.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the users mailing list.