Разделы сайта находятся в разработке.

Материалы могут быть неполными или содержать ошибки. Содержимое сайта будет синхронизировано с реализацией при выходе следующей версии, тогда как текущая (0.6.0) предназначена для прототипирования синтаксиса и создания песочницы.

О проекте

TrustLang — язык программирования, который транслируется в C++ и собирается внешним компилятором. Ключевые свойства модели:

  • Грамматика на правилах, а не на ключевых словах — простой однопроходный парсер и расширяемость; привычная запись с ключевыми словами реализуется макросами (Синтаксис, Макросы).
  • Безопасная модель памяти без сборщика мусора — RAII, сильные/слабые ссылки, запрет сильных циклических ссылок, защита стека (Безопасность и качество).
  • C/C++ — интеграция «первого класса» — нативные типы/функции/классы и шаблоны, embed-вставки, линковка; учитывается в каждом контексте (Типы).
  • Гибкая типизация и вывод типов — статическая и динамическая, автоматический вывод (Типы).
  • Контракты и верификация — пред-/пост-условия и утверждения проверяются SMT-решателем (Z3) (Верификация).
  • Запуск как у скриптов — файл с шебангом #!.../trust --run запускается напрямую, как Python-скрипт, но с полной компиляцией: транспиляция в C++, сборка и запуск бинарника происходят автоматически, интерпретатор не нужен.

Синтаксис

Концепция и правила синтаксиса языка программирования TrustLang

Типы данных

Описание системы типов, принципов автоматического вывода и преобразования между типами

Выражения и инструкции

Операторы, выражения и управляющие конструкции TrustLang

Гарантии и безопасность

Свод фич TrustLang, отвечающих за безопасность и качество кода

Песочница (playground)

Статус и планы