I have developed a Common Lisp (SBCL) to Arduino C++ cross compiler. I have it mostly working. I have converted all of the simple examples that come with the Arduino IDE and have them working. The link to my project is http://sourceforge.net/projects/arduinolisp/ http://sourceforge.net/projects/arduinolisp/

I know it is difficult to do the documentation while you are beavering away to actually getting it working -- BUT you need at least a little blurb on the SF site to tell What-it-is and How-it-works, and I always like a screen shot, too ;-) The blurb should just be a short clear statement "This is Common-Lisp which compiles to the Arduino hardware platform. It works on xxx OS, and 328, ..., including UNOs. It mimics the Arduino IDE, and lets you upload using the usual bootloaders. Its some good!" - or similar.

Thanks for the comments. This is my first open source project. The files can be downloaded from the svn link. There is a tarball of the folders needed. I will work on more comments. If you would like to try out the software, put the folders on your system where asdf can find them. Use asdf to load the file arduino-lisp.asd from the arduino-lisp folder. Then do a (in-package :arduino-lisp) to finish loading. To try it out the examples, load the test file arduino-lisp-tests.lisp. This will create a few sample sources. To run the compiler on a sample source (i.e. blink) type (arduino-compile blink). This will create a text file in the root folder called arduino-c++.txt. You can copy and paste the contents into the arduino ide to compile the C++ source. In my testing I created lisp sources for all the basic examples that come with the Arduino ide. I have all of them working. I also started working on other Arduino examples like the servo one. As of now this compiler works on a sub set of Lisp. I am working on expanding the usefulness of the compiler. Any other comments or thoughts are very welcome. If anyone wants to help, that would be great.

Hey, I was just thinking that it would be cool to be able to program the Arduino in lisp. You say "a subset" is supported, what exactly does that mean? I assume I can't get a REPL on the Arduino (though that would be awesome), but I hope macros and lambdas work. (After all, wouldn't be much of a lisp if you can't write macros... )

However, I must echo the need for a bit of documentiation. I'd like to give this a try, but I'm not sure your little hint below is enough to get me going.

Hi, just found this project. Is there any way to see some documentation or examples about how to use library? If you need some help with documentation I would love to help you. Contact me via email gonzih@gmail.com.