Об этом проекте
Promise — статически типизированный язык программирования, спроектированный для эффективной работы AI-агентов — и написанный AI-агентами. Он включает явное владение (вдохновлено Rust), параллелизм в стиле goroutine (вдохновлено Go), алгебраическую обработку ошибок, обобщения и исчерпывающее сопоставление с образцом, без скрытых эффектов.
Ключевые особенности:
- Владение и заимствование с помощью & (разделяемые), ~ (изменяемые) и * (сырые указатели)
- Алгебраическая обработка ошибок через !, ?^, ?! и обработчики с сопоставлением с образцом
- Обобщения с ограничениями типов
- Перечисления с данными и исчерпывающим сопоставлением с образцом
- Интерполяция строк и параллелизм в стиле goroutine (go expr возвращает Task[T])
- Генераторы с yield и yield*
- Мета-аннотации для декларативных метаданных
- Никаких макросов и условной компиляции — весь код полностью виден
Моно-версионный каталог: экосистема поставляется в виде атомарных релизов «эпох» (например, 2026.0). Нет версий отдельных пакетов и lock-файлов. Каждый модуль тестируется вместе как единое целое.
Реализованные модули стандартной библиотеки: io, json, os, net, tls, path, math, strings, time, http, gzip, crypto, encoding. Запланированы: ai, auth, cloud, markdown, mcp, msgpack, sandbox, schema, term, toml, yaml.
Самодостаточный инструментарий: компилятор — один бинарный файл (около 15 МБ), который включает стандартную библиотеку, модули каталога и среду выполнения. Он сам настраивает свой инструментарий LLVM 22 в ~/.promise.
Нативная компиляция в LLVM для Linux, macOS, Windows и WASM.
Использование:
promise build file.pr # компилировать в исполняемый файл
promise run file.pr # компилировать и запустить
promise exec 'code' # выполнить строку кода
promise test file.pr # запустить тесты
promise check file.pr # только проверка типов
Сборка из исходного кода требует Go 1.22+, Java (для ANTLR4), clang и LLVM 22+.
Promise построен с использованием Bounded-Autonomy Software Engineering (BASE) — методологии, в которой люди определяют долговременные намерения и контроль качества, а AI-агенты занимаются реализацией. По состоянию на август 2026 года проект включает 18 869 тестов для компилятора и языка.
Статус: в активной разработке, не для производственного использования. Компилятор работает от начала до конца, но возможны шероховатости и сбои.
Лицензия: Apache-2.0 или MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.