Strongly typed
Type annotations on let, runtime checks at boundaries, generic
Option<T> / Result<T, E> — but no ceremony you don’t need.
let items = [1, 2, 3, 4, 5];items .filter(|x| x > 2) .map(|x| x * 10);// [30, 40, 50]Strongly typed
Type annotations on let, runtime checks at boundaries, generic
Option<T> / Result<T, E> — but no ceremony you don’t need.
Embeddable
cargo add ion-core, register a few host functions, and you have a
scripting layer with predictable evaluation costs and a small surface.
Native async
Tokio under the hood — spawn, await, select, channels, timers,
and async host calls all work like you’d expect.
Real tooling
Bytecode VM, optimizing compiler, LSP, and editor extensions for VS Code, JetBrains, and Zed.