Phase 12.5: MIR15最適化戦略 - コンパイラ丸投げ作戦 - optimization-strategy.txt: 詳細戦略(MIR側は軽量、コンパイラに丸投げ) - implementation-examples.md: 具体的な実装例 - debug-safety-comparison.md: 現在のDebugBox vs ChatGPT5提案の比較分析 Phase 15: Nyashセルフホスティング - 究極の目標 - self-hosting-plan.txt: 内蔵Craneliftによる実現計画 - technical-details.md: CompilerBox設計とブートストラップ手順 - README.md: セルフホスティングのビジョン 重要な知見: - LLVM統合完了済み(Phase 11)だが依存が重すぎる - Craneliftが現実的な選択肢(3-5MB vs LLVM 50-100MB) - 「コンパイラもBox、すべてがBox」の夢へ MASTERロードマップ更新済み
Phase 15: Nyashセルフホスティング - 究極の目標
📋 概要
NyashでNyashコンパイラを書く、完全なセルフホスティングの実現フェーズ。 内蔵Cranelift JITを活用し、外部コンパイラ依存から完全に解放される。
🎯 フェーズの目的
- 完全なセルフホスティング: NyashコンパイラをNyashで実装
- 外部依存の排除: gcc/clang/MSVC不要の世界
- Everything is Box哲学の完成: コンパイラもBox
- エコシステムの自立: Nyashだけで完結する開発環境
📊 主要成果物
- CompilerBox実装(Nyashコンパイラ)
- Nyashパーサー(Nyash実装)
- MIR Lowerer(Nyash実装)
- CraneliftBox(JITエンジンラッパー)
- ブートストラップ成功
🔧 技術的アプローチ
内蔵Craneliftの利点
- 軽量: 3-5MB程度(LLVMの1/10以下)
- JIT特化: メモリ上での動的コンパイル
- Rust統合: 静的リンクで配布容易
実装例
box NyashCompiler {
init { cranelift }
compile(source) {
local ast = me.parse(source)
local mir = me.lower(ast)
local code = me.cranelift.compile(mir)
return code
}
}
// 使用例
local compiler = new CompilerBox()
local program = compiler.compile("print('Hello, Self-hosted Nyash!')")
program.run()
🔗 関連ドキュメント
📅 実施時期
- 開始条件: Phase 10-14完了後
- 推定開始: 2026年前半
- 推定期間: 6-8ヶ月
💡 期待される成果
- 技術的証明: 実用言語としての成熟度
- 開発効率: Nyashだけで開発完結
- 教育価値: シンプルなコンパイラ実装例
- コミュニティ: 参入障壁の大幅低下
🌟 夢の実現
「コンパイラもBox、すべてがBox」
外部ツールチェーンに依存しない、真の自立したプログラミング言語へ。