4 ms·
How is the architecture of a lisp machine different that "normal" computers. I did the first half of the NAND to Tetris course and thought it was super interest
by tocs3 1y ago
How is the architecture of a lisp machine different that "normal" computers. I did the first half of the NAND to Tetris course and thought it was super interesting. Since, I have been thinking about using the HDL from the course to play with other computing ideas (a turing machine, cellular automata, one instruction set computers). I have never really found anything about how a lisp machine would be different in terms of hardware though.
- jecel 1y agoMuch 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]