4 ms·
Much of the memory in a Lisp program is in the form of CONS cells, so the MIT LISP machines had a compact way of encoding this. They also used tagged memory to
by jecel 1y ago
Much of the memory in a Lisp program is in the form of CONS cells, so the MIT LISP machines had a compact way of encoding this. They also used tagged memory to be able to handle the different kinds of data at runtime. They inherited a very stack-oriented execution model from the PDP-10 implementation of LISP. And they implemented very complex instructions using microcode.
The Symbolics people refined this approach while the LMI people kept the original design until nearly the end when they tried to do a RISC+tags:
http://fare.tunes.org/tmp/emergent/kmachine.htm http://fare.tunes.org/tmp/emergent/kmachine.htm
- amszmidt 1y agoWhile the Lisp Machine does use lists, the benefits of CDR coding were / are quite overblown. The Lisp Machine also used other data structures far heavier than lists. The Lisp Machine macroinstructions aren't that complicated, it is a basically stack based machine -- the most complicated thing was handling of the function arguments from Lisp (FEF); which has complicated semantics when it comes to handling optional, keywords, and what not arguments.
- deleted 1y ago[deleted]