このプロジェクトについて
Promiseは、AIエージェントの効率のために設計され、AIエージェントによって書かれた静的型付けプログラミング言語です。Rustに触発された明示的所有権、Goに触発されたgoroutine風並行性、代数的エラー処理、ジェネリクス、網羅的パターンマッチを備え、隠れた効果はありません。
主な機能:
- &(共有)、~(可変)、*(生ポインタ)による所有権と借用
- !、?^、?!、パターンマッチハンドラによる代数的エラー処理
- 型制約付きジェネリクス
- データ付きenumと網羅的パターンマッチ
- 文字列補間とgoroutine風並行性(go exprはTask[T]を返す)
- yieldとyield*によるジェネレータ
- 宣言的メタデータ用のメタ注釈
- マクロや条件付きコンパイルなし — すべてのコードが完全に可視
単一バージョンカタログ: エコシステムは原子的な「エポック」リリース(例: 2026.0)として提供されます。パッケージごとのバージョンやロックファイルはありません。すべてのモジュールは単位として一緒にテストされます。
実装済み標準ライブラリモジュール: io、json、os、net、tls、path、math、strings、time、http、gzip、crypto、encoding。予定: ai、auth、cloud、markdown、mcp、msgpack、sandbox、schema、term、toml、yaml。
自己完結型ツールチェーン: コンパイラは単一バイナリ(約15MB)で、標準ライブラリ、カタログモジュール、ランタイムを同梱します。~/.promise以下に独自のLLVM 22ツールチェーンをセットアップします。
ネイティブ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年8月時点で、プロジェクトにはコンパイラと言語全体で18,869件のテストがあります。
ステータス: 活発に開発中で、本番利用向けではありません。コンパイラはエンドツーエンドで機能しますが、荒削りな部分やクラッシュが予想されます。
ライセンス: Apache-2.0またはMIT。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.