# レビュアー想定Q&A

査読で聞かれそうな質問と、準備しておくべき回答集。

## Q1: 15命令で本当に足りる？

**質問の意図**: 
実用言語に必要な機能が本当に15命令で表現可能なのか疑問

**回答**:
高機能はプラグインへ押し出し、MIRは「What」だけを表現します。`ExternCall` 経由で任意の拡張が可能で、IR拡張は不要です。例えば：
- 文字列操作 → StringBoxプラグイン
- ネットワーク → NetworkBoxプラグイン  
- GPU計算 → CudaBoxプラグイン（将来）

## Q2: フォールバックは？

**質問の意図**:
JIT未実装の命令に遭遇した時の挙動

**回答**:
フォールバックは全廃しました。VM=仕様、JIT=高速版という明確な位置づけです。未実装は即エラー＋該当VM関数への誘導で修正サイクルを短縮します。これにより：
- 複雑性の排除
- デバッグの容易化
- 性能予測可能性の向上

## Q3: 最適化は弱くない？

**質問の意図**:
15命令では高度な最適化が困難では？

**回答**:
O1/O2を表駆動で段階導入しています。等価性を崩さず、ホット箇所はプラグイン側の vtable 直結とAOT/LTOで補完します。現状：
- O1: 正規化/ピープホール/DCE
- O2: 基本的なインライン展開
- 将来: エスケープ解析/LICM

## Q4: 既存比較（Wasm/LLVM/Smalltalk）との差は？

**質問の意図**:
先行研究との新規性

**回答**:
Box でメタ情報を一元管理し、**IRを増やさず**VM/JIT/AOT等価を実証しました。実装規模と到達速度が新規性です：
- WebAssembly: 170命令 → Nyash: 15命令（91%削減）
- 開発期間: Go(3年) vs Nyash(30日)
- 等価性検証: trace_hashによる自動検証（世界初）

## Q5: 再現可能性は？

**質問の意図**:
論文の主張を第三者が検証可能か

**回答**:
完全にオープンソースで、`make smoke` コマンド一発で検証可能です：
```bash
make smoke  # {VM,JIT,AOT}×{GC on,off} の trace_hash 自動検証
```
GitHubで全履歴公開、CIで継続的検証も実施中。

## Q6: 実用性は？

**質問の意図**:
研究だけでなく実際に使える言語か

**回答**:
既に以下のアプリケーションが動作：
- Chip-8エミュレータ
- テキストエディタ（Kilo）
- LISPインタープリター
- 統計計算ツール

配布可能なネイティブEXE生成も実現済み。