art@teach.dec.com (Think the UNTHINKABLE) (12/18/88)
[Eat Teflon, line-eater.......] For the past few months, McCauley Software of Houston, Texas has been advertising a Common LISP interpreter in AmigaWhirled. This article is one man's opinion of that product. To begin with, I think calling this thing an implementation of Common LISP is pushing it a bit. The author has taken many liberties with the language definition specified in Steele's "Common LISP the Language" (CLtL). In addition, the implementation suffers from various limitations and inconsistencies that make it useless for anything but the most elementary purposes. For example: 1) (DEFUN ...) doesn't support the use of &KEY, &OPTIONAL, or &REST. 2) (DEFVAR ...) is not part of the language; indeed, special variables of any kind seem to be missing altogether. This lack of special variables also extends to the complete absence of any of the system variables defined in CLtL. 3) (DEFSTRUCT...) isn't supported; neither are HASH-TABLEs. Irritatingly, McCauley's LISP doesn't even have a (GENSYM...) capability. 4) The READer is extremely limited: no read-macro characters , in fact no notion of access to the READ-TABLE at all. 5) CAR and CDR are defined, but CxxxxxR compositions (CADR, CADDR, etc) have to be hand-defined as macro's; they're not there automatically. 6) The syntax of various functions is funny sometimes. For example, the (LOAD...) command ONLY accepts things of the form (LOAD 'filename), not (LOAD "filename") as it is described in CLtL. Even within itself, this interpreter is inconsistent, however, because while LOAD takes (LOAD 'file), the call to the editor looks like: (ED "filename") !! 7) Error recovery seems flakey: a stack overflow is supposed to give a message and then exit; instead, it gives the message, begins dumping TONS of garbage to the screen (I suspect it's a dump of the whole stack or something -- that isn't documented anywhere), and then it exits. With a stack on the order of 50K bytes, it's easier to reboot than wait for it. 8) It should come as no surprize that there is no interface with any Amiga system routines. 9) And finally there's the documentation. It covers all the functions adequately, but there's no index; since some of the functions are described in the reference section and others in the tutorial, it is difficult to find things at times. Also, I spent a lot of time looking for a list of the special system variables used by this implementation, until I realized that there aren't any ! All in all, I think this is a pretty useless piece of software; it looks more like someone's senior-year project than a commercial product. They're charging $70 for it; it might be worth $25 if you knew nothing about LISP and you just wanted a toy interpreter to get started with. On the other hand, XLISP is available in public domain and it DOES have many of the features of a real LISP implementation. So, fellow LISPers, our favorite computer is still without any kind of decent LISP software. Oh well, maybe next year... Art Baker Working for, but in no way expressing the opinions of, Digital Equipment Corp.
hugh@censor.UUCP (Hugh Gamble) (12/18/88)
XLISP is the nicest subset of Common LISP I've seen. Most "commercial" LISPs I've seen for micros can't match it. And of course with the source code available, you can always touch up anything you don't like. I'm planning to port some version of Kyoto Common LISP to the Amiga. Don't count on running it unless you have at *least* 3 Meg RAM and a hard disk, it won't be a stripped down version. How I will make it available is still undetermined. Maybe I should write a 3D arcade game in LISP and bundle it in on copy protected floppies :^) -- Hugh D. Gamble (416) 581-4354 {lsuc, utzoo}!censor!hugh (Std. Disclaimers) I can push any computer to its limits. Any computer can push me to *my* limits.
pmy@vivaldi.acc.virginia.edu (Pete Yadlowsky) (12/19/88)
In article <8812171629.AA04383@decwrl.dec.com> art@teach.dec.com (Think the UNTHINKABLE) writes: [ stuff about lousy lisp interpreter ] > All in all, I think this is a pretty useless piece of software; [...] > On the other hand, XLISP is available in public domain and it DOES > have many of the features of a real LISP implementation. > So, fellow LISPers, our favorite computer is still without any kind > of decent LISP software. Maybe I don't know what a "decent" Lisp environment is, as I haven't been exposed to very many of them. KCL is the biggest I've used. However, I think XLisp is kinda nice, especially considering it's PD. I've been in contact with its author, Dave Betz, and expressed my interest in fitting XLisp with hooks to Amiga .libraries. He's sending me the source. Stay tuned. I'm considering using the FD file mechanism. Any alternate or additional suggestions? Peter M. Yadlowsky Academic Computing Center University of Virginia pmy@vivaldi.acc.Virginia.EDU