Gleam 1.17: escript para scripts standalone, resaltado de referencias y mejores errores

Gleam 1.17.0 se publicó el 2 de junio de 2026 con algunas novedades prácticas que mejoran el día a día de quien trabaja con el lenguaje. No es una release de grandes características del lenguaje en sí, sino de herramientas y ergonomía: el CLI mejora, el servidor de lenguaje añade una funcionalidad útil y los mensajes de error se vuelven más inteligentes.

Scripts standalone con escript

La novedad más esperada de 1.17 es el nuevo comando gleam export escript. Hasta ahora, para distribuir un programa Gleam como ejecutable standalone había que empaquetar el release Erlang con todas sus dependencias, lo que resultaba incómodo para scripts de una sola función o herramientas de línea de comandos simples.

Con gleam export escript, el compilador verifica que el proyecto tiene una función main válida y construye un fichero escript a partir del bytecode BEAM compilado. El resultado es un fichero único ejecutable directamente con Erlang sin instalar nada más. Es ideal para scripts de automatización, utilidades de CI/CD o herramientas de desarrollo que quieras compartir dentro de un equipo que ya tenga Erlang instalado.

gleam export escript
# genera build/my_tool.escript
./build/my_tool.escript argumentos...

Resaltado de referencias en el servidor de lenguaje

El servidor de lenguaje de Gleam (que alimenta las extensiones para VS Code, Neovim, Helix y otros editores) añade soporte para textDocument/documentHighlight: cuando colocas el cursor sobre un identificador, el editor resalta automáticamente todas las referencias a esa variable o función en el fichero actual.

Es una funcionalidad pequeña pero que mejora la navegación del código, especialmente en funciones largas con múltiples usos del mismo nombre.

Mensajes de error más inteligentes

Los mensajes de error de Gleam ya eran conocidos por ser claros y útiles. En 1.17 mejora un caso frecuente: cuando usas un nombre de función sin el prefijo de módulo y ese nombre existe en un módulo importado, el compilador lo detecta y sugiere la corrección exacta.

Antes:

// Error: variable `map` not found
let result = map(lista, fn(x) { x + 1 })

Ahora el compilador dice: «¿quisiste decir list.map?» cuando list está importado y tiene una función map. Pequeño, pero ahorra tiempo.

El estado de Gleam en 2026

Gleam sigue siendo un lenguaje pequeño con una comunidad cohesionada. Su punto fuerte es la combinación de tipos estáticos con la fiabilidad del runtime BEAM de Erlang: tolerancia a fallos, concurrencia masiva y hot code reloading, todo con un sistema de tipos que elimina una clase entera de bugs en tiempo de compilación.

La decisión clave que tomaron en su momento de compilar también a JavaScript (además de Erlang) le da una ventaja de portabilidad que otros lenguajes de la BEAM no tienen. Puedes escribir lógica de negocio en Gleam y ejecutarla tanto en el backend sobre Erlang/OTP como en el frontend en el navegador.

Si no has explorado el ecosistema, el artículo sobre Gleam vs Elixir da contexto sobre cuándo elegir uno u otro. Y la nueva llegada del tipado gradual en Elixir 1.20, cubierta esta semana, hace que la comparativa sea más interesante: Gleam sigue teniendo la ventaja de tipos estáticos verificados en tiempo de compilación, algo que Elixir está construyendo de forma incremental.

Imagen: Pexels / Muhammed Ensar

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP