
MakerLisp Machine - joubert
https://cpmaker.com
======
mruts
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
What 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.

~~~
stcredzero
_Who gives a damn if there 's a single atom representing a cons or not?_

Hipsters?

------
mark_l_watson
I 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
I 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.

------
4thaccount
It'd be really cool to have lisp machines again, but with some more powerful
processors.

~~~
scj
I'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
Thinking 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.

~~~
stcredzero
_Thinking back, there was a noticable difference between the computers I
"played" with and those I treated more carefully_

Smalltalk environments try to capture some of this spirit. If you do something
really bad, you just re-start the image and replay the change log, leaving off
the last entry.

------
timonoko
Methinks 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.

------
milsebg
I 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 :)

------
Annatar
WANT!!!

This gave me a crazy idea, cross-compiling one of the Lisps using CUDA to run
accelerated directly on the GPU... Hmmm...

~~~
tlavoie
You can certainly call CUDA from Common Lisp. [http://quickdocs.org/cl-
cuda/](http://quickdocs.org/cl-cuda/)

~~~
Annatar
That'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.

