2.0 KiB
2.0 KiB
LoopSignal IR: Box×Loopによる制御統一と最小MIR設計(短いRFC)
目的: LoopSignal IR(Everything is Box × Everything is Loop の融合)を短いRFCとして1本にまとめてください。構文は従来のまま、内部MIRで LoopBox+Signal に正規化する設計です。日本語でお願いします。
読んでほしいファイル(リポ相対パス)
- docs/private/papers/paper-e-loop-signal-ir/main-paper-jp.md
- docs/private/papers/paper-b-nyash-execution-model/main-paper-jp.md
- src/mir/
出力フォーマット(Markdown)
- タイトル: “LoopSignal IR: Box×Loopによる制御統一と最小MIR設計”
-
- 背景と問題
-
- 目標(ユースケース: scope/if/while/for/function/return/generator/async)
-
- 設計
- 3.1 型: LoopSignal(Next/Break/Yield[/Return])とLLVM表現(tag+iN)
- 3.2 MIR命令: loop.begin/iter/branch/end の仕様(前提/事後条件/未定義)
- 3.3 Box=Loop1(init/step/fini)とRAIIの対応
- 3.4 Lowering規則(各構文の擬似MIR; for-in/return/yieldを含む)
-
- 例
- while(true){break} の最小例(Before/After)
- for-inのLoopBox化(ディスパッチ図)
- scope=Loop1の畳み込み例
-
- 図(Mermaid)
- 合流点を1箇所に集約した dispatch CFG
- Signalタグに基づくswitch分岐の構造
-
- 最適化と安全性
- Loop1インライン化、状態省略、DCE/LICM/Inline適用条件、DWARF対策
-
- 段階導入計画(P1/P2/P3)とフォールバック(旧MIRへの逆Lowering)
-
- 関連研究と差分(CPS/代数的効果/ジェネレータ/SSA系IRとの比較)
-
- 成果物とKPI(メトリクス・テスト観点)
- 付録: 用語対比(Box=空間/Loop=時間)、命令一覧、タグ割当、疑似コード集
記法/制約
- コード断片は擬似MIR/擬似LLVMでOK(実コード改変はしない)。
- 図はMermaidで書いてください(
mermaid ...)。 - 2〜4ページ程度の密度で、可搬な単一Markdownとして出力してください。