TextWriter

A TextWriter is a sort of character output stream. It implements the cycle detection and formatting capabilities in E's primary printing mechanisms, E#toString/1 and Miranda __printOn/1.

The TextWriter supplied to __printOn is invalid after __printOn returns.

? var stream := null ? def capturer { >  to __printOn(s :TextWriter) :void { >    s.print(" ") >    stream := s >   } > }
 * 1) value:

The particular problem might change, but anything but # stdout: Oops! is okay.

? stream.print("Oops!")
 * 1) problem: 