docs(joinir): link Phase 81 ExitLine contract SSOT
Phase 81 完了を受けて docs リンク追加: - 01-JoinIR-Selfhost-INDEX.md: Phase 81 entry - 10-Now.md: Phase 81 status update - joinir-architecture-overview.md: Phase 81 ExitLine contract verification section Phase 74-81 complete: BindingId migration + ExitLine contract verified
This commit is contained in:
@ -39,6 +39,7 @@ JoinIR の箱構造と責務、ループ/if の lowering パターンを把握
|
|||||||
- `docs/development/current/main/PHASE_77_EXECUTIVE_SUMMARY.md`
|
- `docs/development/current/main/PHASE_77_EXECUTIVE_SUMMARY.md`
|
||||||
- `docs/development/current/main/phase78-bindingid-promoted-carriers.md`
|
- `docs/development/current/main/phase78-bindingid-promoted-carriers.md`
|
||||||
- `docs/development/current/main/phase80-bindingid-p3p4-plan.md`(P3/P4 への配線計画)
|
- `docs/development/current/main/phase80-bindingid-p3p4-plan.md`(P3/P4 への配線計画)
|
||||||
|
- `docs/development/current/main/phase81-pattern2-exitline-contract.md`(promoted carriers の ExitLine 契約検証)
|
||||||
4. 代表的な Phase 文書(現役ラインとの接点だけ絞ったもの)
|
4. 代表的な Phase 文書(現役ラインとの接点だけ絞ったもの)
|
||||||
- `docs/development/current/main/phase33-16-INDEX.md`
|
- `docs/development/current/main/phase33-16-INDEX.md`
|
||||||
- `docs/development/current/main/phase33-17-joinir-modularization-analysis.md`
|
- `docs/development/current/main/phase33-17-joinir-modularization-analysis.md`
|
||||||
|
|||||||
@ -24,10 +24,12 @@
|
|||||||
- JoinIR lowering 側は name-based から BindingId-based へ段階移行中:
|
- JoinIR lowering 側は name-based から BindingId-based へ段階移行中:
|
||||||
- `ScopeManager.lookup_with_binding()` / `ConditionEnv.binding_id_map` を導入し、shadowing を壊さずに解決できる足場を作った。
|
- `ScopeManager.lookup_with_binding()` / `ConditionEnv.binding_id_map` を導入し、shadowing を壊さずに解決できる足場を作った。
|
||||||
- promoted carriers(DigitPos/Trim)については `BindingId(original) → BindingId(promoted) → ValueId(join)` の鎖を dev-only で整備中。
|
- promoted carriers(DigitPos/Trim)については `BindingId(original) → BindingId(promoted) → ValueId(join)` の鎖を dev-only で整備中。
|
||||||
|
- Phase 81 で Pattern2(DigitPos/Trim)の ExitLine 契約(ConditionOnly を exit PHI から除外、LoopState のみを reconnect)を E2E で固定した。
|
||||||
- 参照:
|
- 参照:
|
||||||
- `docs/development/current/main/phase73-scope-manager-design.md`
|
- `docs/development/current/main/phase73-scope-manager-design.md`
|
||||||
- `docs/development/current/main/phase78-bindingid-promoted-carriers.md`
|
- `docs/development/current/main/phase78-bindingid-promoted-carriers.md`
|
||||||
- `docs/development/current/main/phase80-bindingid-p3p4-plan.md`
|
- `docs/development/current/main/phase80-bindingid-p3p4-plan.md`
|
||||||
|
- `docs/development/current/main/phase81-pattern2-exitline-contract.md`
|
||||||
|
|
||||||
### JsonParser / Selfhost depth‑2 ライン
|
### JsonParser / Selfhost depth‑2 ライン
|
||||||
|
|
||||||
|
|||||||
@ -69,6 +69,8 @@ JoinIR ラインで守るべきルールを先に書いておくよ:
|
|||||||
4. **式としての戻り値とキャリア更新を分離する**
|
4. **式としての戻り値とキャリア更新を分離する**
|
||||||
- 「ループが式として値を返す」ケース(例: `let r = loop_min_while(...)`)の出口は **exit_phi_builder** が扱う。
|
- 「ループが式として値を返す」ケース(例: `let r = loop_min_while(...)`)の出口は **exit_phi_builder** が扱う。
|
||||||
- 「ループが状態更新だけする」ケース(例: `trim` の `start/end`)の出口は **ExitLine(ExitMeta / ExitBinding / ExitLineReconnector)** だけが扱う。
|
- 「ループが状態更新だけする」ケース(例: `trim` の `start/end`)の出口は **ExitLine(ExitMeta / ExitBinding / ExitLineReconnector)** だけが扱う。
|
||||||
|
- promoted carriers(例: DigitPos/Trim の `ConditionOnly`)は exit PHI から除外し、ExitLineReconnector は LoopState のみを reconnect する(Phase 81 で E2E 検証)。
|
||||||
|
- 参照: `docs/development/current/main/phase81-pattern2-exitline-contract.md`
|
||||||
|
|
||||||
5. **ループ制御 vs 条件式の分離**
|
5. **ループ制御 vs 条件式の分離**
|
||||||
- ループの「形」(Pattern1–4, LoopFeatures)は control-flow 専用の箱が担当。
|
- ループの「形」(Pattern1–4, LoopFeatures)は control-flow 専用の箱が担当。
|
||||||
|
|||||||
Reference in New Issue
Block a user