Reference Implementation: trimmed/lazy, wrapped/char and the output state variable
Marc Nieper-WiÃkirchen 16 Feb 2019 11:00 UTC
In the reference implementation, the state variable "output" is
changed locally in the procedures "trimmed/lazy", "wrapped/char",
"upcased" and "downcased". The original version of "output" is saved
and called by the modified version of "output".
This does not yield the correct behavior in all cases as in the
following example:
(fn ((o output))
(sequence
(with! (output (make-my-output o)))
(wrapped/char (sequence FMT1 (with! (output o)) FMT2)))