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.