Erlang Micro Edition.

James Hague james.hague@REDACTED
Wed Jun 29 22:33:13 CEST 2005

This is an interesting idea that comes up occasionally.

Fundamentally, the issue is what is meant by "lightweight," and that
probably depends on your definition of "embedded."  If you're talking
about a system that doesn't have the memory characteristics of a
desktop system--one without any virtual memory--then the big issue is
memory allocation and fragmentation.  You can't just rely on
allocating and freeing memory like crazy on something without virtual
memory and fairly constrainted RAM size.  If you're to the point where
you need to trim the emulator executable way down, then Erlang may be
the wrong tool for the job.

That said, I'd love to see a trimmed down Erlang implementation, one that:

1. Is divorced from OTP.
2. Removes all of the cruft that's accumulated in the standard
libraries.  The most common use of ets, for example, is to implement
hashed lookup.  All of the match_spec stuff and from_dets/2 and
foldl/3 and all that could be in a different module.  See for starters.
3. Is much easier to configure for embedded use.  No setting up of
applications and all that.  Yuck.
4. (Possibly) uses sockets rather than Erlang-level distribution.

More information about the erlang-questions mailing list