このプロジェクトについて

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。