Start here
Three useful entry points
Quickstart for first contact, tutorials for examples, reference for detail.
Examples
A few small showcases
Enough code to show the feel of the language before you dive into the docs.
Interpolation
Strings stay lightweight
Use string interpolation directly instead of building formatting helpers first.
fun main() {
let name = "Ada";
let score = 98;
println("${name}: ${score}");
}PointersShared state is explicit
When two closures need the same mutable state, aliasing is visible in the source.
fun main() {
let mut n = 0;
let p: *mut Int = &mut n;
let inc = () -> () { *p += 1; };
inc();
}ADTsEnums drive control flow
Pattern matching stays central: model the alternatives, then make each case explicit.
fun describe(v: Perhaps<Int>) -> String {
match v {
Perhaps::Some { value } => "got ${value}",
Perhaps::None => "empty",
}
}