The Personal Website of Jeremy Boles

Erlang

The platform under the language I actually write.

I write Elixir rather than Erlang, but either way what I’m leaning on is the same thing: the BEAM, Erlang’s virtual machine, along with its process model and OTP’s supervision trees. Uile is an Elixir umbrella, which is to say an Erlang program in different syntax.

Erlang earns a spot in my tool bag—1986, Sweden—for the reason ANSI C does. It barely moves. Code written against it years ago still builds and still runs, which few ecosystems can claim and which matters more to me than whatever is currently exciting.

The process model is the part that changed how I think about writing programs. Thousands of cheap isolated processes, each one free to crash, each watched by something whose only job is to start it again. You stop writing defensively and start deciding what ought to happen when a thing fails.

It turns up twice more in these notes: Nerves boots a stripped-down Linux straight into the BEAM, and Lua has an Erlang implementation in luerl.