Files
hakorune/docs/development/roadmap/phases/phase-15
Moe Charm da96bcb906 📚 Phase 12.5 最適化戦略 & Phase 15 セルフホスティング計画
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ロードマップ更新済み
2025-09-02 05:11:10 +09:00
..

Phase 15: Nyashセルフホスティング - 究極の目標

📋 概要

NyashでNyashコンパイラを書く、完全なセルフホスティングの実現フェーズ。 内蔵Cranelift JITを活用し、外部コンパイラ依存から完全に解放される。

🎯 フェーズの目的

  1. 完全なセルフホスティング: NyashコンパイラをNyashで実装
  2. 外部依存の排除: gcc/clang/MSVC不要の世界
  3. Everything is Box哲学の完成: コンパイラもBox
  4. エコシステムの自立: Nyashだけで完結する開発環境

📊 主要成果物

  • CompilerBox実装Nyashコンパイラ
  • NyashパーサーNyash実装
  • MIR LowererNyash実装
  • CraneliftBoxJITエンジンラッパー
  • ブートストラップ成功

🔧 技術的アプローチ

内蔵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ヶ月

💡 期待される成果

  1. 技術的証明: 実用言語としての成熟度
  2. 開発効率: Nyashだけで開発完結
  3. 教育価値: シンプルなコンパイラ実装例
  4. コミュニティ: 参入障壁の大幅低下

🌟 夢の実現

「コンパイラもBox、すべてがBox」

外部ツールチェーンに依存しない、真の自立したプログラミング言語へ。