Pipe Operator |>
Encadeie transformações como um fluxo funcional. Sem chamadas de retorno aninhadas e sem variáveis temporárias.
"hello"
|> String.upper()
|> String.trim()
|> print()Tipos estáticos, composição fluida e tooling integrado. O mesmo arquivo .zolo roda no ecossistema Lua, como binário nativo ou em WebAssembly.
effect Clock { fn now() -> str }
fn announce(message: str) with Clock -> str {
let time = perform Clock::now()
"{time} · {message}"
}
let line = handle announce("build ready") with {
Clock::now() => "09:42",
}
print(line)09:42 · build ready01 / linguagem
Composição que se lê de cima para baixo. Segurança explícita. Um conjunto de ferramentas completo.
Encadeie transformações como um fluxo funcional. Sem chamadas de retorno aninhadas e sem variáveis temporárias.
"hello"
|> String.upper()
|> String.trim()
|> print()Tipos opcionais T?, encadeamento opcional ?. e coalescência nula ?? eliminam NPE por construção.
let city = user?.address?.city ?? "Unknown"
match result {
.Ok(value) => value,
.Err(error) => report(error),
}LSP com preenchimento automático e informações ao passar o cursor, depurador DAP, formatador, extensão do VS Code e REPL — tudo pronto, sem configuração.
zolo run app.zolo
zolo check app.zolo
zolo test
zolo build --release02 / exemplos
Programas pequenos e completos para abrir, modificar e executar no navegador.
let name = "Zolo"
print("Hello, {name}!")
print("Version: {1 + 1}.0")Hello, Zolo! Version: 2.0
VMnativeLLVMwasm-aot04 / ferramentas
Compilador, inteligência do editor, formatador e depurador seguem o mesmo modelo da linguagem.
run, build, check, test, fmt, repl
zolo run hello.zolo 02 LSP Autocompletar, informações ao passar o mouse, ir para definição e dicas de tipo
zolo-lsp 03 VS Code Extensão com syntax highlighting e integração LSP
ext install zolo 04 Formatador Formatação automática baseada em AST
zolo fmt file.zolo 05 / start
Comece no navegador e leve o mesmo código para a CLI quando estiver pronto.