Pascal Bourguignon <spam@mouse-potato.com> wrote:
+---------------
| tfb@conquest.OCF.Berkeley.EDU (Thomas F. Burdick) writes:
| > You can for the most part happily ignore Unix and live in the Lisp
| > world only, but SBCL and CMUCL give you Alien and SAPs and signal
| > handlers, and bindings to things like fcntl, pipe, and dup. Classic
| > MCL similarly lets you either ignore the outside world, or directly
| > use the Mac Toolkit. All three let you have a Lispy variation of very
| > low-level programming for the system you're on. When you need to
| > address that low level, it's wonderful to be able to do it in Lisp.
|
| But my point, in reponse to Robbie, was exactly that this "modular"
| interfacing is a factor of the problem. Yes, we can interface with
| external resources. But this means a multiplication of dependencies
| and interface nodes, which increases the integration difficulties.
| Newbie users complain about it. If they want to do lisp, why do they
| have to fetch C library X, or C++ library Y, before being able to hack
| lisp and display a pixel in a window?
+---------------
You don't. CLISP, CMUCL, and SBCL all come with CLX (though possibly
in the "extra" or "src" tarballs), and there are several examples in
the CLX sources [e.g., in ".../cmucl/src/clx/demo/", in the CMUCL case)
of small GUI programs which display "Hello, world!" (or some other message)
in a window [the HELLO-WORLD function in "hello.lisp"] or demonstrate
pop-up menus [the POP-UP function in "menu.lisp"]. Note that these all
include event handling, such as exposures and "mouse-overs".
What's that, you say? CLX is *ugg-leee*?!? Well, yes, but that
wasn't the issue -- being able to put a pixel in a window was.
And with no C/C++ libraries to fetch, either. [Not even Xlib!]
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607