Skip to content

wavefnd/Wave

Repository files navigation

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)

Platform Support

Wave separates the platform that runs the compiler from the platform that the compiler generates code for.

The wavec compiler is intended to run on Linux, macOS, and Windows. Release packages bundle the LLVM components needed by the compiler so users do not need to install LLVM manually.

Wave can generate native hosted programs when the target linker, system libraries, and sysroot are available. It can also generate freestanding objects for kernels, bootloaders, firmware, and other no-OS environments with --freestanding.

WaveOS is developed as a freestanding target. The current workflow is to run wavec on a host OS and emit WaveOS boot or kernel artifacts. Running the compiler inside WaveOS itself is a later hosted-compiler milestone.


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