[comp.sys.amiga] McCauley Software's Common LISP

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