Books of Note

Practical Common
LispThe best intro to start your journey. Excellent coverage of CLOS.

ANSI Common
LispAnother great starting point with a different focus.

Paradigms of Artificial Intelligence
ProgrammingA superb set of Lisp examples. Not just for the AI crowd.

Saturday, July 17, 2004

Embedded Lisp machine? 

Okay, so here's a weird idea. I was still thinking about building a Lisp machine using an FPGA when it struck me that the embedded world would be an interesting place to use some of this technology. Java has found a lot of life embedded in cell phones, for instance. I would think that a Lisp machine would be easier to program, far more debuggable, etc. There was a lot of work for a while on processors that would execute Java byte code. Why not go in a similar direction, but using Lisp? The key in an environment like that is to keep the power dissipation per unit of computing work to an absolute minimum. Being able to compute tag checks in parallel to computation and avoiding boxing/unboxing operations would be more efficient, power-wise, I would think, than trying to emulate all that on a standard processor.


This is an interesting idea. There are good reasons why Java owns the smart card, and to an extent, more general embedded markets.

Java is standardised, high-level, bounds-checked, garbage-collected, and security checked. It is portable "without recompilation".

Lisp is a standardised, high-level, bounds-checked, garbage-collected language. It has no standardised format for FASLs, which are what Java class files amount to; it has no standardised security-checking mechanism, but is notoriously capable of being extended portably using libraries and macros, and of coping with interpreter-level extensions.

Embedded implementations have different standard libraries from J2SE, of which J2ME is but one among many. The embedded market seems rather more driven by actual engineering than just fashion. Make it so.

That's as close as it got. A multibus based Lisp machine running a real-time OS called Minima written in Lisp.

Would a transmeta chip be able to do this?

Perhaps these "soft core" processors like NIOS, which can boot Linux (which I prefer to think of as a FEP) and be augmented with custom instructions, might be useful... In case these links don't make it, go to and look for the "Nios II Embedded Processor Overview"

morrison at mak dot com

There's certainly no problem fitting a Lisp into a small computer.

PICBIT: A Scheme System for the PIC Microcontroller (pdf)

Post a Comment

Links to this post:

Create a Link

This page is powered by Blogger. Isn't yours?