We’ve seen tiny microcontroller-based computers before, but nothing like this. Where the usual AVR + display + serial connection features BASIC, Forth, or another forgotten language from the annals of computer history, this project turns an AVR into a Lisp machine.
The μλ project is the product of several decades of playing with Lisp on the university mainframe, finding a Lisp interpreter for the 6800 in Byte, and writing a few lisp applications using the Macintosh Toolbox. While this experience gave the author a handle on Lisp running on memory-constrained systems, MicroLisp is running on an ATMega328 with 32k of Flash and 2k of RAM. In that tiny space, this tiny computer can blink a few boards, write to an OLED display, and read a PS/2 keyboard.
The circuit is simple enough to fit on a breadboard, but the real trick here is the firmware. A large subset of Lisp is supported, as is analog and digitalRead, analog and digitalWrite, I2C, SPI, and a serial interface. It’s an amazing piece of work that’s just begging to be slapped together on a piece of perfboard, if only to have a pocket-sized Lisp machine.
Thanks [gir] for the tip.
Slick! Let’s get this running on an ESP8266.
I second that, could be interesting.
You can run Forth on the ESP8266 and you can implement a LISP interpreter in Forth, so it sort of already exists.
You can compile C for the ESP8266, and you can implement a LISP interpreter in C, so it sort of already exists. Oh wait, that logic doesn’t really make sense.
You could use a java virtual machine to emulate a lisp native system, then go and make a coffee plantation while it does something.
> Slick! Let’s get this running on an ESP8266.
https://github.com/yesco/esp-lisp
My other car is a cdr. That joke never gets old… ok maybe it does.
Are you consing me ?
Why do you have to take all defun out of it?
Don’t make me recurse!
These quotes have no application
Neat. Now we just need to port GNU Emacs to AVR.
That was the first thing I thought of.
Michael
That would certainly breath some new life into these miserable 8-bit AVR controllers.
Eight Megabytes and Constantly Swapping shall take on a renewed meaning
The Byte Magazine article seems to be here:
https://ia801606.us.archive.org/25/items/byte-magazine-1979-08-rescan/1979_08_BYTE_04-08_LISP.pdf
Sadly, the BYTE magazine article is not the complete code of the 6800 LISP… the end of the article says “Order BYTE Document 112 for the full listing”
Is that document or full listing anywhhere that can be linked?
First emulate a complete linux distro inside ESP, thin simply install LISP. Here is a starting point P.S (it’s a little bit slow! ) http://dmitry.gr/index.php?r=05.Projects&proj=07.%20Linux%20on%208bit
That looks like a tail call to me!
Or a function that will run out of stack.
Lisp seems a great language for people without keyboards containing {}, [], or .
Heh, try again with HTML: Lisp seems a great language for people without keyboards containing {}, [], or <>.
And now is Tiny Lisp Computer 2, with ATMega1284 – 16K RAM, 128K Flash, and matching parens… Oh, I want:
http://www.technoblogy.com/show?1INT