Этот план показывает приоритеты и степень готовности, а не обещанные даты.
Сейчас
- Текущий публичный продукт включает явный Self Front-end Preview поверх Bootstrap Foundations и установленных прикладных циклов.
- Компилятор, среда выполнения, установочный пакет npm, артефакты, документация и Playground обозначают один текущий продукт.
- Установленный компилятор Stage 2 используется по умолчанию на поддерживаемых маршрутах текущего режима. Точно восстанавливаемый Rust Stage 0 явно доступен для сравнения, восстановления и объявленных маршрутов совместимости.
- Явно выбираемый установленный Stage 1 Compiler Preview потребляет путь производства на Топазе до созданного Rust, фиксирует полное происхождение и не скрывает откат целевой программы.
- Пропущенный выбор и явный
--compiler selfиспользуют установленный C2 на всех 21 объявленных маршрутах текущего режима; неподдерживаемый явный запрос self отклоняется до чтения исходников и создания результата. - C2 выдаёт полный версионированный семантический продукт с профильными решениями, пониженным представлением, созданным Rust и детерминированным происхождением; адаптер среды только проверяет и декодирует его.
- Установленные нативные продукты и продукты Python работают автономно, управляемые браузерные продукты владеют своим статическим комплектом и границей локальных данных, а сгенерированные сервисы — ограниченными полномочиями входящего HTTP, изоляцией, сроками выполнения, наблюдением и завершением.
- Изменяемый
ByteBufferфиксированной длины поддерживает непрерывную двоичную обработку, а неизменяемыйBytesостаётся снимком и транспортным значением для поддерживаемых целей нативной генерации, Python, Web и Web Worker. - Поддерживаемое многомодульное ядро CodeImage собирается установленным штатным Топазом, показывает, что нативная специализация применяется только к формам, допустимость которых установлена проверкой, и сохраняет точные байты и ошибки в артефактах Web и Worker, работающих без исходного пакета Топаза.
- При изменении связанной реализации выполняются целевые дифференциальные проверки. Полные кроссплатформенные и дифференциальные кампании остаются для RC публичного минорного выпуска, которому они принадлежат.
Далее
- Сохранять установленный self по умолчанию, явное восстановление через Rust Stage 0, идентичность фиксированной точки и отказ без скрытого fallback в обычной работе над продуктом.
- Допустить отдельный публичный снимок исходного кода компилятора только после полного просмотра исходников, проверки гигиены, решения по лицензии и сквозного байтового воспроизведения.
- Сохранять без регрессий циклы HTTP-сервиса, локальных данных, браузера, нативного исполнения, Python и двоичных медиа.
- Не создавать отдельный диалект или удобный синтаксис только для компилятора. Даже подтверждённая нагрузкой проблема требует отдельного решения об изменении языка или границы возможностей.
Граница выпуска
Bootstrap Foundations, Self Front-end Preview до Typed, явный производитель
Stage 1 и фиксированная точка Stage 2 доступны в Топазе 5.16.0 /
topaz-5.16. Stage 1 запускается командой
topaz compiler preview [entry] --producer stage1 --terminal rust-source --out-dir <directory>. Установленный маршрут фиксирует полное происхождение
производителя и созданного кода, работает без исходников компилятора,
сохраняет независимое восстановление Rust Stage 0 и не скрывает откат целевой
программы. Завершённые этапы остаются в
Истории.
Явный маршрут Stage 2 запускает отдельный образ C2 и создаёт свежий R2 из
встроенного набора исходников компилятора. Проверка фиксированной точки
фиксирует равенство декодированной семантики компилятора, ограниченных
канонических наблюдений и исходных байтов R1/R2, сохраняя явные различия
происхождения. Проверка установленного продукта без исходников и ограниченные
двухдвижковые регрессии Application Loop, границы компилятора и стандартной
библиотеки, LIT, CodeImage и изолированного Lispex завершены; полная таблица
маршрутов и точные ворота публичного кандидата также зафиксированы.
Установленный C2 используется по умолчанию для поддерживаемой компиляции
текущего режима; Rust Stage 0 остаётся независимым движком восстановления и
совместимости. Отдельная команда производителя Stage 2 остаётся явным Preview
фиксированной точки.
Топаз 5.16.0 / topaz-5.16 публикует Self-hosted Default. Выбор компилятора
учитывает фактический режим языка пакета, подготовка C2 ограничена, а
установленный продукт сохраняет явное восстановление через Rust, журнал
полевых результатов, детерминированную реконструкцию и свидетельство
продвижения тех же байтов. Это гарантии продукта, а не заявление об
исчезновении Rust-оболочки и цепочки восстановления.
Позже
- Сохранять самокомпилируемую реализацию по умолчанию лишь пока остаются воспроизводимыми результаты Stage 1 и Stage 2, согласие двух установленных реализаций и независимый путь восстановления через Rust.
- Считать самокомпиляцию этапом реализации, а не автоматическим основанием для новой основной версии. Для неё по-прежнему нужен реальный несовместимый пользовательский контракт.
- Не включать в этот этап общую нативную раскладку составных значений, произвольный FFI к среде выполнения, новый Web ABI, SIMD, браузерные сетевые запросы, исходящую сеть, удалённую публикацию пакетов, каркасы маршрутизации и промежуточной обработки, общее состояние сервера, базы данных, завершение TLS, WebSocket и новый синтаксис.
- Сохранять старые режимы языка как явные входы совместимости, а не параллельные текущие продукты.
Ограниченные интеграционные свидетельства
Записи интеграции LIT и Lispex остаются полезными внутренними свидетельствами совместимости и регрессий. Они не определяют очередь выпусков, не делают LIT публичным бэкендом Топаза и не доказывают эквивалентность всего языка. Крупные кампании LIT, N-way, мутационной и дифференциальной проверки запускаются лишь при изменении принадлежащей им семантики или когда они нужны конкретному кандидату выпуска.
Исследования
- Расширять дифференциальное тестирование и фаззинг, которые находят неверное понимание языка генераторами кода.
- Рассматривать проверку моделей и механизированные доказательства только для конкретных и воспроизводимых результатов.
- Оставить широкую оптимизацию, асинхронный синтаксис, перехват ошибок выполнения, API графем и пользовательские шаблоны исследовательскими темами до отдельного решения по языку.