I started this project in response to my experience with my how-to-make embedded project, which was an exercise in being disappointed by atomvm.
tourmaline is an attempt to port Erlang to #![no_std]
Rust, split into several crates, presently: a BEAM file
serializer/deserializer, an ETF serializer/deserializer, BIF implementations,
interface traits, native term types, and a runtime.
I did a good chunk of work by the time I got pulled off into other things — I was hoping to be able to evaluate some simple bytecode soon. I plan to get back to this, but frankly the amount of mental RAM I need to page in from very stale cache is daunting, so it may take a long time.
concept
The short version is that I think it'd be neat and useful to be able to embed Erlang into more contexts — as kind of a very-high-functioning scripting language that could run in other software and on embedded devices. Joe Armstrong got most of the primitives right.