Интеграция

Границы интеграции

Выберите нативный или Web-продукт, вызов правил Лиспекса и код, которому нужны отдельные проверки и разрешения.

Выберите, как приложение на Топазе будет взаимодействовать с другой программой или средой выполнения. Таблица поможет найти нативный файл, интерфейс JavaScript, вызов правила Лиспекса или преобразование исходников.

Начните с работающего пакета Топаза. Руководства по ссылкам объясняют, какие файлы, инструменты и входные данные нужны для каждого варианта.

Выберите способ по задаче

ЗадачаС чего начатьЧто использовать
Запустить настольную или серверную программуБэкенд RustНативный файл, собранный через Cargo для ОС и архитектуры машины сборки
Вызвать Топаз из браузера или WorkerWASM и песочницаПакет Web или Worker со сгенерированными привязками JavaScript и объявлениями типов
Добавить обёртку на Rust или в сервисеБэкенд RustСгенерированный продукт и собственный вызывающий код
Вызывать правила решений из приложенияЗапуск правил ЛиспексаПакет с именованными правилами, лимитами, квотами и типизированными результатами
Вычислить одно правило Лиспекса без пакетаВычислитель Лиспекса и LITФайлы правила, входа и лимитов, затем результат и отчёт
Проверить инструментарий интерпретатором LITВычислитель Лиспекса и LITОдна тестовая программа при прямом выполнении, через сгенерированный Rust и через Web
Преобразовать исходники с Lena CodeИнтеграция с Lena CodeОтдельно сопровождаемый процесс преобразования исходников

build --target выбирает результат сборки для поставки. topaz lispex embed вычисляет правило. LIT служит тестовой программой репозитория. Выберите операцию под свою задачу.

Пишите исходники Топаза на его синтаксисе

Размещайте прикладную логику в модулях .tpz. Модули, импорты, выражения, типы, шаблоны и диагностика следуют правилам Топаза.

Для подключения стороннего кода используйте интерфейс сгенерированного продукта. Его ABI определяет передачу аргументов и результатов между программами. Топаз не принимает import rust или встроенные выражения Rust и JavaScript. Владение и исключения нужно явно обрабатывать в вызывающем коде. Сгенерированный исходный файл не расширяет синтаксис .tpz.

Проверьте результат после подключения

  1. Проверьте и запустите пакет Топаза с известными входными данными.
  2. Соберите выбранную цель и передайте продукту тот же вход.
  3. Сравните используемые приложением результаты, например стандартный вывод, код завершения, выходные файлы или поле, возвращённое в JavaScript.
  4. Повторите проверку при смене компилятора или целевой платформы.

Запишите вход, среду и ожидаемый результат, чтобы другой разработчик мог повторить проверку. Внутреннее устройство объектов и структура сгенерированного кода могут различаться между платформами.

Проверьте вызывающий код и разрешения

Хостом называется программа или среда, вызывающая код Топаза. Отдельно проверьте зависимости обёртки, владение, обработку ошибок и безопасность.

Импорт модуля не даёт разрешений на файлы, сеть, процессы, переменные окружения, часы или базу данных. Настройте разрешения в среде, где выполняется операция. Если целевая платформа не сохраняет нужное поведение, она должна сообщить об ошибке, а не менять его молча.

Правила Лиспекса выполняются без доступа к файлам, часам и сети. Сохранённые записи вычислений не подписаны и не разрешают внешние действия. О лимитах ресурсов и обработке записей читайте в разделе Запуск правил Лиспекса.