Files
hakorune/docs/private/papers/paper-a-mir13-ir-design
Selfhosting Dev 043472c170 docs(papers): Update MIR13 to MIR14 and create SSA construction paper
Major changes:
- Update all MIR13 references to MIR14 throughout paper-a-mir13-ir-design/
- Add evolution history: 27 → 13 → 14 instructions (UnaryOp restoration)
- Create new paper-d-ssa-construction/ for SSA implementation struggles
- Add PAPER_INDEX.md consolidating ChatGPT5's 3-paper analysis

MIR14 updates:
- README.md: Add instruction evolution timeline
- abstract.md: Emphasize practical balance over pure minimalism
- main-paper*.md: Update titles and core concepts
- MIR13_CORE13_SPEC.md: Add UnaryOp to instruction list
- chapters/01-introduction.md: Reframe as "14-Instruction Balance"
- RENAME_NOTE.md: Document folder naming consideration

SSA paper structure:
- README.md: Paper overview and positioning
- current-struggles.md: Raw implementation challenges
- technical-details.md: BuilderCursor, Sealed SSA, type normalization
- abstract.md: English/Japanese abstracts

LoopForm experiments continue in parallel (minor adjustments to detection).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 15:58:20 +09:00
..

論文A: MIR14で作る万能実行系

📚 概要

タイトル: From Interpreter to Native GUI Apps: Universal Execution with 14 Core Instructions

主題: 14命令のミニマルIRで実現する5つの実行形態インタープリター/VM/JIT/AOT/GUI

対象読者: システム研究者、言語実装者、実用性重視の開発者

🌱 MIR命令数の進化史

初期: 27命令前後汎用的にあれもこれも欲しい状態削減会議: Box哲学と抽象化を突き詰めて13命令まで削減 ↓ 復活: 「最低限の算術演算は直接あった方が良い」という判断で UnaryOp を追加 ↓ MIR14: 現在のコア命令セットCore-13 + UnaryOp = 14命令

🎯 研究ポイント

1. 実装の完全性

  • インタープリター: 開発・デバッグ用500行
  • VM: 高速実行1000行
  • JIT/AOT: Cranelift統合でネイティブ性能
  • EXE生成: lld内蔵で完全自立
  • Windows GUIアプリ: EguiBoxで実用アプリ

2. MIR14の威力

  • 14命令Core-13 + UnaryOpですべての実行形態をサポート
  • 27命令 → 13命令 → 14命令への実践的な進化
  • BoxCallへの統一と必要最小限の算術演算

3. 実用性の証明

  • サイコロRPGゲーム
  • 統計計算ツール(数値計算)
  • LISPインタープリター言語処理系
  • ファイルエクスプローラーGUIアプリ

📊 実験計画

実行形態の比較

  • 起動時間: Interpreter < VM < JIT < AOT < GUI
  • 実行速度: Interpreter < VM < JIT ≈ AOT
  • バイナリサイズ: Script < VM < JIT < AOT < GUI
  • メモリ使用量: 各形態での比較

実アプリケーション評価

  • サイコロRPG: ゲームループ性能60fps達成
  • 統計計算: 大規模データ処理100万件
  • GUIレスポンス: ユーザー操作の遅延(<16ms
  • コンパイル時間: ソース→EXEの所要時間

📁 ディレクトリ構造

paper-a-mir13-ir-design/
├── README.md              # このファイル
├── abstract.md           # 論文概要
├── main-paper.md         # 本文
├── chapters/             # 章別ファイル
│   ├── 01-introduction.md
│   ├── 02-mir-evolution.md
│   ├── 03-boxcall-unification.md
│   ├── 04-optimization-techniques.md
│   ├── 05-evaluation.md
│   └── 06-conclusion.md
├── figures/              # 図表
│   ├── mir-instruction-reduction.png
│   ├── performance-comparison.png
│   └── boxcall-architecture.svg
├── data/                 # 実験データ
│   ├── benchmark-results/
│   └── mir-statistics/
└── related-work.md       # 関連研究

🗓️ スケジュール

  • 2025年9月前半: 実験実施・データ収集
  • 2025年9月中旬: 執筆開始
  • 2025年9月末: arXiv投稿速報版
  • 2025年11月: POPL/PLDI 2026投稿

📝 執筆メモ

強調すべき貢献

  1. 実装の幅広さ: 1つのIRで5つの実行形態を実現
  2. 完全な自立性: 外部コンパイラ・リンカー不要
  3. 実用アプリ動作: GUIアプリまで実際に動く

新規性

  • 13命令で実用GUIアプリまで動かした初の事例
  • インタープリターからネイティブまでの統一パイプライン
  • Cranelift + lld内蔵による完全自己完結型言語

🔗 関連ドキュメント