News for hackers. Stuff that matters.
Re:Lisp CPU by nealabq on Tuesday June 24, 2014 @05:04PM (#7940636)
As I recall (and I may have some of this wrong) the Symbolics 3600 machines used a few extra bits to tag types like 32bit_int, 32bit_float, and pointer_to_object. And when operating on integers, the cpu would assume it had 32bit_ints and would raise a low-level signal to interrupt the operation if the operands were something else (like bignums).

There were also extra bits in each word for cdr-coding lists, which was a way to internally implement a list as an array.

There might have also been an extra bit for GC, maybe for mark-and-sweep.

There are no comments on this comment yet.