[Haskell-cafe] Embedded funcional programming?

Patai Gergely patai_gergely at fastmail.fm
Sun Apr 18 05:48:04 EDT 2010


> I'm new to this, so the only problems I see are finding a compiler
> that targets the platform (ARM7, for instance, or others) and
> uploading the compiled firmware to the device.
I used Hume [1] to program Mindstorms NXT robots (ARM7) as well as Tmote
Sky sensors (MSP430). In both cases I ported the HAM virtual machine and
interpreted bytecode. In the case of NXT I used the hardware layer of
leJOS [2], simply ripping out the JVM and replacing it with HAM. As for
the Tmote Sky, the VM sat on top of Contiki [3], so it was possible to
send HAM bytecode over the air, and the sensor would intercept it, stop
the currently running program and execute the new one. Hume can also be
compiled directly to C, and I got it to run on a home-brew LPC2106 based
embedded platform (also with an ARM7 core) we use in education. The main
problem was the size of the generated code. See [4] for details.

My overall impression is that Hume could be a very nice language to
program embedded systems with, given proper tool support (for starters,
it's really crying for a visual editor) and a high-quality compiler.


[1] http://www-fp.cs.st-andrews.ac.uk/hume/index.shtml
[2] http://lejos.sourceforge.net/
[3] http://www.sics.se/contiki/
[4] http://www-fp.cs.st-andrews.ac.uk/hume/papers/pg_thesis/

http://www.fastmail.fm - Email service worth paying for. Try it for free

More information about the Haskell-Cafe mailing list