Guia da linguagem Zolo
Siga uma trilha, entre direto em código executável ou use o mapa como referência precisa. Seu progresso de leitura acompanha você.
14 guias estão disponíveis em inglês por enquanto; eles aparecem marcados com EN abaixo.
Leia por assunto
Comece por valores e funções. Depois, avance para tipos, erros, concorrência e efeitos.
Aprenda com exemplos Integrações de linguagensEscolha como você quer aprender
Não existe uma única ordem certa. Comece pelo retorno do código real, siga uma sequência guiada ou encontre exatamente o que precisa.
5 min · sem instalar
Faça a linguagem se mover
Edite e execute um programa Zolo real no navegador, com a resposta do compilador ao lado do código.
Abrir o PlaygroundPasso a passo
Construa um modelo mental
Siga lições curtas que apresentam uma ideia por vez e transformam cada conceito em um pequeno exercício.
Começar o tutorialConsultar e voltar
Encontre o conceito exato
Use o mapa completo da linguagem quando você já sabe a pergunta e precisa de uma resposta precisa e conectada.
Ler a introduçãoO mapa completo de aprendizagem
Sete regiões conectadas levam você do primeiro programa ao ambiente de execução, à plataforma web e à referência da linguagem.
Começar
Entenda a forma da linguagem, rode seu primeiro programa e monte o ciclo diário de desenvolvimento.
Fundamentos
Aprenda a sintaxe e o modelo de dados que aparecem em quase todo programa Zolo.
- 03 Variáveis e Tipos let, const, mut e o sistema de tipos do Zolo.
- 04 Operadores Encadeamento |>, acesso opcional ?., coalescência nula ?? e outros.
- 05 Textos (strings) Interpolação, strings multiline e tagged templates.
- 06 Literais de bytes e formatação Conserve os valores exatos dos bytes e escolha largura e precisão em tempo de execução.
- 07 Controle de Fluxo if/else, match, for, while e loop.
- 08 Condições e recuperação de erros Condições, entradas de coleções, comparações encadeadas e fronteiras de Result.
- 09 Estruturas de Dados Structs, enums, traits, arrays e maps.
- 10 Records, maps e atualizações Records, maps, projeções e caminhos de campos reutilizáveis.
- 11 Funções Funções, funções anônimas, geradores e funções assíncronas.
- 12 Parâmetros de funções e lambdas Lambdas, rótulos, blocos de callback e cláusulas por padrão.
Módulos e reutilização
Use padrões, decorators, geradores, módulos e macros para organizar e reutilizar código.
- 13 Correspondência de padrões Match exaustivo, destructuring e guards.
- 14 Decoradores @memoize, @test, @benchmark, @retry e @log.
- 15 Deriving e testes nomeados Produtores de derive compartilhados e títulos preservados pelo runner.
- 16 Geradores Funções geradoras com fn* e yield para sequências sob demanda. EN
- 17 Módulos e Visibilidade Organize o código com `mod` (arquivo ou bloco inline), traga nomes com `use`, renomeie com `as`, importe o próprio módulo com `self` e escolha a visibilidade certa entre `pub`, `pub(crate)`, `pub(super)` e `pub(mod)`. EN
- 18 Listas de imports hierárquicas Agrupe imports relacionados conservando caminhos, aliases e visibilidade.
- 19 Macros Macros higiênicas, parâmetros, stringify! e expansão em tempo de compilação. EN
Avançado
Entenda falibilidade, concorrência, efeitos, tempo de compilação e tipos avançados.
- 20 Tratamento de Erros Result, ?, try/catch/finally, panic e guard para erros robustos. EN
- 21 Tipos Avançados Genéricos, type aliases, newtypes, as/is e tipos associados. EN
- 22 Validação, schemas e unidades Valores validados, capturas tipadas, schemas e unidades dimensionais.
- 23 Valores padrão de tipos genéricos Escolha valores padrão após os argumentos explícitos e a inferência do construtor.
- 24 Arrays fixos e tamanhos genéricos constantes Confira o tamanho exato de um pacote e infira esse tamanho em funções reutilizáveis.
- 25 Aliases de traits Dê um nome a um grupo de requisitos de traits para reutilizá-lo nos limites.
- 26 Consultas estáticas de tipos Use o tipo verificado de uma expressão sem executá-la.
- 27 Controle de Fluxo Avançado defer, let-else, while let, guard, loop com valor e intervalos. EN
- 28 Estados e eventos tipados Eventos tipados e testemunhos de estado que restringem transições.
- 29 Async & Concorrência async/await, spawn e every para programação assíncrona e concorrente. EN
- 30 Tarefas paralelas e prazos Resultados paralelos nomeados, prazos de await e delegação lazy.
- 31 Efeitos Algébricos Injeção de dependências declarativa: declare o que sua função precisa, decida nas bordas. Substitui DI containers, mocks, monads e async/await viral. EN
- 32 Handlers e escopos de recursos Handlers léxicos, substituições tipadas e limpeza determinística de recursos.
- 33 Filesystem em Comptime Leia arquivos em tempo de compilação com std::fs e incorpore-os como literais no bytecode — a mesma API do ambiente de execução, prefixada por `comptime`. Inspirado no @embedFile do Zig e include_str! do Rust. EN
- 34 Precisão de Float & Tipos Decimais Comparando floats com segurança via `~=`, mais os tipos exatos `decimal` e `bigdecimal`. EN
Web & Verniz
Construa aplicações web renderizadas no servidor e interativas com HTTP e Verniz.
- 35 Desenvolvimento Web Crie aplicações completas com std::http, std::web e Verniz, de uma View renderizada a um binário de produção.
- 36 Views e marcação do Verniz Componentes como funções, marcação parecida com HTML, interpolação segura e Views renderizadas no servidor sem linguagem de modelo.
- 37 Ilhas, Signals e Actions Adicione interatividade focada com @island, storage signal, eventos do DOM, bindings e ações de servidor.
- 38 CSS Escopado Escreva blocos style escopados ao componente, CSS global e custom properties reativas com diagnósticos do compilador.
- 39 Fluxo de Desenvolvimento Use zolo dev, atualização instantânea de tudo, revalidação no navegador e compilações de produção na VM, LLVM e Cranelift.
- 40 Componentes e DOM Tipado Use props concisas, blocos filhos tipados, actions associadas, validação do DOM nativo, forwarding, refs, portais e boundaries. EN
- 41 Execução e Publicação Gere produtos static, hybrid e server selados, com runtimes reproduzíveis, cache por conteúdo e deploy independente de provedor. EN
- 42 Navegação e Prefetch Acelere links multi-page normais com prefetch por intenção derivado do WebGraph, cache limitado por bytes e View Transitions opcionais. EN
- 43 Guia de produção do Verniz Sites Gere, inspecione, teste e publique produtos static, hybrid e server completos com TypeScript, pacotes, conteúdo e grafos auditáveis.
Bibliotecas, integrações e ferramentas
Trabalhe com a biblioteca padrão, bancos, HTTP, CLI, editor e todo o conjunto de ferramentas.
- 44 Biblioteca Padrão String, Array, Map, Set, Iter, Option, Result e BigInt.
- 45 Integrações com linguagens de programação Dez linguagens, sete famílias de providers, runtimes e requisitos de distribuição.
- 46 Tipos entre linguagens Inteiros exatos, records copiados, objetos vivos, callbacks e conversão assíncrona.
- 47 Dependências estrangeiras e locks Uma declaração de dependências com políticas explícitas de instalação, frozen e offline.
- 48 Servidor HTTP Router, middleware, path params, JSON e composição com pipes.
- 49 Banco de Dados SQLite, transpilação SQL, query, execute e gerenciamento de conexões. EN
- 50 Ferramentas CLI, LSP, depurador DAP, formatador e extensão do VS Code.
Referência
Mantenha exemplos concisos, a cola rápida e a arquitetura do compilador ao alcance.