Guides
- Understanding typechecking — where types come from, how calls share information, where bindings stop inference, and when to add annotations.
- Structural products and row types — tuples, labels, row-polymorphic parameters, access, update, and product order.
- Structural sums and pattern matching —
|, named label arms, importedwiden_sum!, and exhaustivematch!clauses. - Aliases, newtypes, visibility, and purity — transparent aliases, nominal and existential types, explicit recursive-data scopes, scoped exports, and transitive purity.
- Recursion —
rec newtype/ type groups versusrec(loop), mandatory recursive call markers, andrec(poly)/rec(cont)annotations. - UFCS calls —
.>,.>>,.<, and.<<call splices. - Operators — fixed
opdeclarations and the slot vocabulary. - Variadic operators — four fold modes, compound elements, finalizers, and collection literals.
- Error handling —
(T | !)sums and explicit failure flow. - Dependency injection — capabilities as product values, labeled bundles, and row-shaped subsets.
- Higher-kinded types — kinds, type-constructor application, instance newtypes, and imported
do!sequencing. - Package files and bridges — host contracts, targets, dependencies, materialization, rehosting, and retyping.
- Using libraries — the local/Git workflow, re-rooted imports, and the reusable repository libraries.
- Dynamic loading — emitting, loading, contract-matching, instantiating, and calling a Kio' package at runtime.
- Testing with `equiv` — symbolic partial evaluation, residual normal forms, and
kio test. - Writing Kiodoc — checked Markdown snippets,
///comments, references, and item directives. - Exploring a package with `kio repl` — load, query, browse, and navigate modules interactively.
- Debugging with Kio' — inspect the lowered core when surface behavior is surprising.
- Defining elaborators — the checked-term ABI, reflection, captures, diagnostics, and total compile-time recursion.
- Builtin modules — generated exhaustive reference for
__intrinsics__and__comptime__. - The open-world story — what open-world compilation means for imports, inference, and elaborator design.
- Shell completions for `kio` — generate and install
bash,zsh, orfishcompletion scripts. - Installing Kio from source — build the CLI and VS Code extension and configure format-on-save.