Topaz v5 начался с компактного языка, ориентированного на выражения, явных восстанавливаемых ошибок через Result и обычной поддержки Unicode-идентификаторов. Здесь описаны изменения, важные для пользователей; внутренние файлы разработки в публичное руководство не входят.
Краткая хронология
| Версия | Изменения языка | Изменения инструментов |
|---|---|---|
| v5.0 | Задана база: выражения, Result и Unicode-идентификаторы. | Зафиксированы общее направление языка и стиль примеров. |
| v5.1 | Добавлены while, break, continue; уточнены разметка, операторы, шаблоны, параллельность и строковые шаблоны. | Усилены проверки грамматики и поведения на основе интерпретатора. |
| v5.2 | Закреплены модули import/export и правила видимости. | Язык, компилятор, среда выполнения и дистрибутивы объединены в первую публичную линию v5.2. |
| v5.3 | Сохранена модульная основа v5.2, расширена библиотека. | Бинарные файлы, playground, документация и npm-пакет выходили в разное время из-за быстрого цикла разработки; семантика языка не расходилась. |
| v5.4 | Сохранён сложившийся синтаксис v5. | Упорядочены бинарные файлы и установка; в v5.4.1 появилась экспериментальная генерация Python. |
| v5.5 | Без ломки старых программ расширялись библиотека и среда выполнения. | Python стал поддерживаемым бэкендом; расширилось сравнение результатов интерпретатора, Rust и Python. |
| v5.6 | Объединяет текущие обобщённые функции, номинальные данные, обновление записей, шаблоны, конвейеры и расширенную стандартную библиотеку. | Выпускает интерпретатор, Rust, Python, WASM-песочницу и пакетные инструменты в одной линии v5.6. |
| v5.6.1 | Не меняет закреплённую семантику языка v5.6. | Переносит Cargo во временное хранилище, исключает рост кэша Python, добавляет identity артефактов и согласует лицензии и пакеты. |
| v5.6.2 | Не меняет закреплённую семантику языка v5.6 и поведение инструментов. | Обновляет формулировки документации и npm-пакета; функциональных изменений нет. |
| v5.6.3 | Не меняет закреплённую семантику языка v5.6 и поведение инструментов. | Удаляет адрес закрытого репозитория из списка пакета npm; изменяются только метаданные. |
| v5.6.4 | Сохраняет каноническую грамматику и семантику v5.6 без изменений. | Добавляет основу установленного многомодульного Application Loop, автономные сборки пакетов native/Python и машиночитаемую проверку agent-pack. |
| v5.6.5 | Сохраняет каноническую грамматику и семантику v5.6 без изменений. | Завершает установленный Application Loop, fmt --check, локализованные руководства, прямую публикацию npm и ограниченную полевую проверку. |
| v5.6.6 | Сохраняет каноническую грамматику и семантику v5.6 без изменений. | Добавляет изменяемый ByteBuffer фиксированной длины и исправляет владение памятью при выделении и возврате крупных Web-результатов. |
| v5.6.7 | Сохраняет режим языка topaz-5.6 и его каноническую грамматику и семантику. | Добавляет проверяемый жизненный цикл Web Application, безопасный браузерный хост, шаблон web-app, loopback-разработку и полный статический комплект. |
| v5.7.0 | Наследует всю грамматику и семантику v5.6 в отдельном текущем режиме topaz-5.7. | Объединяет компилятор, runtime, пакеты, артефакты, npm, WASM, Playground и документацию на линии 5.7; добавляет Data Lens и Markdown Live в установленный автономный Web Application Loop. |
Текущая версия
Это руководство описывает текущую языковую линию v5.7 и Topaz 5.7.0. Явный режим v5.6 остаётся поддерживаемым входом совместимости. Сведения об установке, совместимости и целях находятся в разделе Состояние инструментария. Для переноса старого кода откройте Переход с до-v5.
Внутренние свидетельства интеграции LIT
Внутренние свидетельства интеграции охватывают один канонический исходник Lispex-in-Topaz для интерпретатора, generated Rust, generated Python и Web на ограниченной четырёххостовой поверхности проверки. LIT поддерживает 84 из 205 строк primitive capabilities и шесть из 18 guest-calling; неподдерживаемые строки завершаются явно.
Эти свидетельства не меняют язык v5.7 или публичную границу продукта. Четыре маршрута — варианты host одного исходника LIT, а не независимые реализации; независимость исходного кода и эквивалентность всего языка не заявляются. LIT не входит в публичные бэкенды.