Files
hakorune/docs/private/research/paper-10-box-mir15-theory/reviewer-qa.md

73 lines
2.5 KiB
Markdown
Raw Normal View History

# レビュアー想定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生成も実現済み。