[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
buffered *standard-output* stream
- To: clisp-list@[129.13.115.2]
- Subject: buffered *standard-output* stream
- From: hoehle@zeus.gmd.de (Joerg Hoehle)
- Date: Mon, 17 Mar 1997 18:57:39 +0100
Hi,
just to mention that the patch I submitted some days ago basically
fixes the prompt problem and increases output speed from about five to
twenty times (disassemble, print). However, using it one soon starts
to notice that there could be many more calls to FINISH-OUTPUT (for
example, the message ";; loading ..." appears late, which remembers me
of similar problems with CMUCL).
I believe the whole trouble is due to the IMHO flawed (historical?)
Lisp paradigm of "terpri/fresh-line, then print", whereas the C like
"print, then terminate line" is much easier to deal with and
expandable with line-buffering techniques: programmers tend to know
when a line of output is not completed yet, and line-buffering is
easily understood and completely harmless in most circumstances.
That's not to say that I had sometimes wished a FRESH-LINE like
function in C.
For completeness: the #<TERMINAL-STREAM> is the only one in CLISP that
gets special "*read* CR/LF, thus set output column 0" treatment, thus
you'll get extra empty lines when using any other stream (e.g. a
buffered one or a separate window) for your keyboard interaction.
Enjoy,
Jo"rg Ho"hle.
Joerg.Hoehle@gmd.de http://zeus.gmd.de/~hoehle/amiga-clisp.html