Next: , Previous: Pathnames, Up: Top


10 Streams

Streams which read or write Lisp character data from or to the outside world – files, sockets or other external entities – require the specification of a conversion between the external, binary data and the Lisp characters. In ANSI Common Lisp, this is done by specifying the :external-format argument when the stream is created. The major information required is an encoding, specified by a keyword naming that encoding; however, it is also possible to specify refinements to that encoding as additional options to the external format designator.

In addition, SBCL supports various extensions of ANSI Common Lisp streams:

Bivalent Streams
A type of stream that can read and write both character and (unsigned-byte 8) values.
Gray Streams
User-overloadable CLOS classes whose instances can be used as Lisp streams (e.g. passed as the first argument to format).
Simple Streams
The bundled contrib module sb-simple-streams implements a subset of the Franz Allegro simple-streams proposal.