Sintaxis Rust.
Ligereza Lua.
Un lenguaje moderno con pipe operator, pattern matching, null safety e iteradores perezosos — ejecutándose en una VM Lua implementada en Rust puro.
Empezar es simple
$ curl -fL https://github.com/devzolo/zolo-releases/releases/download/v0.1.7-alpha/zolo-lang-0.1.7-alpha-linux-x64.tar.gz -o /tmp/zolo.tar.gz
mkdir -p ~/.zolo && tar xzf /tmp/zolo.tar.gz -C ~/.zolo
sh ~/.zolo/install.sh Todo lo que necesitas, nada de lo que no
Diseñado para ser expresivo, seguro y rápido — sin sacrificar la legibilidad.
Pipe Operator |>
Encadena transformaciones como un pipeline funcional. Sin callbacks anidados, sin variables temporales.
"hello"
|> String.upper()
|> String.trim()
|> print()Null Safety
Tipos opcionales T?, optional chaining ?. y null coalesce ?? eliminan NPE por diseño.
let city = user?.address?.city ?? "Unknown"
let name: str? = nil
if let n = name {
print("Hello, {n}!")
}Pattern Matching
Match exhaustivo con guards, destructuring de structs, enums y arrays.
match score {
s if s >= 90 => "A",
s if s >= 80 => "B",
s if s >= 70 => "C",
_ => "F",
}Lazy Iterators
Iteradores infinitos con evaluación perezosa. map, filter, take, fold, zip y mucho más.
0..
|> Iter.filter(|x| x % 2 == 0)
|> Iter.map(|x| x * x)
|> Iter.take(10)
|> Iter.collect()Decorators
@memoize, @test, @benchmark, @retry, @log — potencia extra con cero boilerplate.
@memoize
fn fibonacci(n: int) -> int {
if n <= 1 { return n }
fibonacci(n-1) + fibonacci(n-2)
}HTTP Server
Levanta una API REST sin instalar nada extra. Routing, JSON, path params incluidos.
let app = http.router()
|> http.get("/users/:id", |req| {
#{ id: req.params.id, name: "Zolo" }
})
http.serve(3000, app)Database
SQLite integrado, transpilación SQL para Postgres/MSSQL/Oracle. Query, execute y gestiona datos sin configuración.
let db = Database.open("sqlite://:memory:").unwrap()
defer db.close()
db.execute("CREATE TABLE users ...").unwrap()
let rows = db.query("SELECT *").unwrap()Tooling
LSP, DAP debugger, formatter y extensión VS Code listos para usar inmediatamente.
zolo run hello.zolo
zolo fmt hello.zolo
zolo check hello.zolo
zolo test hello.zoloRust VM
VM Lua 5.1 implementada en Rust puro. GC generacional, string interning, fast by default.
// Compiles to Lua 5.1 bytecode
// Runs on custom Rust VM
// 0-based indexing
let arr = [1, 2, 3]
print(arr[0]) // 1Véelo en acción
Ejemplos reales del lenguaje. Haz clic en "Abrir en Playground" para modificar y ejecutar.
let name = "Zolo"
print("Hello, {name}!")
print("Version: {1 + 1}.0")Hello, Zolo! Version: 2.0
Fuente .zolo
Desplázate para ensamblar la máquina Zolo. Seis placas encajan alrededor de un núcleo — cada una es una decisión arquitectónica. Esta primera placa es tu programa: texto UTF-8 puro.
¿Por qué Zolo?
Rápido por defecto
Ejecuta en la VM Lua 5.1 implementada en Rust puro con GC generacional, string interning y optimizaciones de tail call. Zero overhead innecesario.
Tooling primero
LSP con autocompletado y hover, DAP debugger, formatter, extensión VS Code y REPL — todo out-of-the-box sin configuración.
Baterías incluidas
Stdlib completa: String, Array, Map, Set, Iter, BigInt, Option, Result. HTTP server nativo. Sin instalar nada extra para empezar.
Familiar para devs modernos
Sintaxis inspirada en Rust y Swift. Llaves en lugar de do/end. Tipado estático con inferencia. 0-indexed. Si conoces Rust o TypeScript, te sentirás como en casa.
Stack técnico
Herramientas disponibles
zolo runzolo compilezolo checkzolo testzolo fmtzolo replLSP serverDAP debuggerEcosistema
De compilador a extensión de editor — todo lo que necesitas para trabajar con Zolo.
¿Listo para empezar?
Pruébalo en el playground, sigue el tutorial o lee la documentación completa.