Gleam doesn't compile to Erlang source anymore

The Gleam programming language has released version 1.19.0, featuring a rewritten Erlang code generator that outputs abstract forms instead of source code. This change improves compiler performance and provides more accurate debugging metadata.
Why it matters
Technical improvements in programming languages like Gleam demonstrate the ongoing evolution of developer tooling for the Erlang virtual machine.
Gleam is a type-safe and scalable language for the Erlang virtual machine and JavaScript runtimes. Today Gleam v1.19.0 has been published, so let's go over what's new.
Over the last few months Giacomo Cavalieri has entirely rewritten Gleam's Erlang code generator that has an entirely different design, and most notably, outputs a different format. Previously Gleam generated Erlang source code, now it generates Erlang abstract forms .
"Erlang abstract forms" is an intermediate representation used by the Erlang compiler. It is a metadata-annotated tree that represents Erlang syntax, and it is normally produced by running Erlang's tokeniser and parser. It has a binary encoding using Erlang's external term format , and with this binary format we can load our generated code directly, skipping the front-half of the Erlang compiler.
This new Erlang code generator brings several benefits:
Get smarter about the news
Sign up free for a feed built around what you actually care about, Dive Deeper research on any story, and the full text of every article.
Create free accountAlready have an account? Sign in