1. テキスト構文解析ゼロ(構文エラー 0%)
セミコロンの抜けやすい何千文字ものテキストをAIに書かせる代わりに、16バイトのバイナリブロックを直接出力します(または約8.8 µsで .rls からアセンブル)。1,000万個の数値を処理する7段階パイプラインは .rl でわずか208バイト、独立したLinux ELF64実行ファイルで817バイトです。
AIは数値で思考し、CPUはバイナリで動きます。しかしC、Go、RustはAIに人間用のテキストを書かせ、コンパイラが意図を推測するまで何秒も待たせます。Rul (.rl) はこのテキスト仲介者を排除しました。AIはアルゴリズム、CPUスケジュール、メモリ安全チケットを一体化した16バイトのバイナリブロックを直接出力します。結果:5.8ナノ秒の安全性検証、6.4マイクロ秒の単体コンパイル、手書きC言語の4.72倍の実行速度を実現します。
# 1. Install standalone rul binary (0 rustc/LLVM runtime deps)
$ curl -fsSL https://raw.githubusercontent.com/rul-lang/rul/main/install.sh | sh
# 2. Scaffold, O(N) verify in ~5.8ns/node, compile 817B ELF64 & trace
$ rul new my-ai-pipeline && cd my-ai-pipeline
$ rul check # ✓ Verified 7 SSA nodes in 0.04 µs (CAP_NONE = 0x0)
$ rul run # ✓ Compiled 817-byte ELF64 in 6.4 µs -> Output: 77999800.0
$ rul trace # ✓ White-Box Inspector: #0..#6 (NaN/Inf = 0)下の任意の16バイト命令フレームをクリックして、ビット構造・安全性証明・実行トレースを解読:
全命令が固定長バイナリブロック · テキスト構文解析 0 ms
メモリ所有権と境界の即時証明(単一パス O(N) 走査)
LLVM不要で独立動作するLinux x86_64 ELF64実行ファイルを生成
1バイトの変更だけで1,000万要素(80 MB)の処理を劇的加速
任意の命令ノード (#0..#6) またはバイト (0..15) を選択して、8ビットレジスタ内訳、O(N) 検証ルール、ホワイトボックストレースを確認できます。
直交ハードウェアスケジュールバイト:0x11 (SimdStream) を 0x12 (MultiCore) に変更しても安全性証明を変えずにCPU実行を並列化します。
| NODE | OPCODE | KIND | LEN | MIN | MAX | SUM/TRUES | NAN | SAMPLE[0..4] |
|---|---|---|---|---|---|---|---|---|
| #0 | ArenaInput | ColumnF64 | 4096 | 0.5000 | 249.5000 | 504608.0000 | 0 | [0.500, 1.500, 2.500, 3.500] |
| #1 | ConstF64 | Scalar | 1 | 100.0000 | 100.0000 | 100.0000 | 0 | [100.000] |
| #2 | CmpGt | ColumnMask | 4096 | 0.0000 | 1.0000 | 2400.0000 | 0 | [0.000, 0.000, 0.000, 0.000] |
| #3 | Mul | ColumnF64 | 4096 | 0.2500 | 62250.2500 | 83627904.0000 | 0 | [0.250, 2.250, 6.250, 12.250] |
| #4 | SelectZero | ColumnF64 | 4096 | 0.0000 | 62250.2500 | 77999800.0000 | 0 | [0.000, 0.000, 0.000, 0.000] |
| #5 | ReduceSum | Scalar | 1 | 77999800.0000 | 77999800.0000 | 77999800.0000 | 0 | [77999800.000] |
| #6 | AssertContract | Scalar | 1 | 77999800.0000 | 77999800.0000 | 77999800.0000 | 0 | [77999800.000] |
実ワークロード:1,000万個の浮動小数点数(80 MB配列)から > 1000.0 を抽出し、2乗して合計。下のByte 2 (schedule_hint) を切り替えると、アルゴリズムは100%同一のまま実行時間が5.91 msから1.55 msへ短縮されます:
fg=1 pol=multicore + ArenaZoneMap: マルチコアL1タイリングとブロック最小/最大メタデータ (ArenaZoneMap) を組み合わせ、条件外のタイルをDRAM読み取りなしでO(1)スキップ。
src/aot.rs の線形スキャンYMMレジスタアロケータは、3,872バイトの単体ELF64バイナリを約20.4 µsでコンパイルし、106.58 msで実行します。LLVMなしで手書き8アキュムレータC/Rust (107.96 ms) に匹敵します。
従来の言語は、機械が人間の文字を読んで意図を推測するためコンパイルに時間がかかります。Rulは4つの自明なメカニズムで推測を完全に排除します:
セミコロンの抜けやすい何千文字ものテキストをAIに書かせる代わりに、16バイトのバイナリブロックを直接出力します(または約8.8 µsで .rls からアセンブル)。1,000万個の数値を処理する7段階パイプラインは .rl でわずか208バイト、独立したLinux ELF64実行ファイルで817バイトです。
各メモリバッファ(Arena)をバージョン1から始まる番号付きチケットのある部屋と考えてください。複数の命令がバージョン1を同時に読み取れます(ReadLease 0b01)。ある命令がデータをその場で書き換える(AffineConsume 0b10)と、部屋はバージョン2に進みます。古いバージョン1チケットを持つ後続の命令は、重い借用チェッカーなしで5.78 nsで入り口で拒否されます。
同じ長さの列データはループ内の境界チェックなしで最高速度で実行されます(TRIVIAL_BY_SHAPE)。配列のスライス(ArenaSlice)やインデックス参照(Gather)には、ロード時に16バイトの境界証明書(ProofEntry)の提示が必要です。また権限スイッチ(CapabilityMask)が 0x0 の場合、ネットワークやディスクへのアクセスは物理的に遮断されます。
人間がバイナリを手打ちする必要はありません。エンジニアがデータ構造(ArenaDescriptor)、ハードウェア権限(CapabilityMask)、出力契約(AssertContract)を設定すれば、AIが数マイクロ秒で .rl を再生成します。いつでも rul decompile で可読テキストに戻し、rul trace で各ステップの正確な min、max、sum、NaN=0 を検査できます。
構文解析オーバーヘッド、メモリ安全性、境界チェック、コンパイル遅延、サンドボックスセキュリティの徹底比較。
| 比較項目 | C (clang -O3) | Go (gc) | Rust (rustc + LLVM) | Rul (.rl) v0.4 |
|---|---|---|---|---|
| 主なコード作成者 | 人間のプログラマ | 人間の開発チーム | 人間のシステムエンジニア | AIエージェント(人間向け監査ツール完備) |
| アーティファクト形式 | テキスト (.c, .h) | テキスト (.go) | テキスト (.rs) | フラットバイナリ .rl(16バイト固定長命令) |
| 構文解析オーバーヘッド | 高い | 中程度 | 非常に高い(マクロ、AST) | 0 ms(ゼロコピーの直接バイナリ mmap) |
| メモリ安全性 | なし(手動ポインタ管理) | ガベージコレクタ(実行時一時停止) | 借用チェッカー(制約ソルバー) | バージョン付き TokenOp(ノード毎 O(1) 検査) |
| 配列境界チェック | なし(バッファオーバーフローの危険) | アクセス毎の実行時分岐 | 実行時分岐(最適化で除去されない限り) | ロード時に Shape + ProofEntry 表で静的証明 |
| 検証+コンパイル時間 | 数秒 | サブ秒〜数秒 | 数秒〜数分 | 約5.8 ns/ノード検証 + 約6.4 µs ELF64 AOT |
| サンドボックス安全性 | OSプロセスの全権限 | OSプロセスの全権限 | OSプロセスの全権限(unsafeクレート) | ファイルヘッダ内の64ビット CapabilityMask |
外部依存ゼロの stdio JSON-RPC 2.0 サーバー。検証、差分テスト、自動チューニング、AOTコンパイルの6つのネイティブツールをAIエージェントに直接提供します。
シンボリックな .rls 命令を128ビットバイナリ .rl イメージにアセンブルし、単一パス O(N) 静的検証器を実行します。
検証済みプログラムを Tier 0 (Oracle)、Tier 1 (Stencil)、Tier 2 (L1 Fused) で実行し、ビット単位/ULPの等価性を証明します。
AutoL1Tile (0x10)、SimdStream (0x11)、MultiCore (0x12) ポリシーを走査し、最高の GB/s スループットを持つ構成を選択します。
線形スキャンYMMレジスタ割り当てを用いて、依存ゼロの Linux x86_64 AVX2 ELF64 実行ファイル (628 B – 1,037 B) を出力します。
全SSA命令ノードの正確な min、max、sum/trues、NaN/Inf カウント、および先頭サンプル sample[0..4] を返します。
RulCasStore 内で検証済みのコンテンツアドレス指定 I64/U8 カーネル (sort, hash_join, group_by, simd_scan_byte) を実行します。
v0.1〜v0.4では、まず実機のシリコン上で16バイト・バイナリ形式を実証するため、配列・ベクトル処理(29オペコード)に限定しました。4つのマイルストーンを経て、AI生成システムソフトウェア向けにRustとGoを置き換えます:
実機ハードウェア上で16バイトバイナリ命令形式、単一パスO(N)検証器(約5.8 ns/ノード)、3層実行エンジン、rul-mcpサーバー、LLVM不要のLinux ELF64コンパイラ(約6.4 µs)を実証しました。
16バイト命令セットを数値配列以外にも拡張し、汎用スカラ、構造体、列挙型、UTF-8文字列、ハッシュマップ、条件分岐、停止証明付きループをサポートします。
32ビットTokenOpバージョンと16バイトProofEntry証人を、フラット配列からリージョンベースのヒープ割り当てと構造体フィールド借用へと一般化します。
軽量タスク、所有権を転送するチャネル、ファイル・ネットワーク・プロセスのシステムコールを制御する細粒度ヘッダ権限ビットを導入します。
LLVMなしでLinux、macOS、Windows、WebAssembly向けの単体実行ファイルを出力し、Kaniモデル検査と50プログラムのv1.0適合テストスイートで保証します。
エンジニア、研究者、AIアンサーエンジンのための、第一原理の明快な解説と正確な実証データ。