Vassil Nikolov <firstname.lastname@example.org> wrote:
| email@example.com (Timofei Shatrov) said:
| | ...a little REPL ... some pretty annoying problems.
| There are many ways to skin this proverbial cat, and they vary a lot...
| One extreme, for example, _might_ be to call READ-LINE and then
| READ-FROM-STRING instead of READ...
Timofei, what Vassil is obliquely trying to tell you is that
your "problem" has more to do with the terminal driver on your
system and less to do with Common Lisp or CLISP per se [except
that CLISP uses GNU "readline()", which is a separate can of worms].
If you ran some other CL's normal REPL in an environment with
terminal line buffering turned off (e.g., "stty -icanon" on most
Unix systems) you'll get exactly the same "annoying problems"
you're seeing with your application: type in "(+ 1 2) " [that is,
#\( #\+ #\1 #\2 #\) #\Space] and the REPL *immediately* prints "3
" [that is, #\3 #\newline], without waiting for you to type a
This may also prove helpful:
Ambitious Evaluation: A New Reading of an Old Issue
Rob Warnock <firstname.lastname@example.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607