Get the latest compiler release on supported Unix-like systems.
curl -fsSL https://wave-lang.dev/install.sh | bash -s -- latestQuick start
The website now reflects the compiler repository directly: a small toolchain, explicit CLI commands, and debugging flags for compiler development.
Get the latest compiler release on supported Unix-like systems.
curl -fsSL https://wave-lang.dev/install.sh | bash -s -- latestCompile and execute a Wave source file from the CLI.
wavec run examples/hello.waveEmit a native binary when you are ready to ship or inspect output.
wavec build app.wave -o appInspect compiler stages while working on language behavior.
wavec build app.wave --debug-wave=tokens,ast,irLanguage surface
fun main() {
println("Hello World");
}Project philosophy
The compiler stays small and explicit; higher-level functionality belongs in libraries.
Wave favors visible behavior and predictable native output over hidden language machinery.
Token, AST, IR, machine-code, and hex debugging modes keep internals inspectable.
Target policy
Wave sets expectations for standard library coverage, CI, and release stability by target family.
Linux, Darwin, WaveOS
Full standard library support, required CI coverage, and release-blocking status.FreeBSD, Redox, Fuchsia
Maintained build support with partial standard library coverage.OpenBSD
Compiler build and compile path prioritized while platform coverage grows.Windows
Community-maintained status without official standard library target guarantees.Contributing
Wave accepts GitHub pull requests and email patches. Contributions are expected to be focused, signed off, and verified against the compiler toolchain.
git checkout -b fix/parser-bug
git commit -s -m "Fix parser behavior"
git format-patch -1
git send-email --to wave-patches@lunastev.org *.patch