Skip to content

Tutorial

This tutorial teaches the shipped language: what vow build accepts today. When design docs use friendlier spellings (Int, List), the examples here win.

# Page You learn
1 Basics main, let/var, types, print, comments
2 Built-in functions strings, collections, math, JSON, Caps I/O
3 Control flow if expressions, loops, break/continue, match
4 Functions & lambdas fn/function, params, (x) -> …, higher-order helpers
5 Strings & collections "${…}", arrays, maps, Phase 1 helpers, JSON
6 Structs, enums, match struct/class, enums, exhaustiveness
7 OOP methods, interfaces, dyn, inheritance, chaining
8 Syntax ergonomics new, switch, try/catch, print(...)
9 Option & Result no null, ?? / ?., unused-Result errors
10 Interfaces & dyn deeper static + dyn polymorphism
11 Capabilities needs / with / --grant / scoped_to / budgets
12 Contracts requires / ensures
13 Memory & regions arenas, region { }
14 Modules & packages import, vpm
15 Testing test / assert
16 Concurrency threads, processes, async overview
17 Async / await async fn, await db_query, block_on
18 HTTP API vow-web-server + Postgres async demo
Terminal window
curl -fsSL https://install.vowlang.dev | sh
export PATH="$HOME/.local/bin:$PATH"
vow --version

Or follow Install and skim CLI commands. Browse runnable samples in the Examples gallery.

Terminal window
vow new learn-vow && cd learn-vow
vow check src/main.vow