Language guide
Start with the part of Kalm you need. Each guide is a short, focused read.
- Layout and blocks: indentation, braces, and statements.
- Values and nullability: bindings, types, and absence.
- Functions and flow: calls, branches, loops, and matching.
- Types and contracts: records, classes, and composition.
- Java interoperability: libraries and calls in both directions.
- Resources and concurrency: cleanup, tasks, and synchronization.
- Properties and tests: accessors, initialization, and checks.
For the complete language contract, read the 1.1 specification.