A Lisp machine is a universal computer whose architecture is optimized for efficient execution of Lisp programs.
Equivalent to (abstract) Turing machine (and ordinary personal computer ) by the criterion of polynomial reducibility .
Despite the fact that Lisp machines were never widespread (about 7 thousand units worldwide for 1988), many of the ideas and software technologies that are now common were first developed using Lisp machines, for example, those used in Xerox PARC Research Center implemented:
- garbage collection
- laser printing
- multi-window graphical user interface
- high resolution raster graphics
- rendering
- many network innovations.
Lisp machines provided ample opportunities for experimental development in the field of computer science . Based on the development of such machines, a new generation of engineering workstations was created.
History
In 1973, programmers at the Massachusetts Institute of Technology’s Artificial Intelligence Laboratory, Richard Greenblatt and Thomas Knight, began work on what later became the “MIT Lisp Machine Project”. Initially, it was a computer hardware adapted to perform some basic Lisp operations in a 24-bit tag architecture. It was unprofitable to process Lisp programs because the variables in Lisp are typed at runtime rather than at the compilation stage, and due to checks and branching, the usual addition of two variables could take up to five minutes on ordinary computers. The machine also performed sequential (called " Arena ") garbage collection . When testing in Lisp machines, more traditional methods were also used in parallel - if the simultaneous tests failed, then the result was reset and calculated again; in many cases, this meant acceleration. Such an approximation was also used in testing the boundaries of arrays and other operations related to memory management (not necessarily related to garbage collection or arrays).
Type checking was subsequently improved and automated when the traditional 32-bit machine word size was increased to 36 bits on Symbolics 3600 Lisp machines, and even up to 40 bits or more (usually redundant bits were used for error correction codes). In the first block of extra bits, the data type was stored (which made the tag architecture), and the remaining ones were used for CDR encoding (when ordinary elements in the linked list were compressed by about half), simplifying garbage collection by an order of magnitude. A further improvement was two instructions that specifically supported Lisp functions, reducing the cost of calling functions to 20 measures (in some Symbolics implementations).
The first machine in honor of the list design operator in Lisp was named CONS . Often it is incorrectly called the “Knight's machine,” possibly because Knight defended a dissertation on it. Its improved version - CADR - is based on roughly the same architecture. About 25 CADR prototypes were sold for about $ 50 thousand. It became popular among enthusiastic developers, and many popular programs were quickly ported to it (for example, Emacs in 1975 ). At a conference on artificial intelligence held by the Massachusetts Institute of Technology in 1978 , she was so well received that DARPA began funding its development.
At a certain stage of the exponential growth of computing power ( Moore's law ), hardware support for lambda calculus has lost its economic sense for consumer computers, and manufacturers of lisp machines have left the market.
Links
- Symbolics Lisp Machine Museum
- Newquist, Harvey. The Brain Makers. Sams Publishing, 1994. ISBN 0-672-30412-0