Live data from Hacker News

Tiny Lisp Computer

technoblogy.com

1–10 of 27 posts

Re: Tiny Lisp Computer

#3
it's basically a uLisp shell on Arduino?

it will be shuned by the Haskell elite unless you need a monad to toggle the led, since it's intrinsically a non functional side effect :)

Re: Tiny Lisp Computer

#4
uLisp is cool (code is a bit scary in places though),

I'm working on a virtual game console which uses an AVR.

I added some simple drawing functions.

http://fingswotidun.com/cruft/lisptri.gif

The emulator is at http://fingswotidun.com/avr/ but it's very alpha. If you have a small screen you can't even click on the run button because of an old debugging div is sitting on top of it.

Re: Tiny Lisp Computer

#5
post #3

it's basically a uLisp shell on Arduino? it will be shuned by the Haskell elite unless you need a monad to toggle the led, since it's intrinsically a non functional side effect :)

>it will be shuned by the Haskell elite

Seems like a feature, not a bug :^)

Re: Tiny Lisp Computer

#6
Huh. I thought about doing this, figured it would be impossible / pointless, and that (apparently wrong) assumption led me on a year-long journey:

The core problem, I thought, would be that AVRs have very very little memory. 316 Lisp cells sounds about right. I figured, well that's pointless. How can I do better?

I wasn't able to find a microcontroller that you can attach external memory to (without cheating and using something like an SPI RAM chip, although that's super easy). So I ended up figuring out how to build a real computer instead, around a Z80, with 64k total address space. The one I'm working on now has 32k RAM (still not great for Lisp) but you can divide up the address space between RAM and ROM however you want, so I'm planning for the next version to have the whole thing be RAM and use an AVR to "boot" it by loading code into RAM from an SD card.

Re: Tiny Lisp Computer

#7
post #6

Huh. I thought about doing this, figured it would be impossible / pointless, and that (apparently wrong) assumption led me on a year-long journey: The core problem, I thought, would be that AVRs have very very little memory. 316 Lisp cells sounds about right. I figured, well that's pointless. How can I do better? I wasn't able to find a microcontroller that you can attach external memory to (without cheating and usin…

Some of the devices in the Mega AVR line support external memory. The ATmega640 is an example. Generally you'll only find it on higher pin-count devices which aren't available in DIP packages. If you need something that's a bit easier to work with, the Teensy 2.0++ is an option.

As for your Z80 computer, another option would be to add some simple bank-switching hardware to allow you to boot from ROM. Probably more work and less flexible than just using an AVR for boot though.

Re: Tiny Lisp Computer

#8
post #6

Huh. I thought about doing this, figured it would be impossible / pointless, and that (apparently wrong) assumption led me on a year-long journey: The core problem, I thought, would be that AVRs have very very little memory. 316 Lisp cells sounds about right. I figured, well that's pointless. How can I do better? I wasn't able to find a microcontroller that you can attach external memory to (without cheating and usin…

You just had to think that IBM 704 had 18432 bytes.

Re: Tiny Lisp Computer

#9
post #6

Huh. I thought about doing this, figured it would be impossible / pointless, and that (apparently wrong) assumption led me on a year-long journey: The core problem, I thought, would be that AVRs have very very little memory. 316 Lisp cells sounds about right. I figured, well that's pointless. How can I do better? I wasn't able to find a microcontroller that you can attach external memory to (without cheating and usin…

If you build a compiler without runtime eval, you can use all the AVR's memory for user data. Still tiny, but not as cramped as this interpreter: http://microscheme.org Then again, if it doesn't have runtime eval, is it really a lisp?

Re: Tiny Lisp Computer

#10
In my opinion, this is among the coolest / revolutionary computer products that I have seen in the last 30 years of my usage of computers. It is also great to see that LISP is gaining more and more popularity as people realize the advantages of the stateless, reentrant, idempotent functional programming paradigm.
Post reply on HN