Dan Weinreb on NIL

(Here Dan Weinreb replies to Olin Shivers with a description of some of the extenuating factors in the history of NIL.)

You have to take into account who their user community was. The Macsyma people were a very large constituency. It was clear that high-speed bignums were way up there on the priority list -- NIL with slow bignums would be deemed a failure.

It would have helped them a lot if a lot of the people knowledgable about Lisp implementation had not been off working on Lisp machines instead of being part of the NIL team. They had very extensive requirements, including "do everything that Maclisp does at least as well as Maclisp does it", which was a tall order. The "quick and dirty prototype" path that Jonathan took with T was not considered suitable. (At least that's how I remember it, not that I was really involved directly with NIL...)

By the way, while we're talking history, let me mention that it took an *amazingly* long time for SETF to be invented. In retrospect, it's seems so simple and obvious. But the MIT Lisp community went through many generations of structure-macro-packages before SETF came along, at which point it was instantly obvious to everybody that SETF was the answer. (I'm not sure who invented it, but I'm pretty sure it was either Dave Moon or Alan Bawden.)

And nested backquotes flummoxed all of us for quite some time. Moon and I and Bawden had noticed that nesting backquotes just didn't work, but we didn't understand why. Finally Bawden groked it in all its fullness and discovered that actually it *did* work; our problem was that we had not yet discovered the ",'," construct.

So I hope this is encouraging for newcomers: although other (very smart) people have tramped all over the garden, it there may yet be still-undiscovered gems hiding under that next stone.