Your stream proposal

To: Scott E. Fahlman <Fahlman at Cmu-20c>

Subject: Your stream proposal

From: MOON at SCRC-TENEX

Date: Tue, 10 Aug 1982 06:58:00 -0000

Cc: Common-Lisp at SU-AI

It really is unfortunate that the system of stream flavors in the Lisp
machine didn't get documented in the manual (being too recent), or it
would probably convince you that the language is sadly deficient if
it doesn't have flavors. For instance, in your proposal for user-defined
streams the user has to implement everything himself, which if Lisp machine
experience is any guide means that these streams will tend to be inefficient,
unreliable, and incompatible with standard streams in subtle ways, no matter
how experienced the user (or system programmer) is.
The family of stream flavors in the Lisp machine allows the user to interface
at various levels, providing character I/O or buffered block I/O with other
flavor components taking care of the rest. Mixins exist to turn on a variety
of features that one might need in a stream. This is of course almost a trivial
example of what can be done with flavors.