MoonBit es una cadena de herramientas de lenguaje de programación nativo de IA para computación en la nube y edge. Se compila a WebAssembly, JavaScript y C.
Es muy similar a lenguajes como Python y sobre todo a Go
Ambos lenguajes (MoonBit y Go) son similares en:
- Típicos estáticos con inferencia de tipos.
- Lenguajes compilados con compilación rápida.
- Seguridad en memoria, aunque con mecanismos ligeramente diferentes.
- Orientado a la computación moderna con excelentes herramientas.
Aunque ya vimos algo sobre este lenguaje, hoy veremos cómo instarlo y algunos ejemplos de uso.
Instalando MoonBit
Instalando en Linux:
$ curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash
Instalando en Windows:
$ Set-ExecutionPolicy RemoteSigned -Scope CurrentUser; irm https://cli.moonbitlang.com/install/powershell.ps1 | iex
Verificamos la instalación:
$ moon version
Podemos ver la ayuda:
$ moon help
Para quienes usan Visual Studio Code, se puede descargar un plugin del lenguaje:
https://marketplace.visualstudio.com/items?itemName=moonbit.moonbit-langProgramando en MoonBit
Ejemplo 1. El clásico "Hola, mundo".
holamundo.mbt
fn main { println("Hola, mundo.") }
Ejecución:
$ moon run holamundo.mbt
Salida:
Hola, mundo.
Ejemplo 2. Tipos de datos en MoonBit. Aquí veremos los tipos de datos.
tipos.mbt
fn main{ let int : Int = 42 let uint : UInt = 42 let int64 : Int64 = 42 let double : Double = 42 let float : Float = 42 let bigint : BigInt = 42 let cadena : String = "FERROCARRIL" let c : Char = 'A' let verdadero : Bool = true println("\t Tipos de datos en MoonBit.") println(int) println(uint) println(int64) println(double) println(float) println(bigint) println(cadena) println(c) println(verdadero) }
Ejecución:
$ moon run tipos.mbt
Salida:
Tipos de datos en MoonBit. 42 42 42 42 42 42 FERROCARRIL A true
Ejemplo 3. Programa que nos muestre ejemplo de sentencias condicionales.
condicional.mbt
fn main{ println("\t Condicionales en MoonBit.") let mut bandera: Bool = 23 > 22 if bandera{ println("Fue verdadero.") bandera = false } if bandera{ println("Esto no se vera en pantalla.") }else{ println("Esto si se vera en pantalla.") } let resultado = if "A" == "A"{ "Esto fue verdadero." }else{ "Esto fue falso." } println(resultado) println(fibonacci(5)) } // Aqui usamos algo similar a switch fn fibonacci(n : Int) -> Int { match n { 0 => 0 1 | 2 => 1 _ => fibonacci(n - 1) + fibonacci(n - 2) } }
Ejecución:
$ moon run condicional.mbt
Salida:
Condicionales en MoonBit. Fue verdadero. Esto si se vera en pantalla. Esto fue verdadero. 5
Ejemplo 4. Sumar los primeros 100 números pares. Con esto veremos un ejemplo de sentencias iterativas.
iterativas.mbt
fn main{ println("\t Sumar los primeros 100 números pares en MoonBit.") let suma = for i = 1, acc = 0; i <= 100; i = i + 1 { if i % 2 == 0 { continue i + 1, acc + i } } else { acc } println(suma) }
Ejecución:
$ moon run iterativas.mbt
Salida:
Sumar los primeros 100 números pares en MoonBit. 2550
Ejemplo 5. Programa que tenga funciones para suma, resta, multiplicación y división de números enteros.
funciones.mbt
fn main{ println("\t Funciones en MoonBit.") let a: Int = 3 let b: Int = 2 println(suma(a, b)) println(resta(a, b)) println(producto(a, b)) println(division(a, b)) } fn suma(x: Int, y: Int)-> Int { x + y } fn resta(x: Int, y: Int)-> Int { x - y } fn producto(x: Int, y: Int)-> Int { x * y } fn division(x: Int, y: Int)-> Int { x / y }
Ejecución:
$ moon run tipos.mbt
Salida:
Funciones en MoonBit. 5 1 6 1
Ejemplo 6. Un programa que use estructuras.
estructuras.mbt
struct Persona { nombre : String apellidos: String edad : Int } struct Punto{ x:Int y:Int } fn main{ println("\t Estructuras en MoonBit.") let thomas = Persona::{ nombre: "Thomas", apellidos: "Muller", edad: 30 } let p: Punto = {x: 23, y:43} println(thomas.nombre) println(thomas.apellidos) println(thomas.edad) println(" --------------- ") println(p.x) println(p.y) }
Ejecución:
$ moon run estructuras.mbt
Salida:
Estructuras en MoonBit. Thomas Muller 30 --------------- 23 43
Conclusiones:
Hemos instalado MoonBit en nuestro sistema.
Hemos creado algunos programas para conocer lo básico del lenguaje.
En próximas entregas continuaremos con este tema.
Enlaces:
https://www.moonbitlang.com/https://codemonkeyjunior.blogspot.com/2025/11/moonbit-un-lenguaje-orientado-la-ia.html

No hay comentarios:
Publicar un comentario