Path: utzoo!utgpu!water!watmath!clyde!rutgers!aramis.rutgers.edu!athos.rutgers.edu!hedrick
From: hedrick@athos.rutgers.edu (Charles Hedrick)
Newsgroups: comp.lang.lisp
Subject: Re: FORTRAN,ADA
Message-ID: <453@athos.rutgers.edu>
Date: 17 Dec 87 21:14:11 GMT
References: <4732@well.UUCP> <525@PT.CS.CMU.EDU>
Organization: Rutgers Univ., New Brunswick, N.J.
Lines: 50

>I imagine that JJacobs wasn't around when the initial design of Common
>Lisp was going on over the ARPAnet, and I'm sure he wasn't at either of
>the two face-to-face meetings.  I'll bet that he hasn't even read any

Well, I was around.  I participated in the distributed committee,
including the votes, and I was at one of the meetings.  I believe
JJacobs' description of the process has a certain basis in fact, but
that the result was inevitable given the goals that CL was intended to
meet.  It is true that many people suggested features.  On a number of
occasions I tried to get people to simplify the language, and found
that it was *much* easier to get a feature added than to get one
removed.  I was a voice crying in the wilderness, aided only by the
folks at Utah now and then.  Like Jacobs, I also heard comments in
private suggesting that threats of withdrawl from the project had been
used to keep features in the language.  Knowing this sort of thing, I
doubt that there were really any overt threats, just signs that people
whose influence was crucial to the project would likely become much
less enthusiastic if the language wasn't a reasonably large subset of
LM Lisp.

Despite all of these things, I think the image of CL as a union of
features drawn from a bunch of random users is simply not right.  It
was intended from the start to begin with existing dialects of
Maclisp, including Lisp Machine Lisp, and to provide something that
was sort of like an intersection, but cleaned up and made consistent.
It is in fact reasonably consistent.  The main design issue was how
close it should be to LM lisp in size.  I believed (and still believe)
that LM lisp is a monster, and that CL should not use it as a model.
However LM lisp was very influential within the Maclisp community at
the time, and after all CL was supposed to represent the concensus of
the Maclisp community as to what a base Lisp should look like.  In
this context, it was perfectly reasonable for people to have believed
that the language should be on the same scale as LM Lisp, and one need
not imply that nefarious motivations were involved.  I happen to think
that they were wrong.  I'd like to see a Lisp which is practical to
use for things other than large AI programs running on huge machines.
I am simply offended by a language of this size.  But CL did achieve
its goal, and it's not clear that reducing the number of people
involved in its design would have made it much smaller.  As long as
there was a concensus among the Maclisp community that they wanted a
substantial subset of LM Lisp, the result was bound to have been on
the same scale as CL.  From the beginning, almost all of the community
involved in the design wanted a big lisp.  It didn't get there feature
by feature, with people stepping back in shock when they saw how it
ended up.  There were explicit discussions about size, and people said
that they would rather have all the functions that are commonly used
present, so people didn't constantly have to reinvent them.  Guy may
have been picked because he had previously designed a small, elegant,
Lisp, but he was given the job of coordinating the design of a big
Lisp.