Revision of SRFI 68 available
Michael Sperber 14 Jun 2005 17:28 UTC
It's available at the usual place:
http://srfi.schemers.org/srfi-68
Here are the most important changes:
- The "byte" terminology was changed to adhere to SRFI 4 / SRFI 66.
- The various INPUT-xxx (and READ-xxx) procedures all return #f now.
(Instead of an empty octet vector or string.)
- OUTPUT-U8VECTOR-N and OUTPUT-STRING-N are gone; their functionality
is subsumed by OUTPUT-U8VECTOR and OUTPUT-STRING and optional
arguments.
- The procedures for opening files for output now accept a
file-options argument.
- Procedures for opening files simultaneously for input and output
were added.
- Output translation procedures are called upon close with #f as the
data object.
- A transcoding infrastructure was added to abstract over the details
of the translation procedures, and to provide common text encodings
and standard CR/LF translation.
- MAKE-I/O-BUFFER was added as a front end to MAKE-U8VECTOR.
- The ports layer and its specification were restructured in such a
way that they're usable and understandable without the two layers
below. This allows Scheme systems to implement only the ports
layer, or only the ports layer and the imperative layer. Moreover,
it allows Scheme systems to represent ports by something other than
reference cells to streams.
- MAKE-STANDARD-INPUT-STREAM, STANDARD-OUTPUT-STREAM, and
STANDARD-ERROR-STREAM were added to the streams layer.
- INPUT-U8VECTOR-N!, INPUT-STRING-N!, READ-U8VECTOR-N!, and
READ-STRING-N! were added.
- Some obviously forgotten procedures were added:
OPEN-WRITER-OUTPUT-STREAM, CALL-WITH-CURRENT-OUTPUT-STREAM,
CALL-WITH-CURRENT-ERROR-PORT, OUTPUT-PORT-BUFFER-MODE,
SET-OUTPUT-PORT-BUFFER-MODE!.
I hope y'all like the changes---I've mostly tried to follow the
suggestions people have made. (Which were very helpful so far---keep
'em coming!)
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla