Skip to content

wavefnd/Wave

Wave Programming Language Logo

Wave

Systems Programming Language

Created by LunaStev

Website · Docs · Blog · Community


The information about this project is official and can be found on the TechPedia Wiki and the official website.


🚀 Quick Start

curl -fsSL https://wave-lang.dev/install.sh | bash -s -- latest

About Wave

Wave is a systems programming language designed for low-level control and high performance. It has no builtin functions — all functionality is provided through the standard library.

fun main() {
    println("Hello World");
}

Build From Source

git clone https://github.com/wavefnd/Wave.git
cd Wave
cargo build

Compiler binary path:

  • target/debug/wavec (development build)
  • target/release/wavec (release build)

Target Support

Wave follows a tiered platform policy to set clear expectations for stability, CI, and standard library coverage.

🥇 Tier 1 · PrimaryLinux / ELF, Darwin/macOS, WaveOS / Freestanding
  • Full standard library support
  • Required CI coverage
  • ABI stability commitment
  • Release-blocking platforms
  • Official release packaging target
🥈 Tier 2 · SecondaryFreeBSD, Redox, Fuchsia
  • Official support target, but not release-blocking
  • Object generation support expected
  • Binary linking supported when a valid sysroot/toolchain is provided
  • Partial standard library coverage
  • Clear diagnostics required for missing sysroot, CRT, linker, or libc support
  • Open to community collaboration
🥉 Tier 3 · ExperimentalWindows / PE-COFF, OpenBSD, NetBSD, DragonFlyBSD, Haiku
  • Experimental target support
  • Cross-compilation may be available on a best-effort basis
  • Object generation is prioritized over full hosted binary execution
  • Standard library coverage may be incomplete
  • Native execution, packaging, and installer support are not guaranteed

CLI Usage

wavec run <file>
wavec build <file>
wavec build <file> -o <file>
wavec build <file> -c

Useful global options:

  • -O0..-O3, -Os, -Oz, -Ofast
  • --debug-wave=tokens,ast,ir,mc,hex,all
  • --link=<lib>
  • -L <path>
  • --dep-root=<path>
  • --dep=<name>=<path>

Contributing

Contributions are welcome! Please read the contributing guidelines before submitting a pull request.


What can do?

doom-demo-gif


Star History Chart


Built with ❤️ by the Wave community
© 2025 Wave Programming Language • LunaStev • Mozilla Public License 2.0