docs(joinir): L-2.3 PHI問題のA/B実行実証
- CURRENT_TASK.md に L-2.3 進捗を追記
- docs/private サブモジュールに Phase 32 を追加
Route A vs Route B 比較結果:
- Route A (VM直接): Main.skip(" abc") → 0 (PHI バグ)
- Route B (JoinIR): Main.skip(" abc") → 3 (正解)
JoinIR が PHI 問題を設計的に解決していることを実行レベルで実証。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -280,7 +280,11 @@ LoopScopeShape → CaseAContext::from_scope() → lower_case_a_X_core() → Join
|
||||
- Step-3: `convert_joinir_to_mir` を pub(crate) 化、Stage-B 構造テスト2本追加 (commit 1eea4045)
|
||||
- Step-4: Phase 32 README / env リファレンスを更新し、Stage‑B の JoinIR 利用範囲(lowering+Bridgeのみ)と各トグルの役割を明文化
|
||||
- Step-5: `NYASH_JOINIR_LOWER_GENERIC=1` 時の Stage‑B lowering/bridge 安定性確認済み(18 tests PASS、ガード追加不要)。Stage‑B 実行は依然として VM Route A
|
||||
- L-2.3 / L-3 / L-4: これから(PHI レガシー削除と「JoinIR→VM/LLVM 前提」ランナー構造への仕上げ)。
|
||||
- L-2.3: **完了(2025-11-26)** — Route A vs Route B の A/B 比較で JoinIR が PHI 問題を設計的に解決していることを実行レベルで実証
|
||||
- 最小ケース `minimal_ssa_skip_ws.hako` で `Main.skip(" abc")` を実行
|
||||
- Route A(VM 直接): 結果 `0` ❌(PHI バグで値消失)
|
||||
- Route B(JoinIR): 結果 `Int(3)` ✅(正解)
|
||||
- L-3 / L-4: これから(PHI レガシー削除と「JoinIR→VM/LLVM 前提」ランナー構造への仕上げ)。
|
||||
|
||||
---
|
||||
|
||||
|
||||
Submodule docs/private updated: 186d4c35d7...93927b869a
Reference in New Issue
Block a user