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

New drafts of SRFIs 13 and 14 are available.

This page is part of the web mail archives of SRFI 13 from before July 7th, 2015. The new archives for SRFI 13 contain all messages, not just those from before July 7th, 2015.



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.