公開 · やさしい入門
SlimePython ― やさしい入門
ひとことで:あなたが書いた Python を、まったく同じ結果を出す Rust に変換するツールです。「だいたい同じ」ではなく、出力が1ビットまで完全に一致することを SHA-256(ハッシュ)で証明します。
なぜうれしいの?
- Python は書きやすい。でも配布・速度・安全性では Rust が強い。
- ふつう「Python を Rust に書き直す」と、本当に同じ動きか不安になる。
- SlimePython は出力が1ビットまで一致することをハッシュで示すので、「だいたい合ってる」の確認作業がいらない。
かんたんな例
たとえば、こんな普通の Python:
def greet(name):
return f"Hello, {name}!"
print(greet("World"))
これを変換した Rust も、実行すると Hello, World! をまったく同じバイト列で出します。同じ入力なら Python と Rust の出力ハッシュが一致 ― それが「証明できた」という意味です。
「私のコード、動的でぐちゃぐちゃだけど…」
大丈夫。きれいに書き直す必要はありません。
- きれいに変換できる部分 → そのまま Rust になります。
- 動的でトリッキーな部分(動的な属性アクセス、書き換え、
evalなど)→ 安全な Python サンドボックスの中でそのまま動かし、その結果だけを固定します。
だから「Python を直してから持ってきて」とは言いません。今の Python のままでいい。Python の動的さ・自由さを矯正せず、そのまま保存する ― これが SlimePython の考え方です。
正直に
すべてのコードで「完璧」を約束はしません。時刻・乱数・通信など、Python 本来の「実行のたびに変わる(ゆらぐ)」部分は、そもそも誰がやっても1ビット一致にはなりません ― これは bit-exact 保証の対象外です(無理に隠さず、そう書きます)。
私たちは「理論上 100%」より 「実際に使って生産性が上がる」ことを大事にしています。
私たちは「理論上 100%」より 「実際に使って生産性が上がる」ことを大事にしています。
もっと知りたくなったら
技術の中身を見る →
Hybrid Bit-Exact Isolate モデル、静的領域と動的領域の分け方、PoC で実証した結果(40/40 bit-exact)など。
PoC を相談する / 再現手順をもらう →
あなたの Python で試したい、実測や再現スクリプトを確認したい ― お気軽にどうぞ。
SlimePython は SlimeNENC 構造的トランスレーション・ファミリーの「モダン言語」メンバーです(レガシー側は COBOL / JCL / RPG など)。
