Hacker News new | ask | show | jobs
by emeraldd 4289 days ago
I'd really like to see the full ISA, etc for the chip. A few years ago, I was doing research on building a byte code based vm after working through Peter Michaux "Scheme From Scratch" http://peter.michaux.ca/articles/scheme-from-scratch-introdu.... (I highly recommend running through his code, but do the GC earlier, it's easier to get it from the start than to try to add it.) I couldn't find anything online listing the kinds of instructions you'd want in a lisp chip.
2 comments

there's something similar done before, Lisp machines in FPGA [0] [1].

[0] http://www.frank-buss.de/lispcpu/ [1] http://www.aviduratas.de/lisp/lispmfpga/

There are a few PDFs with the original Lisp Machine ISA, if I am not mistaken.

I will have a look when back at home.

The original Lisp Machines were conventional machines with hardware features like tagged pointers that let them execute Lisp more quickly. I'm under the impression that the machine in the article is far more radical.
They were not that conventional. The first Lisp Machines were using micro-coded processors with special instruction sets tailored for compiled and interpreted Lisp.

* tagged architecture

* stack-oriented architecture with large stack buffers

* hardware assisted GC

* support for generic Lisp operators. For example a simple + operator.

* support for basic Lisp data structures like cons cells

The result is that Lisp programs compile to very compact machine code.

I'm guessing that by "far more radical" the GP meant "directly evals s-expressions." Especially since, IIRC, that's how PicoLisp works. I don't think there is much benefit to that approach over simpler register machines, but it's an interesting idea at least.
If you mean the LMI Lisp machine: http://bitsavers.trailing-edge.com/pdf/lmi/

There's significantly more for the TI Explorer Lisp machine: http://bitsavers.trailing-edge.com/pdf/ti/explorer/

And even more for Symbolics: http://bitsavers.trailing-edge.com/pdf/symbolics/

Xerox did a Lisp machine line: http://bitsavers.trailing-edge.com/pdf/xerox/interlisp/

There's a working emulator for the MIT CADR: http://www.unlambda.com/cadr/index.html

And you can of course run Genera in an emulator: http://www.unlambda.com/download/genera/

There's a semi working TI explorer emu: http://www.unlambda.com/lispm/

There is an emulator for the Xerox machines.

There is a working TI explorer emulator: http://www.unlambda.com/index.php?n=Main.Meroko

An updated version of the MIT CADR emulator: http://trac.common-lisp.net/mit-cadr/browser/

Source trees for the LMI and TI machines are also on the web.

> Source trees for the LMI and TI machines are also on the web.

Without usable licenses.

I have been told that TI have given formal permission to redistribute their code, I will chase up the person who got hold of it to get it properly labelled.

The LMI stuff is more interesting to me as it is complete, I'm still a fair bit of work away from being able to build it though. I have spoken with RG about it but we didn't discuss the licence.

Texas Instruments sold their computer systems division at the start of the 1990s. I've read that that sale did not include the Explorer copyrights.

At the start of 2011 I got in touch with Robby Holland, then the head of TI's patent licensing division. Holland could not find anything about the computer systems division, or anything about the sale, or whether they owned the rights anymore. They did not have any of the project materials on hand. Holland said he would have someone look into the archives. When I tried to get in touch with him a few months later Holland was no longer with Texas Instruments.

There is an extremely large amount of TI Explorer code with lots of later stuff written by TI:

https://archive.org/details/ti-explorer

No usable license so far.

Yes that was it.