feat(joinir): Phase 66-68 GenericTypeResolver + JoinIR First Chapter Wrap

Phase 66: P3-C ジェネリック型推論箱化
- generic_type_resolver.rs 新設 (180行)
  - is_generic_method(): ArrayBox.get/pop/first/last, MapBox.get 判定
  - resolve_from_phi(): PHI解析によるジェネリック型推論
- TypeHintPolicy::is_p3c_target() 追加
  - P1/P2/P3-A/P3-B 以外を P3-C 候補として判定

Phase 67: P3-C 実利用への一歩
- phase67_generic_type_resolver.rs テスト追加 (3テスト)
- lifecycle.rs に P3-C 経路フック追加
  - GenericTypeResolver を P3-C 対象関数で優先使用
- A/B テストで旧経路との一致確認 (11 tests PASS)

Phase 68: JoinIR First Chapter Wrap (ドキュメント整理)
- 68-1: phase-30 README.md に Section 9 追加 (JoinIR 第1章完了サマリー)
- 68-2: README.md に JoinIR status セクション追加
- 68-3: CURRENT_TASK.md スリム化 (351→132行, 62%削減)
- 68-4: PHI_BOX_INVENTORY.md に Phase 66-67 完了セクション追加

Phase 69-1: Trio 棚卸し
- phase69-1-trio-inventory.md 作成
- Trio 使用箇所の完全棚卸し完了 (削減見込み 457-707行)

🐱 JoinIR 第1章完了!4つの柱確立:
- Structure (LoopForm)
- Scope (LoopScopeShape)
- JoinIR (Select/IfMerge/Loop)
- Type Hints (P1-P3-C)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-11-30 08:54:18 +09:00
parent aef9374b5a
commit 58c5d8c9bc
9 changed files with 694 additions and 300 deletions

View File

@ -41,6 +41,26 @@ See also: docs/guides/perf/benchmarks.md
Architecture notes
- Runtime rings (ring0/ring1/ring2) and provider policy: see `docs/architecture/RINGS.md`.
JoinIR system (structure + PHI + type hint SSOT)
- JoinIR is the Single Source of Truth for:
- **Structure**: Loop forms (LoopForm lowering), control flow shapes
- **PHI generation**: SSA merge nodes (If/Loop/Select/Merge patterns)
- **Type hints**: Type propagation from JoinIR → PHI → lifecycle.rs
- Dev flags:
- `NYASH_JOINIR_DEBUG=1` - JoinIR lowering traces
- `NYASH_P3C_DEBUG=1` - Generic type inference traces (Phase 66-67)
- `NYASH_LOOPFORM_DEBUG=1` - LoopForm construction traces
- Phase documentation:
- [Phase 30: JoinIR Architecture](docs/private/roadmap2/phases/phase-30-final-joinir-world/README.md)
- [Phase 33: If Lowering](docs/private/roadmap2/phases/phase-33/)
- [Phase 34: LoopForm](docs/private/roadmap2/phases/phase-34/)
- [Phase 48: Loop Lowering](docs/private/roadmap2/phases/phase-48/)
- [Phase 63-65: Type Hints P1-P3-B](docs/private/roadmap2/phases/phase-65-p3-type-hints/README.md)
- [Phase 66-67: Generic Type Inference P3-C](docs/private/roadmap2/phases/phase-65-p3-type-hints/README.md#phase-66-67-p3-c-ジェネリック型推論-箱化--実利用2025-11-30)
- Current state: **JoinIR First Chapter Complete** (Phase 27-67)
- Four pillars established: Structure / Scope / JoinIR / Type Hints
- See [PHI_BOX_INVENTORY.md](docs/private/roadmap2/phases/phase-30-final-joinir-world/PHI_BOX_INVENTORY.md) for detailed status
Call system (unified by default)
- Builder emits `Call { callee: Callee }` whenever possible; the VM routes by callee kind (Global/Method/Extern/... ).
- Legacy byname callscallee なし)は廃止。必ず Builder が `Callee` を付与する(付与されない場合は FailFast