Gleam v1.19.0 cambia la compilación a Erlang por formas abstractas

Fuentes: Gleam v1.19.0 switches Erlang compilation to abstract forms

El lenguaje Gleam ha publicado su versión 1.19.0, destacando una reescritura completa del generador de código para la máquina virtual Erlang. A diferencia de las versiones anteriores, que emitían código fuente de Erlang, el nuevo compilador genera formas abstractas de Erlang (Erlang abstract forms), una representación intermedia binaria que permite cargar el código directamente en el compilador, omitiendo la fase de tokenización y análisis. Esta modificación reduce significativamente los tiempos de compilación y mejora la precisión de la metadatos de línea, lo que resulta en reportes de errores más exactos y facilita el uso de depuradores como edb. El autor argumenta que esta solución es más sostenible que generar bytecode BEAM directamente, dado que el bytecode de Erlang evoluciona constantemente y requiere mantenerse al día con las actualizaciones de la máquina virtual. Además, se han optimizado las expresiones de control de flujo en JavaScript, reduciendo la profundidad de las declaraciones anidadas mediante un enfoque de división y conquista, lo que mejora el rendimiento de los motores de ejecución. Estos cambios posicionan a Gleam como una alternativa eficiente para el desarrollo de software en la máquina virtual Erlang, alineándose con las decisiones técnicas de su hermano Elixir.