[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New drafts of SRFIs 13 and 14 are available.



Hooray, srfi.schemers.org is back on the air!

Notes on the drafts appear below. Mostly I have been hacking the
implementations. I have no further changes to make. The material will be
available as a draft for a week of review, and then I'm declaring it done.

The new material is at
    ftp://ftp.ai.mit.edu/people/shivers/srfi/13/
    ftp://ftp.ai.mit.edu/people/shivers/srfi/13/string-lib.txt
    ftp://ftp.ai.mit.edu/people/shivers/srfi/13/string-lib.scm
    ftp://ftp.ai.mit.edu/people/shivers/srfi/13/string-package.scm

    ftp://ftp.ai.mit.edu/people/shivers/srfi/14/
    ftp://ftp.ai.mit.edu/people/shivers/srfi/14/cset-lib.txt
    ftp://ftp.ai.mit.edu/people/shivers/srfi/14/cset-lib.scm
    ftp://ftp.ai.mit.edu/people/shivers/srfi/14/cset-package.scm
    ftp://ftp.ai.mit.edu/people/shivers/srfi/14/cset-tests.scm

Mike Sperber will move things over to the SRFI site at his usual
lightning pace.
    -Olin

-------------------------------------------------------------------------------
Both SRFIs:

I have added text to both specs stating that when a function is said to
return "unspecified" values, that means that not only the value is
unspecified, but even the *number* of values returned is unspecified.
Basically, if it says "-> unspecified", count on nothing.

-------------------------------------------------------------------------------
SRFI 14 (character sets) has changed slightly:
- CHAR-SET-MEMBERS has been renamed CHAR-SET->LIST,
  which complements the existing LIST->CHAR-SET.

- Similarly, STRING->CHAR-SET is now paired with the
  new CHAR-SET->STRING function.

- I fixed a small bug in the definition of CHAR-SET:WHITESPACE.

- I have specified that the pure-functional set ops must return sets that are
  distinct from the parameter sets with respect to linear updates. So, for
  example, if we invoke CHAR-SET-UNION with only a single argument, e.g.
    (define cset2 (char-set-union cset1))
  then passing CSET2 to a linear-update operation will not cause CSET1 to
  be altered.

- I have written a regression-testng suite for the library.

- I have rewritten the reference implementation.

- I have written a module spec for the library in the Scheme 48 module
  language, include detailed typings of the procedures in the Scheme 48
  type language.

-------------------------------------------------------------------------------
SRFI-13 (string library) has also changed slightly:

- I've added a 
    (string-for-each-index proc s [start end]) -> unspecified
  procedure, which does the obvious thing. This turns out to be
  really handy.

- I've brought the reference implementation into compliance with the
  spec. 

- String equality & inequality procs now have eq? & length-based fast
  paths in the reference implementation, as requested by Dan Bornstein.