4 ms·
A Lisp machine isn't just some hardware with Lisp on top. You can do that today with x86. A Lisp machine is supposed to have support for lisp primitives at a ha
by mruts 8y ago
A Lisp machine isn't just some hardware with Lisp on top. You can do that today with x86. A Lisp machine is supposed to have support for lisp primitives at a hardware level.
- Y_Y 8y agoWhat about microcode? I thought the point of this whole computing thing was that we could abstract away the fine details and solve problems on the level they're posed at. Who gives a damn if there's a single atom representing a cons or not? Lisp is good as a language for humans, and it used to be used in hardware because that was necessary to run lisp code fast. That hasn't been the case for ages.
- qubex 8y agoThe stated processor (Zilog/Z80) is not suitable for that and isn’t suitable for emulating such an architecture in real time or instantiating suitable virtual machines.
- andreer 8y agoI find this to be an interesting question. Given a modern, high-performance compiling lisp implementation on a modern CPU, say SBCL on x86_64. What modification or addition to the CPU (or wider computer architecture) would be most effective in making typical lisp programs run faster?
- stcredzero 8y agoWho gives a damn if there's a single atom representing a cons or not? Hipsters?
- qubex 8y agoYup. As soon as I reached “Zilog/Z80” I thought “yeah, uhm, nope”.
- 4thaccount 8y agoIt's fine as a toy, but yea I'd prefer a powerhouse chip to make it worthwhile.
- rjsw 8y agoThe MIT Lisp Machine didn't have lisp primitives in hardware. It had two extra hardware features, it could fetch two 16bit instructions at a time, and a fast multi-way branch instruction. Other than that it looked very much like a modern RISC architecture. I would say that the main feature of a Lisp Machine is that you do everything from within Lisp.
- lispm 8y agoThe architecture the developer saw on a Lisp Machine like a Symbolics was tagged, 36 or 40 bit, mostly stack oriented and had lots of primitive Lisp functionality, type checking /dispatching, some GC support, etc.
- rjsw 8y agoThat was all done in software on the MIT/LMI/TI machines. I don't know of any papers on the Symbolics hardware that are not behind the ACM paywall, how much did it really differ from the other Lisp Machines ?
- pinewurst 8y agoTry https://people.eecs.berkeley.edu/~kubitron/courses/cs252-F00/handouts/papers/symbolics.pdf https://people.eecs.berkeley.edu/~kubitron/courses/cs252-F00...
- lispm 8y agoTI https://3e8.org/pub/scheme/doc/lisp-pointers/v1i6/p13-dussud.pdf https://3e8.org/pub/scheme/doc/lisp-pointers/v1i6/p13-dussud...
- mruts 8y agoIf that was the case, why are we talking about lisp machines vs a lisp OS?
- CoolGuySteve 8y agoWhat instruction extensions would you have to add to something like RISC-V to accelerate Lisp Machines?
- jecel 8y agoThe previous design, RISC-IV (named SPUR), was a Lisp machine. http://pages.cs.wisc.edu/~markhill/papers/computer86_spur.pdf http://pages.cs.wisc.edu/~markhill/papers/computer86_spur.pd... The basic instructions (Table 3) are close enough to RISC-V but it also had a few Lisp specific instructions (Table 4). Though the name J Extension for RISC-V might lead you to think it is only about Java or Javascript, the group working on it is also interested in making it as good as possible for Lisp.
- m463 8y agoSo it needs an Address register and a Data register? Or does it need hardware parenthesis support too? ;)