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

73 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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