Makoto by example: o livro
O material progressivo: cada capítulo se apoia no anterior.
Makoto (誠, “sinceridade/verdade”) é uma linguagem de sistemas compilada. Reúne resiliência estilo BEAM (processos isolados, supervisão, let it crash), concorrência estilo Go (channels), tipos estilo Rust sem lifetimes e comptime/IO-colorless/allocators/FFI-C estilo Zig, tudo isso sem
null, semunite sem function coloring.
Este é o material de ensino progressivo: cada capítulo constrói sobre o anterior, e todo conceito
vem com um trecho curto e rodável. CLI: mk (alias de makoto). Fonte: .mko (core) e
.mkoui (UI). Rode os exemplos com mk run arquivo.mko.
Ordem de leitura
Seção intitulada “Ordem de leitura”| # | Capítulo | O que você aprende |
|---|---|---|
| 00 | Olá, Makoto | o pitch, instalar, mk run, hello world |
| 01 | Valores e tipos | let/var/const, iN/uN/float/bool/string, Optional (sem null), sem zero-value |
| 02 | Funções e fluxo | fn, saídas explícitas (return/?:/=>), match, loop |
| 03 | Tipos compostos | decl (struct/enum/interface), pattern matching, variant-set |
| 04 | Erros | Result, error-sets, catch, sem ?, noreturn |
| 05 | Coleções e strings | List/Map/Set, camada funcional, strings e interpolação |
| 06 | Processos e channels | spawn, channels, match/select, timeout, atores |
| 07 | Resiliência | supervisores, links, monitors, @supervisor, let-it-crash |
| 08 | Memória | colorless, GC default, @mm, @transfer/@promote, OOM |
| 09 | Channels de rede | Channel[T] sobre net, Serializable, o RPC nativo |
| 10 | Comptime e reflexão | comptime, reflect(T), generics, contratos |
| 11 | Interfaces | satisfação estrutural, as interfaces pequenas |
| 12 | Módulos e ecossistema | bin/lib (mk.mod/mk.project), use, os tiers, libs oficiais, o CLI mk |
| 13 | FFI e baixo nível | @cimport (C), inline asm, o namespace c |
| 14 | Extensão de UI | .mkoui, @state/@component, ilhas, @server/@client |
| 15 | Tooling na prática | mk build/run/test/fmt, observer/profiler/debugger, package manager |
| 16 | Garantias | a camada de verificação: ownership, refinamentos, sessões, provas |
Como ler
Seção intitulada “Como ler”Leia em ordem na primeira passada: a progressão é proposital (erros antes de coleções, processos antes de resiliência, comptime antes de interfaces genéricas). Depois use como referência por tema.
Tudo aqui usa só construtos que existem na linguagem (fonte da verdade: language-design.md +
language-grammar.md + official_libraries.md + extensions.md + tooling.md). Nada de sintaxe
inventada.