Topazdocs
Основы

План развития

Текущие приоритеты продукта и граница следующего публичного выпуска.

Этот план показывает приоритеты и степень готовности, а не обещанные даты.

Сейчас

  • Текущий публичный продукт включает устанавливаемый Stock Binary Media Kernel Application Loop.
  • Compiler, runtime, npm installer, артефакты, документация и Playground обозначают один текущий продукт.
  • Установленные native- и Python-продукты работают автономно, управляемые браузерные продукты владеют своим статическим комплектом и границей локальных данных, а сгенерированные сервисы — ограниченными полномочиями входящего HTTP, изоляцией, сроками выполнения, наблюдением и завершением.
  • Изменяемый ByteBuffer фиксированной длины поддерживает непрерывную двоичную обработку, а неизменяемый Bytes остаётся снимком и транспортным значением для поддерживаемых целей нативной генерации, Python, Web и Web Worker.
  • Поддерживаемое многомодульное ядро CodeImage собирается установленным штатным Topaz, показывает причины отказоустойчивого выбора нативной генерации и сохраняет точные байты и ошибки в автономных артефактах Web и Worker.
  • При изменении связанной реализации запускать целевые дифференциальные проверки. Полные кроссплатформенные и полные дифференциальные кампании оставлять только для RC публичного минорного релиза, которому они принадлежат.

Далее

  • Выбирать следующее направление цикла приложений по конкретным свидетельствам поддерживаемых продуктов, не резервируя заранее версию или синтаксическую возможность.
  • Сохранять без регрессий циклы HTTP-сервиса, локальных данных, браузера, нативного исполнения, Python и двоичных медиа.
  • Требовать отдельного решения о возможностях перед расширением раскладки составных значений, ABI, кодеков, сети или синтаксиса языка.

Граница выпуска

Штатный компилятор, поддерживаемая проверка CodeImage, устанавливаемые продукты и все видимые пользователю идентификаторы переходят вместе как Topaz 5.10.0. Внутренние этапы, создавшие эту границу, остаются в Истории.

Позже

  • Не включать в этот этап общую нативную раскладку составных значений, произвольный FFI к среде выполнения, новый Web ABI, SIMD, браузерные сетевые запросы, исходящую сеть, удалённую публикацию пакетов, каркасы маршрутизации и промежуточной обработки, общее состояние сервера, базы данных, завершение TLS, WebSocket и новый синтаксис.
  • Сохранять старые режимы языка как явные входы совместимости, а не параллельные текущие продукты.

Ограниченные интеграционные свидетельства

Записи интеграции LIT и Lispex остаются полезными внутренними свидетельствами совместимости и регрессий. Они не определяют очередь выпусков, не делают LIT публичным бэкендом Topaz и не доказывают эквивалентность всего языка. Крупные кампании LIT, N-way, мутационной и дифференциальной проверки запускаются лишь при изменении принадлежащей им семантики или когда они нужны конкретному кандидату выпуска.

Исследования

  • Расширять дифференциальное тестирование и фаззинг, которые находят неверное понимание языка генераторами кода.
  • Рассматривать проверку моделей и механизированные доказательства только для конкретных и воспроизводимых результатов.
  • Оставить широкую оптимизацию, асинхронный синтаксис, перехват ошибок выполнения, API графем и пользовательские шаблоны исследовательскими темами до отдельного решения по языку.

Связанная документация