Разделы сайта находятся в разработке.
Материалы могут быть неполными или содержать ошибки. Содержимое сайта будет синхронизировано с реализацией при выходе следующей версии, тогда как текущая (0.6.0) предназначена для прототипирования синтаксиса и создания песочницы.
Песочница (playground)
Что такое песочница
Песочница (playground) — это интерактивная веб-страница, где можно писать код на TrustLang прямо в браузере и сразу видеть сгенерированный результат транспиляции в C++. Это «живой» пример языка с встроенным редактором и подсветкой кода, выбором примеров из списка, выводом диагностических сообщений, кросс-навигация между кодом и C++ и кнопкой для скачивания итогового build-архива.
Ссылки на состояние песочницы (URL-параметры)
Страницу песочницы можно открыть сразу в нужном состоянии, передав опциональные параметры
в URL (query-string). Все параметры необязательны и без line позиция курсора не меняется:
file=<имя файла примера>— выбрать предопределённый файл из списка примеров (комбобокс);win=src|cppt— окно, куда ставится курсор (src— исходный Trust-код,cppt— сгенерированный C++; по умолчаниюsrc);line=<n>,col=<m>— позиция курсора (строки/колонки 1-based;colпо умолчанию 1);toLine=<n>,toCol=<m>— конец диапазона выделения (если заданы — выделение отline:colдоtoLine:toCol, иначе просто установка курсора).
Копирование ссылки: при навигации по строкам внизу страницы в статус-строке
выводится диапазон (→ cpp: N / → trust: N) и ссылка «🔗 copy link»,
клик на которую копирует в буфер обмена URL текущего состояния песочницы (выбранный файл,
окно и позицию/выделение курсора), чтобы им можно было поделиться.
Статус-строка песочницы
Страница сама по себе ничего не вычисляет — она отправляет код на роутер/балансировщик (playground), который распределяет задачу транспиляции исходного кода на свободный исполнительный узел (worker), и уже тот выполняет транспиляцию Trust → C++, а результат возвращается обработанным балансировщику и отображается на странице браузера.
Внизу страницы отображается постоянный индикатор связи с балансировщиком:
- 🟢 balancer online · workers: N — связь есть, воркеры активны;
- 🟠 balancer online · no workers — связь есть, но свободных воркеров нет;
- 🔴 no connection to the balancer — балансировщик недоступен (сетевой сбой или балансировщик остановлен).
Как запустить свой воркер
Вы можете помочь проекту и запустить свой узел-исполнитель за несколько минут. Для этого нужно:
- Linux-сервер (VPS) с
systemdи возможностью исходящего TCP-соединения к балансировщику (обычный интернет). - Дистрибутив
trust-lang-*.tar.gzилиdebпакет (содержитtrust-playgroundиtrust-lsp). - Токен воркера (64 hex-символа) — выдаются администратором.
Песочница работает по трёхуровневой схеме
браузер (статическая страница)
│ POST /run, GET /health, POST /download
▼
балансировщик (playground)
│ реестр воркеров, очередь запросов, rate-limit, статистика
▼
исполнительные узлы (worker) ← подключаются сами (исходящее соединение),
│ reverse long-poll за задачами
▼
trust-lsp --json ← (локальное выполнение Trust → C++)
Ключевые особенности:
- Роутер/балансировщик не выполняет вычислений — только принимает запросы, ведёт реестр
воркеров и диспетчеризует задачи. Слушает локально (
127.0.0.1), наружу его отдаёт nginx по HTTPS. - Воркеры сами подключаются к балансировщику (исходящее соединение — двойной NAT не мешает), регистрируются по токену и выполняют транспиляцию в изолированном субпроцессе с лимитами памяти, времени и размера вывода.
- Если свободных воркеров нет, балансировщик отвечает «нет воркеров» со ссылкой на эту инструкцию.
Шаги
-
Получите токен доступа у администратора проекта (admin@trust-lang.net). Воркер аутентифицируется этим токеном.
-
Скопируйте или соберите дистрибутив:
cmake -B _build && cmake --build _build --target trust-playground trust-lsp cmake --build _build --target package -
Запустите воркер напрямую (без root и без скрипта установки). Он читает настройки из
trust-playground.confрядом с бинарником или через опции в командной строке:./trust-playground --token <ТОКЕН> --lsp /path/to/trust-lspПосле чего в консоли появится сообщение
settings saved to ./trust-playground.conf as defaultsи запустится воркер со статистикой работы в реальном времени, а в следующий раз для запуска будет достаточно просто:./trust-playgroundИли для работы в фоне:
nohup ./trust-playground >> trust-playground-worker.log 2>&1 &Остановка в фоне:
pkill -x trust-playground.