Skip to main content

Wave + Whale Integrated Development Roadmap v2

Overall Phases

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

Pre-Beta Phase

Goal: Complete the frontend of the Wave language + implement full functionality using the LLVM backend

Key Features

  • LLVM-only usage (no Whale)

  • No new syntax; only existing specifications will be implemented

  • Stabilization of frontend-focused structure: error messages, type checking, variable scoping, etc.

Implementation Scope

  • Variable declaration, output, arithmetic operations

  • Function definition and invocation

  • if / else if / else

  • while / break / continue

  • Formatted output, explicit type declaration

  • Pointer design (ptr<T> format)

  • Array design (array<T, N>)

  • Type checking and structured AST

Technologies Used

  • Rust (entire Wave compiler)

  • LLVM (IR generation, AOT execution)

  • inkwell / llvm-sys


Alpha Phase

Goal: Begin integration of Whale, use it alongside LLVM / Begin implementing Whale-based backend

Key Features

  • LLVM as the default backend

  • Whale as an optional backend

  • Execution of Wave code can branch using the --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

  • Implement Whale code generator (assembly or binary)

  • Implement Whale-exclusive types (e.g., i1024, advanced pointer types)

Checkpoints

  • Output "Hello World" with Whale

  • Variable declaration/assignment in Whale

  • Implement Whale IR debugging tools

  • Handle pointer types in Whale

  • Start translation: Wave → Whale IR


Beta Phase

Goal: Full transition to Whale, remove LLVM. Optimize the Whale + Wave combination

Key Features

  • Whale-only usage

  • Complete removal of LLVM (dependencies and modules)

  • Focus on code optimization

  • Fast and efficient from IR to execution

Optimization Scope

  • Design Whale IR optimization passes

  • Improve Whale code generation speed

  • Full support for all Wave syntax within Whale

Testing

  • Unit tests + complete test suite

  • WSON and standard library compatibility tests

  • Verify cross-platform Whale builds


RC (Release Candidate) Phase

Goal: Start bootstrapping Wave — fully remove Rust code

Key Features

  • Begin rewriting the Wave compiler using Wave itself

  • Execute Wave code based on the Whale backend

  • Whale enters the self-hosting stage

Tasks

  • Rewrite Wave IR generator using Whale backend

  • Remove Rust and replace with Wave code

  • Write std and core libraries in Wave

  • Upon successful bootstrap, the first Wave-native compiler is born


Release Phase (v0.0.1)

Goal: Official release / Provide a fully Whale-based standalone language ecosystem

Components

  • Wave (language and standard library)

  • Whale (compiler toolchain)

  • Vex (package manager)

  • WSON (data format)

Highlights

  • Fully Wave-only compiler (successful bootstrap)

  • Whale optimization completed

  • Vex build and deployment system established

  • Includes WSON parser + serialization

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


Development Meta Strategy

StrategyDescription
Train + Rail StrategyDevelop Whale and build the Wave backend in parallel
Backend BranchingUse --backend option to select LLVM/Whale; crucial structure in alpha phase
Structural InversionFrom the rc phase onward, Wave code compiles Wave itself via Whale