En abril se publicó la primera versión pública de Gleam. Esta semana se publicó la versión 0.3 que trae varios cambios desde entonces.

Gleam

Namespaces de módulos

Los módulos se pueden contener en espacios de nombres permitiendo el uso de nombres de módulos cortos y convenientes sin riesgo de colisiones con otros módulos de Gleam o Erlang. Para usar espacios de nombre creamos un directorio con el nombre de namespace en el directorio src/ y ponemos el módulo ahí. Como ejemplo:

src/
└── vgclub
    ├── persona.gleam
    └── consolas
        ├── nintendo.gleam
        ├── sega.gleam
        └── atari.gleam

Una vez creados, los módulos se pueden traer al scope con la sentencia import:

import vgclub/persona
import vgclub/consolas/nintendo
 
fn jugar_consola(alicia) {
  persona:jugar(alicia, nintendo:new())
}

Ahora es posible usar varios módulos con el mismo nombre, y para más conveniencia se les puede dar un nombre a los módulos al importarlos.


import space/rocket as spaceship
import salad/rocket as leafy_green

Anotaciones de tipo

La inferencia de tipos de Gleam no requiere anotaciones para entender los tipos de todo tu código y provee seguridad de tipo completa, pero podemos querer agregar anotaciones para documentación, o para especificar tipos más restrictivos que Gleam puede inferir de otra forma.

Se ven algo así:

fn is_empty(list: List(a)) -> Bool {
  list == []
}

Instalación más sencilla

Ahora podemos descargar binarios precompilados para Linux y OSX de Glean desde la página de releases de GitHub, en vez de tener que tener instalado Rust y compilar el compilador desde el código fuente.

Victor Borja creó un plugin de Gleam para el gestor de versiones asdf, así que para los usuarios de asdf instalar Gleam es tan fácil como asdf install gleam v0.3.0.

Para los fans de Docker el compilador de Gleam ha sido empaquetado como imagen Docker con el tag lpil/gleam.

Creación más sencilla de proyectos

Anteriormente los proyectos de Gleam se creaban usando un plugin de rebar3. Esto funcionaba, pero era una cosa más a instalar, y no había forma de asegurarse que tuvieras una versión al día del plugin que coincidiera con tu instalación de Gleam.

Ahora, la creación de proyectos se maneja con el binario de gleam mismo, así que para empezar con Gleam ejecuta gleam new mi_nuevo_proyecto y generará todo lo que se necesita.

Si tienes rebar_gleam instalado, es seguro eliminarlo de tu ~/.config/rebar3/rebar.config ya que no se usa más.

El resto

Además de estas características, ha habido varias mejoras a la calidad de mensajes de error, el código generado, y varios bugs corregidos.

Para probar la nueva versión de Gleam, ve a la página de instalación. Su autor está buscando feedback sobre cómo usamos Gleam para seguir mejorándolo.

Code BEAM lite Berlin

El 11 de octubre Louis Pilfold, el autor de Gleam, va a estar dando una charla sobre el lenguaje de programación en Code BEAM lite Berlin.

Sitio web de Gleam

No hay comentarios en este post

Feed de comentarios

Dejar un comentario

Notificarme los nuevos comentarios por correo electrónico. Tambien puedes suscribirte sin comentar.

Toasty!