From: Rudi Schlatte Date: Thu, 19 Jan 2006 15:15:07 +0000 (+0000) Subject: 0.9.8.45 X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=87943eed97130ec780966f4430cbd38e478b9b07;p=sbcl.git 0.9.8.45 Briefly document bivalent streams. --- diff --git a/doc/manual/streams.texinfo b/doc/manual/streams.texinfo index 8b16e90..b3a5af9 100644 --- a/doc/manual/streams.texinfo +++ b/doc/manual/streams.texinfo @@ -2,17 +2,47 @@ @comment node-name, next, previous, up @chapter Extensible Streams -SBCL supports @dfn{Gray streams}, user-overloadable CLOS classes whose -instances can be used as Lisp streams (e.g. passed as the first -argument to @code{format}). Additionally, the bundled contrib module -@dfn{sb-simple-streams} implements a subset of the Franz Allegro -simple-streams proposal. +SBCL supports various extensions of ANSI Common Lisp streams. + +@table @strong +@item Bivalent Streams +A type of stream that can read and write both @code{character} and +@code{(unsigned-byte 8)} values. + +@item Gray Streams +User-overloadable CLOS classes whose instances can be used as Lisp +streams (e.g. passed as the first argument to @code{format}). + +@item Simple Streams +The bundled contrib module @dfn{sb-simple-streams} implements a subset +of the Franz Allegro simple-streams proposal. + +@end table @menu +* Bivalent Streams:: * Gray Streams:: * Simple Streams:: @end menu +@node Bivalent Streams +@section Bivalent Streams + +A @dfn{bivalent stream} can be used to read and write both +@code{character} and @code{(unsigned-byte 8)} values. A bivalent +stream is created by calling @code{open} with the argument @code{:element-type +:default}. On such a stream, both binary and character data can be +read and written with the usual input and output functions. + +@c Horrible visual markup +@quotation +Streams are @emph{not} created bivalent by default for performance +reasons. Bivalent streams are incompatible with +@code{fast-read-char}, an internal optimization in sbcl's stream +machinery that bulk-converts octets to characters and implements a +fast path through @code{read-char}. +@end quotation + @node Gray Streams @section Gray Streams diff --git a/version.lisp-expr b/version.lisp-expr index 476138a..ec25c3e 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.9.8.44" +"0.9.8.45"