SlimePython — Python → Rust bit-exact 変換
レガシーの COBOL / JCL / MUMPS / PL/I / RPG を Java・Rust へ変換してきた同じ構造的トランスレーション・エンジンが、モダン言語にも対応します。Python ソースが Rust ソースになり、同じ入力に対して両者が SHA-256 完全一致の出力を生成します。「ほぼ等価」ではありません。1 ビットまで一致です。
LANGUAGE · SlimeNENC
レガシーだけにあらず。モダン言語も。
Python の「意味を理解して」書き直すのではありません。意味は人間の感覚に依存し、そこに数学的厳密性はない。ソースは 構造です。SlimePython はその構造を Slot IR へ射影 (π) し、構造を保存したまま Rust へ転写します。確率的なコード生成も、経路上の LLM もなし — 決定論的・bit-exact・第三者再現可能。
何をするか
SlimePython は 静的解析可能・型ヒント付きの Python サブセットを入力に取り、完全な Rust (Cargo) プロジェクトを出力します。契約は厳密です — 同じ入力に対し、元の Python と生成された Rust は SHA-256 で検証された 1 バイト一致の出力を生成します。各変換には比較ハーネスと WASI 再現スクリプトが付属し、誰でもその証明を再実行できます。
- 入力Python 3.12+、
from __future__ import annotations必須、mypy --strictを通る。静的解析可能なサブセットのみ。 - 出力Rust 1.75+ ソース、完全な Cargo プロジェクト(
Cargo.toml+Cargo.lock)、SHA-256 検証スクリプト一式。 - 保証Phase 1–2: bit-exact(SHA-256 完全一致)。Phase 3–4: 数値 / LLM 推論で token-exact。
- 再現性WASI サンドボックス —
wasmtime run3 行。第三者が独立に bit-exact 結果を再現可能。 - 経路構造 → Slot IR → Rust。パイプラインに LLM も確率的生成も一切なし。
「理解」しない。だから bit-exact。
肝は「意味を理解する」工程をあえて捨てることです。「意味」は人間の感覚に依存し、人によって解釈が揺れる — だから「理解して書き直す」移行は、その揺れを持ち込みます。SlimePython はソースを構造(曖昧さなく一意)として扱い、Slot IR へ射影し、構造を保存したまま Rust へ転写します。意味の層を通らないので結果は数学的に厳密 — 何度実行しても出力は 1 ビット一致です。
reject する構文(と理由)
保証を本物に保つため、動的 / 非決定論的な Python は入口で reject します:
| 構文 | 理由 |
|---|---|
eval / exec | 実行時コード生成 — scope 外 |
setattr/__getattr__/type() 動的クラス | 静的解析不能 |
monkey patching(module.func = ...) | 実行時書換 |
random.*(seed なし)、value-significant な time.* | 非決定論 |
threading / multiprocessing(明示 single-thread なし) | 非決定論 |
型なし変数、Any、任意の *args/**kwargs | 型情報が不十分 |
globals() / locals()、C 拡張(cffi / cython) | 静的解析不能 / scope 外 |
効くところ
- AI 推論Python の ML / LLM 推論を Rust(と WASM)へ移植 — 3-way(Python / Rust / WASM)token-exact、Qwen2.5 クラスで検証。重みは一切変えません。
- numpy → ndarray数値 Python(numpy)を Rust
ndarrayへ、同じ結果で対応。「だいたい合う」再実装ではありません。 - 試作 → 本番試作は Python のまま。出荷は 決定論的・単一バイナリ・メモリ安全な Rust — 挙動が同一だと証明できます。
- 監査 / 規制「ハッシュで証明された同一出力」が成果物 — 人手の「だいたい合ってる」UAT が不要。
ステータス
SlimePython は Phase 1–4 PoC(Phase 1–2 は一般静的サブセットで bit-exact、Phase 3–4 は数値 / LLM 推論で token-exact)で、論文ドラフト準備済みです。SlimeNENC 構造的トランスレーション・ファミリーの モダン言語メンバーです — レガシー側は COBOL / JCL / MUMPS / PL/I / RPG・アセンブラを変換します。価格・契約条件は お問い合わせください。
