#Letter#
#solution to the pprint/gray-streams problem#
#usercode.lisp#
##
##
#gray-streams.lisp#
##
##
#streamfunctions#
##
##
#Stream.java#
##
##
#methods for stream-write-char etc., as allowed by Gray streams#
##
##
#slots in Stream structure-object#
##
##
#pprint.lisp#
##
##
#system stream slots#
##
##
#write-char#
#old-write-char#
#stream-write-char#
#binary-output#
#binary-output#
#binary-output#
#binary-output#
#write-char#
#binary-output#
#primitives move to here from Stream.java#
#gray-streams either calls a method
or a saved streamfunction#
#slots allow for dispatching#
#pprint creates wrapped streams, and sets slots
to contain closures that extract the underlying
stream and invoke Stream.java#
#system slots invoke Stream.java#
#Stream.java contains functions that are
overridden in extending Java classes, as before#