Интегрированная дорожная карта разработки Wave + Whale v2
Все этапы
предварительная альфа → предварительная бета → альфа → бета → rc → релиз
Этап предварительной беты
Цель: завершение фронтенда языка 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
 
Этап альфа
Цель: начало внедрения Whale, параллельное использование с LLVM / начало реализации бэкенда на базе Whale
Основные особенности
- 
LLVM является бэкендом по умолчанию
 - 
Whale - опциональный бэкенд
 - 
При выполнении кода Wave можно использовать опцию
--backendдля переключения 
wavec run main.wave --backend=whale
wavec run main.wave --backend=llvm
Работы, связанные с Whale
- 
Проектирование и определение структуры Whale IR (инструкции, значения, блоки и т.д.)
 - 
Реализация IR генератора для Whale
 - 
Генератор кода Whale (ассемблерный или бинарный)
 - 
Реализация типов, возможных только в Whale (
i1024, продвинутые указатели и т.д.) 
Контрольная точка
- 
Вывод 'Hello World' с помощью Whale
 - 
Объявление/присвоение переменных в Whale
 - 
Реализация инструмента отладки Whale IR
 - 
Обработка типов указателей в Whale
 - 
Преобразование Wave в Whale IR
 
Этап бета-версии
Цель: полный переход на Whale, удаление LLVM. Оптимизация комбинации Whale + Wave
Основные характеристики
- 
Используется только Whale
 - 
Полное удаление LLVM (зависимости и модули)
 - 
Фокус на оптимизации кода
 - 
От IR до выполнения быстро и эффективно
 
Область оптимизации
- 
Проектирование оптимизационного прохода Whale IR
 - 
Улучшение скорости генерации кода Whale
 - 
Полная поддержка всей грамматики Wave в Whale