Bjorn Lisper wrote:
There is an interesting research question in here: how to design "lean" implementations of lazy functional languages so they can run on small handheld and embedded systems with restricted resources. [...] Furthermore, the i/o model must be developed to accomodate the event-driven style typical for both embedded and interactive systems.
What would be extermely nice for embedded systems work is a functional language with very lightweight threading (as in concurrency, not as in threaded code) and easy inter-thread communication. One could then assign e.g. a thread per an I/O pin in a microcontroller and write programs in a style that matches the problem domain. I have toyed around with a design for a sort of pico-Erlang to accomplish this, but it is just vaporware at the moment. I have looked at some work on embedded functional programming, but it seems to be concentrated on resource constrained decices but still rather high-end systems, rather than the extremely resource impoverished 8-bit controller world I am interested in. -- pertti