Translate

viernes, 1 de marzo de 2024

Sistema de tipo en Gleam


 import gleam/io


pub fn main() {

  io.println("My lucky number is:")

  // io.println(4)

}



Gleam tiene un robusto sistema de tipos estáticos que ayuda a escribir y editar código, detectando errores y mostrándole dónde realizar cambios.

Si descomentamos la línea io.println(4), Gleam lanza el siguiente error:


error: Type mismatch

  ┌─ /src/main.gleam:5:14

  │

5 │   io.println(4)

  │              ^


Expected type:


    String


Found type:


    Int


Para corregir el código, podemos cambiar  io.println por io.debug, ya que esta función imprime un valor de cualquier tipo.

import gleam/io


pub fn main() {

  io.println("My lucky number is:")

  io.debug(4)

}


Gleam no tiene nulos, ni conversiones implícitas, ni excepciones, y siempre realiza una verificación de tipo completa. Si el código se compila, puede estar razonablemente seguro de que no tendrá inconsistencias que puedan causar errores o fallas.