Skip to content

Keywords

Source of truth: KEYWORDS in the compiler lexer (interpreter.py). This table is the implemented set.

Kind Keywords
Declarations fn, function, struct, class, enum, interface, type, let, var, pub, import, as, dyn, open, extends, override, new, static, async
Control if, else, while, for, in, match, switch, case, return, break, continue, try, catch, await
Memory region
Capabilities needs, with
Contracts requires, ensures, result
Logic and, or, not, true, false
Effects / DX print, eprint
Tests test, assert

Notes:

  • function is accepted; vow fmt normalizes it to fn.
  • classstruct for data layout; inheritance adds open / extends / override.
  • new Type(…) calls Type.new when defined.
  • switch / case desugar to match (same exhaustiveness).
  • try / catch handle Result locally (not OS exceptions).
  • async fn + await — cooperative async runtime with real yield points (db_query, read_file_async, spawn_blocking, async_sleep). Sync code calls async fns via block_on. See Async / await.
  • dyn marks dynamic interface values (Array<dyn Shape>).
  • region opens a sub-arena scope.
  • result is meaningful inside ensures.
  • Match wildcard _ is a pattern token, not listed in KEYWORDS.
  • Full walkthrough: Tutorial / Syntax ergonomics
Avoid Prefer
&& / || / ! and / or / not

Still not language features: comptime, unsafe. Avoid as identifiers.

int, int64, f32, f64, bool, String, Array, Map, Option, Result, Some, None, Ok, Err, Caps, FsRead, FsWrite, Net, Env, Clock, Rand, Proc, Threads, Thread, Process

Aliases: FileReadFsRead, FileWriteFsWrite, i32int, i64int64, stringString.