6 ms·
MakerLisp Machine
- Annatar 8y agoWANT!!! This gave me a crazy idea, cross-compiling one of the Lisps using CUDA to run accelerated directly on the GPU... Hmmm...
- dan-robertson 8y agoSomething like CEPL?
- pjmlp 8y agoYou can do it right away. https://dragan.rocks/articles/18/CUDA-10-in-Clojure https://dragan.rocks/articles/18/CUDA-10-in-Clojure
- Annatar 8y agoOut of the question, go away with that cursed JVM and never mention it to me again! I don't and never will do bytecode on a virtual machine!
- tlavoie 8y agoYou can certainly call CUDA from Common Lisp. http://quickdocs.org/cl-cuda/ http://quickdocs.org/cl-cuda/
- Annatar 8y agoThat's kind-of-sort-of what I had in mind... rather I'd like to run the entire Lisp language on the GPU(s) directly instead of a generic central processing unit.
- milsebg 8y agoI want one! I am dreaming for a while building exactly this on top of an FPGA. Maybe this piece will be my inspiration to actually start :)
- 4thaccount 8y agoIt'd be really cool to have lisp machines again, but with some more powerful processors.
- scj 8y agoI've been thinking lately about an introductory programming environment (similar to computers of the 1980s) that uses lisp or scheme instead of basic[0]: 1. Boots directly into the REPL. 2. Built-in drawing commands, but no GUI. 3. Memory mapped screen / sprites (with multiple graphics modes). With peek and poke like functions. 4. Has an enclosure / keyboard similar to a C64. A simple all-in-one look may make the device more approachable. 5. Simple/constant CPU to provide a path to learning assembly. The reason I'd want to avoid an FPGA is that it'll eventually lead to fragmentation, which means that peer-based learning becomes more difficult. 6. Socketted COTS chips that are well documented and will likely be available for a long time. 7. Open source, with all code available on the machine. I'd like to encourage curiosity as much as possible (and not being able to read the source is an instant blocker). 8. HDMI output. 9. Included joystick with a potentially non-standard port (x2). This is to permit the sharing of games with minimal fuss. Alternatively, use the port from the first xbox. 10. A similar environment / emulator on regular computers, to help the student transition to regular programming. 11. A good manual that explains how the machine works, gives examples, and provides possible avenues of exploration for the curious. [0] Like many on this forum, basic was my first programming language. But I recognize it is only a matter of time until a programmer needs to abandon it. Any argument to use it as a teaching language has two factors: how simple is it to learn, and how much can be carried with the student. I think lisp would be slightly more difficult to learn, but I think it offers more long term value.
- chriswarbo 8y agoThinking back, there was a noticable difference between the computers I "played" with and those I treated more carefully: whether they had persistent storage (HD) containing reasonably important data. Without persistent storage, it was quite liberating to know that I couldn't really "break" things, since the default state would be restored by a reboot. Maybe it's an advantage for a learning machine to have the system/OS be read-only (maybe with a physical switch to allow writes) and have data saved to removable media (e.g. microSD)? There's no way to mess up someone's data if it's kept outside the machine.
- mark_l_watson 8y agoI watched his recent meetup presentation on YouTube last week - really a fun looking project. If I were into hardware, at all, I would probably buy one. Not too unrelated: I have an unused HP Stream 11 and I have had good intentions of having Mezzano boot directly in it. So far, I just have run Mezzano (Common Lisp directly on hardware) with VirtualBox.
- all2 8y agoI was curious about this, so I went looking. Here's a HN thread from 2016: https://news.ycombinator.com/item?id=12358177 https://news.ycombinator.com/item?id=12358177 I want to give Mezzano a shot once I (finally) get through SICP.
- mruts 8y agoA 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.
- timonoko 8y agoMethinks Lisp-machine is just a memory, which is CONS-structured and infinite and has garbage collector built-in. The processor sees only CAR- and CDR-ports and also a command port, where the memory hardware can be ordered to do LAST and ASSOC and other memory-intensive operation. The processor(s) are regular and do what processors do best, like adding and multiplying numbers. Every processor has its own access ports to the Lisp-machine, which is challenging but interesting.