Versión 0.3 de Gleam ✨ – el lenguaje de programación funcional estáticamente tipado en BEAM
Publicado el 9 de agosto de 2019En 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.
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.
No hay comentarios en este post
Feed de comentariosDejar un comentario
<pre lang="L"> código </pre>
Siendo L un lenguaje compatible GeSHI. Más info.