One way to write it
Canonical syntax with no synonyms. LLMs converge on the correct output faster because there’s only one valid way to express each concept.
One way to write it
Canonical syntax with no synonyms. LLMs converge on the correct output faster because there’s only one valid way to express each concept.
Multi-target
Write once, compile to Rust, TypeScript, or WASM. Same semantics, same types, every target.
Repair-first compiler
Every error includes file:line, context, and an actionable hint. The compiler is a repair tool, not a rejection tool.
Effect tracking
Side effects are visible in the type signature. effect fn marks functions that touch the outside world.
Tiny WASM binaries
Direct IR-to-WASM emission with no runtime overhead. Hello World compiles to ~2 KB. Full stdlib programs stay under 50 KB.
fn greet(name: String) -> String = "Hello, ${name}!"
fn factorial(n: Int) -> Int = if n <= 1 then 1 else n * factorial(n - 1)
effect fn main() -> Result[Unit, String] = { let message = greet("world") println(message) ok(())}Language Guide
Learn the fundamentals — types, functions, control flow, and more.
Standard Library
22 modules, 381 functions. Everything from strings to HTTP.
Reference
Formal grammar, operator precedence, CLI usage.
Playground
Try Almide in the browser — no installation required.