Gleam v1.19.0 (released 05 October 2026) replaces its Erlang code generator so it emits Erlang abstract forms instead of human-readable Erlang source. That intermediate representation is fed directly to the Erlang compiler, skipping tokenisation and parsing, which yields much faster full builds, more accurate source-location metadata in BEAM crash reports/stack traces, and cleaner compiler code. Benchmarks based on José Valim’s langcompilebench show a substantial compile-time improvement over v1.17.0, and comparisons against several other languages suggest Gleam compiles competitively fast. The team - led by contributors including Giacomo Cavalieri - explains why targeting BEAM bytecode directly is impractical given changing bytecode formats, existing Erlang compiler optimisations, and limited project resources, so abstract forms are the pragmatic long-term choice (as used by Elixir).
The release also ships JavaScript backend improvements: pattern-match decision trees are flattened into simpler combined conditions for fewer branches, and short list literals now compile to direct persistent-list constructors rather than array conversions, improving runtime performance for common cases. TypeScript declarations for variant-checking functions gain overloads to preserve type information. Build-tool integrations were enhanced: Gleam can generate .app resource files, added a no-dev compile flag, and export commands can write to stdout or files - facilitating use from Mix/rebar3 and other ecosystems.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.