Brad Parker has announced a working emulator for the MIT CADR Lisp Machine. The CADR used a microcode which was designed to run an early version of MacLisp. Many things are working, including ZMacs, its version of Emacs.
Brad Parker has announced a working emulator for the MIT CADR Lisp Machine. The CADR used a microcode which was designed to run an early version of MacLisp. Many things are working, including ZMacs, its version of Emacs.
I am downloading it right now to see how it is.
this thing was a very interesting machine. modern CPUs should have microcode for general purpose functional language performance.
There are a lot of things to be learned by studying the computing systems of the past. Lisp is simply amazing.
http://www.findinglisp.com/
This is a cool project. The Lisp machines had a lot of cool design elements (along with some not-so-cool design elements), and a very cool integration of the OS, the development platform, and the underlying language. For those unfamiliar with Lisp machines, here is a nice web page showing some of the chronology: http://www.andromeda.com/people/ddyer/lisp/
@modman: I don’t think it’d be a good idea to put stuff in microcode in this day and age. Microcode, on modern RISC architectures, really isn’t any faster than just running regular code out of L1-cache. Also, the need for special hardware tricks is much less today than it was in 1977 when the CADR came out. CPUs have gotten wider and have gained speculative execution, which allows stuff like typechecks and bounds checks to be done in parallel. At the same time, compilers got really good during 1980s, eliminating many of those checks in the first place.
This certainly blows my Lisp OS project out of the water. I can’t wait to play with it…
Can I assume that the Lisp machines were not y2k compliant, or did I simply use the wrong date format? I typed in “November 11, 2004 7:10pm” for the date and time string that it prompts for and I got back that the year was 19104. It would seem more likely for a y2k bug to show up as 1904 instead of 19104, so I just want to check
Lisp Machines, like modern Common Lisp, store time as a number of seconds after January 1 1900, so it makes sense that they would print the year as 19 appended to the formatted number of years.
Ok, thanks. That explains it…