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