[net.lang.lisp] Spice Lisp

djz@spice.cs.cmu.edu.UUCP (06/24/86)

OK, Mr. Jacobs, so what's wrong with Spice Lisp?  Why do you keep emphasizing
the fact that lots of implementations are based on it?  You ask when a good
implementation of Common Lisp will come out that is not based on SPICE.
Why?  Why is it somehow a negative feature for an implementation to use some
of our code?  It is the existance of this public domain implementation that
has helped Common Lisp be as popular (and as "common") as it is now.  If
Spice Lisp were some shoddy hopelessly brain-damaged system, I could
understand your concern about people making use of the code, but this is
certainly not the case.  Did an experimental robot-taxi being programmed in
a Spice Lisp-based language run over your mother or something?

	Dan

P.S. I do not think you did Stan Sheb's message justice.  Why should all
your old UCI Lisp code run on Common Lisp without modification?  Problems
like the ones you described with MEMBER can be fixed with a single stroke of
a good text editor (change all "(MEMBER ....)" to "(MEMBER .... :test
#'equal)" or whatever).  And you can't get our of the definition of Real
Lisp that easily.  How do you look at a property list in RL?  PLIST (Franz
and MacLisp) or GETPROPLIST (InterLisp)?  How do you define a function?
Where is the definition stored?  In a function cell (InterLisp and Franz)?
On the property list (Maclisp)?  I don't buy your claim that there is
something called Real Lisp that represents some sort of consensus about what
functions should be called, etc.  If it really existed, Common Lisp (the
concept, not the actual language) would not have been necessary.
	I am reletively new to the Lisp world (I am proud to be the youngest
member of the Spice Lisp project by several years), so I am perhaps
insensitive to the problems of those who find that the language they once
knew and loved has now changed.  But I stand by most of what Shebs and
Hendrick said and I don't find your reply very satisfactory.  Shebs' point
about the confusion of having code run under certain scope rules when
interpreted and others when compiled is a good one, I think, and much pain
went into to keeping this sort of thing from happening in Common Lisp.
	If Shebs does not take the time to post again, defending his
original message (quite understandable, I think), I'll post a better
rebuttle.  It is only because he was able to make his points better than I
think I could have that I am not doing so now.

P.P.S. It's not as easy to bad mouth Common Lisp here as it was on Bix, is
it Jeff? (-:

jjacobs@well.UUCP (Jeffrey Jacobs) (06/26/86)

In <1022@spice.cs.cmu.edu>, Dan Zigmond write:

>OK, Mr. Jacobs, so what's wrong with Spice Lisp?  Why do you keep emphasizing
>the fact that lots of implementations are based on it?  You ask when a good
>implementation of Common Lisp will come out that is not based on SPICE.

There is absolutely nothing wrong with SPICE (as I  say in a very recent
followup).  The problem is that it is very difficult to start from scratch and
should NOT be.  One of LISP's strengths was the experimentation in
implementation, which is very costly now.  Who says SPICE is the best
way to go?  We may never know.  And SPICE isn't 100% Steele either
(ask your boss).

I'm not attacking you, your work or SPICE...

>P.S. I do not think you did Stan Sheb's message justice.

I generally don't even respond to personal attacks such as his.  If he hadn't
made some technical points, I wouldn't have bothered.

> Problems like the ones you described with MEMBER can be fixed
>  with a single stroke of a good text editor (change all "(MEMBER ....)" to 
 >"(MEMBER .... :test #'equal)" or whatever)

 Why should CL suddenly change years of training, textbooks, etc?  I
 don't claim there is a concensus (just the opposite); that's just a handy
 and provocative term I use.  I think it's generally bad practice to get
 the whole property list; you should only GET single properties.

 I think most of your points are addressed by some of my followups.

 Doesn't it bother anybody that by the end of the year there won't be a
 single major Expert System Shell written in LISP; they will ALL have
 been rewritten in C or something similar?

> P.P.S. It's not as easy to bad mouth Common Lisp here as it was on Bix, is
>it Jeff? (-:

BIX was the wrong audience; the only reason I put it there was because
you said your were going to be a "gateway" to ARPA-NET. :-)  I
didn't have access you USENET at the time...

-Jeffrey M. Jacobs, CONSART Systems Inc., Manhattan Beach CA
CIS:[75076,2603]
BIX:jeffjacobs

kempf@hplabsc.UUCP (Jim Kempf) (06/27/86)

In article <1022@spice.cs.cmu.edu>, djz@spice.cs.cmu.edu (Daniel Zigmond) writes:
> OK, Mr. Jacobs, so what's wrong with Spice Lisp?  Why do you keep emphasizing

Well, for one thing, some of the functions are pages and pages long.
An example is the AREF function. It runs to about 20 pages! From
the software engineering point of view, this is NOT the ideal situation.
		Jim Kempf	hplabs!kempf

marick@ccvaxa.UUCP (07/02/86)

>Well, for one thing, some of the functions [in Spice Lisp] are pages and 
>pages long. An example is the AREF function. It runs to about 20 pages! From
>the software engineering point of view, this is NOT the ideal situation.

I'm afraid that people will take this comment out of context and develop
rock-solid opinions about Spice Lisp.  People tend to do that, you know.

I know a lot about the source to Spice Lisp, since we use it in our Lisp.
That's my only connection with it, but I suppose it taints me -- since
defending Spice Lisp also defends our Lisp.

On the whole, I'd say that it's reasonable code.  Since it was written
by different people at different times, some parts are not as good as 
others.  Looking at the finished product, I can certainly see things
I would have done differently -- but that's true of almost every finished
product I look at, especially my own.

I find the code very readable and quite reasonably free of unisolated
machine dependencies, two things probably most important in an implementation
that's intended to be a "starter kit" for Lisps.  For comparison, I'd say
that Spice Lisp is superior to UNIX in these regards.

Scott Fahlman, Skef Wholey, Rob MacLachlan, and the other people involved
in Spice Lisp have done a lot of work that they didn't have to do.
Their efforts will play a large part in the success of Common Lisp;
those of us who think Common Lisp is a good thing owe them thanks.

By the way, AREF runs to 23 lines.  There are other functions that are
much longer, but I doubt whether any runs to 20 pages.


Brian Marick, Wombat Consort
Gould Computer Systems -- Urbana
...ihnp4!uiucdcs!ccvaxa!marick
ARPA:  Marick@GSWD-VMS