Wave + Whale 統合開発ロードマップ v2
全体ステージ
pre-alpha → pre-beta → alpha → beta → rc → release
Pre-Beta ステージ
目標: Wave 言語のフロントエンド完成 + LLVM バックエンドを利用した全機能実装
主な特徴
-
LLVM のみ使用 (Whale なし)
-
文法の追加はなし、既存仕様のみを実装
-
エラーメッセージ、タイプチェック、変数スコープなどフロント中心の構造安定化
実装範囲
-
変数宣言、出力、演算
-
関数定義および呼び出し
-
if / else if / else
-
while / break / continue
-
フォーマット出力、タイプ指定
-
ポインタ設計 (
ptr<T>
形式) -
配列設計 (
array<T, N>
) -
タイプチェックおよび構造的 AST
使用技術
-
Rust (Wave コンパイラ全て)
-
LLVM (IR 生成、AOT 実行)
-
inkwell / llvm-sys
Alpha ステージ
目標: Whale 導入開始、LLVM と並行使用 / Whale ベースのバックエンド開始実装
主な特徴
-
LLVM はデフォルトバックエンド
-
Whale はオプションバックエンド
-
Wave コード実行時に
--backend
オプションで分岐可能
wavec run main.wave --backend=whale
wavec run main.wave --backend=llvm
Whale 関連作業
-
Whale IR 構造設計および定義 (Instruction, Value, Block など)
-
Whale 用 IR Generator 実装
-
Whale コード生成器 (アセンブリ or バイナリ)
-
Whale のみで可能なタイプ実装 (
i1024
、高度なポインタなど)
チェックポイント
-
Whale で Hello World 出力
-
Whale で変数宣言/割り当て
-
Whale IR デバッグツール実装
-
Whale でポインタタイプ処理
-
Wave → Whale IR 変換進行
Beta ステージ
目標: Whale で完全転換、LLVM 除去。 Whale + Wave 組み合わせ最適化