Files
hakorune/docs/development/current/main/00-Overview.md
nyash-codex 448bf3d8c5 docs(joinir): Phase 232-239 documentation and ExprLowerer refinements
Documentation:
- Move completion reports to docs/archive/reports/
- Add phase232-238 design/inventory documents
- Update joinir-architecture-overview.md
- Add doc-status-policy.md

Code refinements:
- ExprLowerer: condition catalog improvements
- ScopeManager: boundary clarifications
- CarrierInfo: cleanup

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 00:21:29 +09:00

1.3 KiB
Raw Blame History

Self Current Task — Overview (main)

目的

  • main ブランチで Core13MIR13前提の制御フローを整備し、LLVM/Cranelift(EXE)/VM に綺麗に降ろす土台を完成させる。
  • 箱言語の既存命令セットBranch/Jump/Phi 他を活かし、continue/break を新命令なしで表現する。

前提と指針

  • MIR13 前提(純化モードを含む)。
  • ループは canonical 形preheader → header → body → latch → header、exit は単一)。
  • continue/break は分岐のみで表現continue→ヘッダ/ラッチ、break→単一 exit
  • Verifier支配関係/SSA緑を最優先。postterminated 後の emit 禁止、合流点を明確化。

スコープ外

  • 新規 MIR 命令の追加。
  • try/finally と continue/break の相互作用(次段)。

JoinIR / Selfhost 関連の入口

  • 「JoinIR / Selfhost まわりで、まずどのドキュメントを読むべきか」は
    docs/development/current/main/01-JoinIR-Selfhost-INDEX.md を入口として使ってね。
  • JoinIR 全体のアーキテクチャと箱の関係は
    docs/development/current/main/joinir-architecture-overview.md を SSOT として参照するよ。
  • selfhost / .hako 側から JoinIR を使うときも、この JoinIR 設計を前提にして設計・実装する方針だよ。