Skip to main content

Wave + Whale Integrated Development Roadmap v2

Overall Stages

pre-alpha → pre-beta → alpha → beta → rc → release

Pre-Beta Stage

Objective: Complete the Wave language frontend + Implement full functionality using LLVM backend

Key Features

  • Use only LLVM (No Whale)

  • No grammar additions, only existing specifications implemented

  • Stabilize frontend-centric structure like error messages, type checking, variable scoping, etc.

Implementation Scope

  • Variable declaration, output, operations

  • Function definition and invocation

  • if / else if / else

  • while / break / continue

  • Format output, type specification

  • Pointer design (in ptr<T> format)

  • Array design (array<T, N>)

  • Type checking and structural AST

Technologies Used

  • Rust (Entire Wave Compiler)

  • LLVM (IR generation, AOT execution)

  • inkwell / llvm-sys


Alpha Stage

Objective: Begin introducing Whale, use alongside LLVM / Start implementing Whale-based backend

Key Features

  • LLVM is the default backend

  • Whale is an optional backend

  • Wave code execution can branch with --backend option

wavec run main.wave --backend=whale
wavec run main.wave --backend=llvm
  • Design and define Whale IR structure (Instruction, Value, Block, etc.)

  • Implement IR Generator for Whale

  • Whale code generator (Assembly or Binary)

  • Implement types only possible with Whale (i1024, advanced pointers, etc.)

Checkpoint

  • Print Hello World with Whale

  • Variable declaration/assignment in Whale

  • Implement Whale IR debugging tool

  • Handle pointer types in Whale

  • Proceed with Wave → Whale IR conversion


Beta Stage

Objective: Complete transition to Whale, remove LLVM. Optimize Whale + Wave combination

Key Features

  • Use only Whale

  • Complete removal of LLVM (dependencies and modules)

  • Code-centric optimization

  • Fast and efficient from IR to execution

Optimization Scope

  • Design Whale IR optimization pass

  • Improve Whale code generation speed

  • All Wave grammar perfectly supported in Whale

Testing

  • Unit tests + full test suite

  • WSON, test standard library compatibility

  • Verify cross-platform Whale build


RC (Release Candidate) Stage

Objective: Start Wave bootstrap — Complete removal of Rust code

Key Features

  • Begin rewriting the Wave compiler in Wave

  • Execute Wave code itself based on Whale

  • Whale enters self-hosting phase

Work Scope

  • Rewrite the Wave IR generator based on Whale

  • Remove Rust + Replace with Wave code

  • Write std and core libraries in Wave

  • First Wave-native compiler born upon successful bootstrap


Release Stage (v0.0.1)

Objective: Official release / Provide a complete Whale-based independent language ecosystem

Components

  • Wave (Language and Standard Library)

  • Whale (Compiler Toolchain)

  • Vex (Package Manager)

  • WSON (Data Format)

Features

  • Complete Wave-only compiler (Successful bootstrap)

  • Whale optimization complete

  • Establish Vex build and deployment system

  • Includes WSON parser + serialization

  • Cross OS build possible (vex build --windows, etc.)


Development Meta Strategy

StrategyDescription
Train + Rail StrategySimultaneously develop Whale while structuring Wave backend as parallel progress
Backend Branching StrategySelect LLVM/Whale with --backend option, critical structure at alpha
Structure Inversion PlanFrom rc onward, Wave code compiles itself through Whale