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 단계
목표: Wahle 도입 시작, 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 조합 최적화
주요 특징
- 
Whale만 사용
 - 
LLVM 전체 제거 (디펜던시 및 모듈)
 - 
코드 최적화 중심
 - 
IR → 실행까지 빠르고 효율적으로
 
최적화 범위
- 
Whale IR 최적화 Pass 설계
 - 
Whale 코드 생성 속도 개선
 - 
Wave의 모든 문법이 Whale에서 완벽 지원
 
테스트
- 
단위 테스트 + 전체 테스트 스위트
 - 
WSON, 표준 라이브러리 호환성 테스트
 - 
크로스 플랫폼 Whale 빌드 확인
 
RC (Release Candidate) 단계
목표: Wave 부트스트랩 시작 — Rust 코드 전면 제거
주요 특징
- 
Wave로 Wave 컴파일러를 재작성 시작
 - 
Whale 기반으로 Wave 코드 자체 실행
 - 
Whale은 self-hosting 단계 진입
 
작업 범위
- 
Whale 기반으로 Wave IR 생성기 재작성
 - 
Rust 제거 + Wave 코드로 대체
 - 
std 및 core 라이브러리 Wave로 작성
 - 
부트스트랩 성공 시 첫 Wave-native 컴파일러 탄생
 
Release 단계 (v0.0.1)
목표: 공식 출시 / 완전한 Whale 기반 독립 언어 생태계 제공
구성 요소
- 
Wave (언어 및 표준 라이브러리)
 - 
Whale (컴파일러 툴체인)
 - 
Vex (패키지 매니저)
 - 
WSON (데이터 포맷)
 
특징
- 
완전한 Wave-only 컴파일러 (부트스트랩 성공)
 - 
Whale 최적화 완료
 - 
Vex 빌드 및 배포 시스템 정착
 - 
WSON 파서 + 직렬화 포함
 - 
크로스 OS 빌드 가능 (
vex build --windows등) 
개발 메타 전략
| 전략 | 설명 | 
|---|---|
| 열차+레일 전략 | Whale을 개발하면서 동시에 Wave 백엔드를 구성해 나가는 병행 진행 | 
| 백엔드 분기 전략 | --backend 옵션으로 LLVM/Whale 선택, alpha에서 중요한 구조 | 
| 구조 역전 계획 | rc 이후부터 Wave 코드가 Whale을 통해 Wave 자신을 컴파일 |