10 ms·
A Brief History of Lisp Machines
- dobbsbob 13y agoAny active projects turning FPGAs into Lisp machines? Should hopefully get more interest in this since every system we currently have is infested with backdoors and closed source firmware. Would be nice, as Stallman put it to press halt, be able to change source and resume without having to re-compile.
- auvi 13y agoI know of two such projects: 0. LISP CPU: http://www.frank-buss.de/lispcpu/ 1. LispmFPGA: http://www.aviduratas.de/lisp/lispmfpga/ Maybe there are others.
- jonjacky 13y agoIGOR, a 2008 class project at a Norwegian university: http://opencores.org/project,igor http://opencores.org/project,igor http://www.idi.ntnu.no/news/index.php?news=163 http://www.idi.ntnu.no/news/index.php?news=163 http://www.flickr.com/photos/kaitorge/sets/72157609445719327/show/ http://www.flickr.com/photos/kaitorge/sets/72157609445719327...
- rjsw 13y agoThere has been work done on an FPGA implementation of the MIT CADR by Brad Parker, he also wrote the software emulator for it.
- auvi 13y agoI see. He named the revised version of CADR as CADDR :) From here: http://www.unlambda.com/cadr/ http://www.unlambda.com/cadr/
- daniel-cussen 13y agoI've worked on a GA144 into a 24-core (24 cores of 6 F18 cores working together) Lisp Machine, with some success. I was able to define a tiny Lisp in under 16 bytewords of F18 code, with the rest of Lisp being á la carte, and distributed across those six cores. Because the core design is modular and all the cores are the same the GA144 is much harder to backdoor and it's easier to detect if it is.
- auvi 13y agothis sounds very interesting, is it open source? I am wondering how you made a processor made specifically for a stack based language (ColorFORTH) for Lisp work.
- daniel-cussen 13y agoI haven't open sourced it. The stack based language works quite nicely with Lisp; in fact, Lisp machines were traditionally stack based.
- arethuza 13y agoI don't know about Forth - but I one worked on a project where I was writing code in Lisp and PostScript and there is a definite "lispness" about RPN languages like PostScript and possibly Forth. This might make the mapping from Lisp to Forth easier that you might think.
- gruseom 13y agoHoly cow, that is very cool. I have a question about the GA144. How do you get the code to the cores? Once it's there, does it change at all?
- daniel-cussen 13y agoYou send the code to the cores with a bootstream from your SPI or Async port. It's a bucket brigade for code. Once it's there, yes you could change it, but in practice changing all of it, all the time, is hard, and that's one of the challenges with this hardware. It was originally developed for embedded, a use case that needs so little code that it doesn't need to change afterwards, but I want it to be fully general, and moving it in and out without paying forbidding time penalties is a bit hard.
- reginaldjcooper 13y agoStanislav at loper-os.org is one of my absolute favorites, because he is an absolutist. I know he wrote previously about remaking a proper computer on an FPGA, but I don't know how he's progressing.
- rst 13y agoUnfortunately, Lisp Machine software was not particularly secure. Everything ran in the same address space, with no protection; ordinary user code could, for instance, just call a low-level disk driver. And the code running in this environment was written in pre-Morris-worm days, when no one had ever heard of a remote code execution vulnerability. (I remember some people needed to be convinced that running an "eval server" --- a server that would execute code that came over the network from unauthenticated sources --- was a REALLY BAD IDEA. In this environment!)
- deleted 13y ago[deleted]
- rjsw 13y agoI don't know about the internals of Symbolics ones but the MIT/LMI/TI machines didn't have any hardware assistance for bounds checking.
- Tyr42 13y agoIf you are interested in the hardware side, look at Hardware-Assisted and Target-Directed Evaluation of Functional Programs, by Matthew Francis Naylor.
- CurtMonash 13y agoI loved Symbolics. Indeed, I dated three different women from the company. :)
- auvi 13y agoHope those women were Lisp wizards :) I would love to know about your experience with Symbolics Lisp machines. I think those were pretty expensive machines, so you must have something unique to work on a Lisp machine.
- CurtMonash 13y agoNope. They were in marketing. And I was a stock analyst.
- eigenen 13y agoThough I've also never used a Lisp machine, integrating my setup closely with Emacs, SLIME, and stumpwm has been one of the very best computing decisions I've made.
- kps 13y agoThe table omits the Xerox Daybreak (aka Xerox 6085, Xerox 1186), circa 1985.
- deleted 13y ago[deleted]
- jballanc 13y agoI find the narrative from the Wikipedia page on Lisp Machines to be really enlightening (far more so than a dry chart like TFA): http://en.wikipedia.org/wiki/Lisp_machine http://en.wikipedia.org/wiki/Lisp_machine . In particular, I think it is much easier to understand Stallman's outlook/philosophy if you put yourself in his shoes around this time. The MIT AI Lab went from a bustle of futuristic technology to essentially a ghost town, consisting of him and Marvin Minsky, following the dual raid of LMI and Symbolics on the AI Lab staff.
- fsck--off 13y agoThe Wikipedia page on Lisp Machines isn't great. Read Dan Weinreb's "Rebuttal to Stallman’s Story About The Formation of Symbolics and LMI" [1]. Weinreb was a much more credible source than Stallman. The AI Lab hackers had free will and were not forced to go anywhere. Saying that these companies "raided" the AI Lab is, quite frankly, insulting. And Symbolics's practice of hiring the hackers full time was actually done entirely for ethical reasons. Other spinoff AI Lab companies were taking advantage of AI Lab resources, and Symbolics wanted to be sure that they didn't do that. The MIT Lisp Machine code was owned and copyrighted by MIT. When MIT licensed the code to LMI and Symbolics, they wanted to be sure that the code would not be given away for free to other companies, including companies that they had also licensed code to. Stallman essentially wanted Symbolics to give their code for free to their competitor, LMI, which would have been illegal according the licensing agreement (that MIT wrote) and would have resulted in Symbolics being shut down. By the way, the comment thread on that blog ends up being about the origin of Emacs and is quite fascinating. Stallman isn't technically the creator of Emacs (Guy Steele and David Moon are), although he did so much to improve it that he is generally given credit for it. [1] http://web.archive.org/web/20110719154038/http://danweinreb.org/blog/rebuttal-to-stallmans-story-about-the-formation-of-symbolics-and-lmi http://web.archive.org/web/20110719154038/http://danweinreb....
- gaius 13y agoStallman is a prolific programmer, but ask yourself, how is he was able to out-program entire teams of his former colleagues? Answer, because the code wasn't the hard part, figuring out what to do was the hard part, and copying it once that was done was easy. The lesson which still hasn't sunk into the "free" community today is, because a thing is cheap to reproduce, doesn't mean it was cheap to do. Stallman did a massive disservice to his friends and the entire computing community. We are still paying for his sabotage today.
- jpmattia 13y agoA cultural item missing from the MIT side of the history: The Lisp machines at the MIT AI Lab were named. First, the names were all dead rock stars (I was there in the 80s, so Hendrix, Joplin ...). Eventually there were enough machines that the namespace needed to be expanded, so dead actors were added to the list (Sinatra...). Some wag decided Reagan, who was president at the time, had done enough unpopular things to universities that he deserved to be added to the namespace. It was all fun and games until one of the funding agents was on a tour, saw the Reagan machine, and put it together. Edit: All above IIRC. It was a whlie ago.
- CurtMonash 13y agoAnd at Intellicorp the machines were all named after famous disasters -- Johnstown Flood, Tacoma Narrows Bridge, etc. Not realizing this naming convention, a confused Apollo Computer salesman once asked "Where are the other 12 machine?"
- sokoloff 13y agoThey maybe coud have shown them Apollo 1: http://en.wikipedia.org/wiki/Apollo_1 http://en.wikipedia.org/wiki/Apollo_1
- cpr 13y agoIt wasn't Lisp all the way down in the Lisp Machine design--it was a microcoded engine, of course. Though, yes, the system software was written in Lisp. There was a front-end processor (designed by Howard Cannon, who also was the main designer of the Flavors system) which loaded the microcode and booted up the main processor.
- adamwong246 13y agoAs a relative youngster, I've only ever heard tall tales about Lisp Machines. I still wonder, with a tear in my eye, why they failed. In particular, Genera OS seemed like such a good idea.
- greenyoda 13y ago"Why Lisp Machines? The standard platform for Lisp before Lisp machines was a timeshared PDP-10, but it was well known that one Lisp program could turn a timeshared KL-10 into unusable sludge for everyone else. It became technically feasible to build cheaper hardware that would run lisp better than on timeshared computers. The technological push was definitely from the top down; to run big, resource hungry lisp programs more cheaply. Lisp machines were not 'personal' out of some desire make life pleasant for programmers, but simply because lisp would use 100% of whatever resources it had available." This explanation doesn't seem to make sense. If you wanted to prevent a Lisp program from using up 100% of CPU on a timeshared machine, all you would have needed to do is impose CPU quotas on the users. And a lot of the engineering on Lisp Machines did go toward making life pleasant for programmers. The windowed GUI environment on a Lisp Machine was a whole lot nicer than logging into a PDP-10 on a VT-100 terminal. If running Lisp more cheaply was really the goal, they wouldn't have given these machines high resolution bitmapped displays, which were very expensive at the time.
- lispm 13y ago> This explanation doesn't seem to make sense... impose CPU quotas on the users CPU quotas don't help. Take for example a VAX 11/780. 1 MIPS, 32bit architecture and only a few MB RAM (2MB -8MB). Additionally used virtual memory. A single Macsyma running on top of Maclisp on such a computer could use all the memory and more. A garbage collection would touch all memory and swap everything else out. This swapping would make the machine completely crawl. The resources CPU and main memory would all be used by a single process. Limiting the CPU for the Lisp process does not help. The Lisp process would be slow, the machine I/O would be slow. Most programs would wait for I/O. The minicomputers (PDPs and later) were too expensive and optimized for timesharing - not for running Lisp images which were larger than main memory. > If running Lisp more cheaply was really the goal, they wouldn't have given these machines high resolution bitmapped displays, which were very expensive at the time. That's even more expensive. Now you have an expensive bitmap display hooked up to an extremely expensive minicomputer. Btw., that was experimented with before the Lisp Machines appeared - Interlisp was running in such a combination.