Ray Dillinger <email@example.com> wrote:
| Still, let's say I want something that's simple, but outside
| the standard, such as cursor control on a character-based
| interface (the "curses" library in UNIX).
| This requires operating system calls, and therefore cannot
| be implemented using the functions given in the standard.
The only operating system calls this requires are two "ioctl()" calls:
one to turn off/on echoing of input and one to switch between line-
oriented and character-oriented input ("cbreak") [and even that makes
sense only on Unix-like systems, and is *NOT* even portable across all
of those (BSD-style vs. System-V-style, for example)]. Everything else
can be done just fine entirely within Common Lisp.
However, as Mathew Danish pointed out in a parallel reply, rather than
re-implement "curses" in Lisp, what most people do is just use some FFI
(such as UFFI or CMUCL's "alien") to call out to a C library version of
Rob Warnock <firstname.lastname@example.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607