Content deleted Content added
«188 words changed» adding in a gabriel reference; fmt; cpedit |
|||
Line 1:
{{dablink|This is about the programming
'''NIL''' was
==History==
The [[Lisp (programming language)|Lisp]] language was invented in [[1958]] by [[John McCarthy (computer scientist)|John McCarthy]] while he was at [[Massachusetts Institute of Technology|MIT]]<ref>{{cite web|title=History of LISP|author=Paul McJones|url=http://community.computerhistory.org/scc/projects/LISP/|accessdate=2006-10-12}}</ref>. From its inception, Lisp was closely connected with the [[artificial intelligence]] research community, especially on [[PDP-10]]<ref>The 36-bit word size of the [[PDP-6]]/[[PDP-10]] was influenced by the usefulness of having two Lisp 18-bit pointers in a single word.
Partly because of [[garbage collection (computer science)|garbage collection]] (NIL would use stop-and-copy garbage collection of its single [[Heap (data structure)|heap]] for [[Dynamic memory allocation|memory allocation]]<ref name="gabriel"/>)and partly because of its representation of internal structures, Lisp became difficult to run on the memory-limited stock hardware of the day.
NIl was an implementation of [[Lisp]] developed at [[MIT]] in the mid to late 1970s, and intended to be
| last = Gabriel
| first = Richard P.
| title = Performance and evaluation of Lisp systems
| publisher = [[MIT Press]]; Computer Systems Series
| url = http://www.dreamsongs.com/NewFiles/Timrep.pdf
| date = May 1985
| id = ISBN 0-262-07093-6; LCCN: 85-15161}} <!-- xiv, 285 p. ; 23 cm. Cambridge, Mass. --></ref> Since the users of the [[Macsyma]] program represented a large potential user base for NIL, it was necessary that NIL would be a large, complex system, and that speed would be imperative. For example high-speed [[bignum]]s was a requirement to support Macsyma, since NIL would be a failure with slow bignums.<ref>{{cite web | title=Dan Weinreb on NIL| url=http://www.paulgraham.com/weinreb.html|accessdate=2006-10-12}}</ref> Consequently NIL ended up with a large base of VAX assembly language. These requirements led to a very aggressive and complex optimization strategy which was applied prematurely, with negative results on the final system.<ref name=SHIVERS>{{cite web | title=History of T | author=Olin Shivers | url=http://www.paulgraham.com/thist.html | accessdate=2006-10-12}}</ref>
Concurrently with the effort to write NIL, a research group at [[Stanford University]] and
[[Lawrence Livermore National Laboratory]] headed by [[Richard P. Gabriel]] were investigating the design of a Lisp to run on the S-1 Mark IIA supercomputer
Although not
==Quotes about NIL==
Line 20 ⟶ 27:
==References==
<!--<nowiki>
</nowiki>-->
{{FootnotesSmall|resize=92%}}
==
* Brent T. Hailpern and Bruce L. Hitson. S-1 Architecture Manual. Technical Report 161 (STAN-CS-79-715), Department of Electrical Engineering, Stanford University, January 1979.
* G. Burke. Introduction to NIL. Laboratory for Computer Science, Massachusetts Institute of Technology, March 1983.
Line 34 ⟶ 41:
* Steven Correll. S-1 uniprocessor architecture (sma-4). Volume I, Chapter 4, The S-1 Project 1979 Annual Report, Lawrence Livermore Laboratory, Livermore, California, 1979.
* Jon L. White. Nil: A perspective. Proceedings of 1979 Macsyma Users' Conference, Washington, D.C., June 1979.
* Rodney A. Brooks, Richard P. Gabriel, and Guy L. Steele Jr. S-1 Common Lisp Implementation. Proceedings of the 1982 ACM symposium on LISP and functional programming, Pittsburgh, 1982, pages
* Rodney A. Brooks, Richard P. Gabriel, and Guy L. Steele Jr. An optimizing compiler for a lexically scoped LISP. Proceedings of the 1982 Symposium on Compiler Construction, Boston, June 1982, pages 261-275. ACM DL
* Mark Smotherman. S-1 Supercomputer (1975-1988). Web site, last updated April 24, 2004. http://www.cs.clemson.edu/~mark/s1.html
|