# Phase 16: 折りたたみ言語(FoldLang)- Box世界の合成最適化 ## 📋 概要 セルフホスティング達成後の次なる進化フェーズ。 Nyashの「Everything is Box」哲学を維持しながら、実用的な実行速度を実現する革新的最適化層。 ## 🎯 フェーズの目的 1. **Box境界を越えた最適化**: 複数のBox操作を1つに融合 2. **デバッグ容易性の維持**: unfoldでいつでも元に戻せる 3. **実用速度の実現**: 30-40%の性能改善 4. **MIR15の単純性維持**: 命令追加なしで最適化 ## 📊 主要成果物 - [ ] 純度属性システム(#[ny.pure]等) - [ ] FoldPass実装(BoxCall融合エンジン) - [ ] Fold Inspector(可視化ツール) - [ ] unfoldデバッグモード - [ ] 性能ベンチマークスイート ## 🔧 技術的アプローチ ### 中核アイデア ``` 従来: Box境界 = 最適化の壁 FoldLang: Box境界 = 最適化の単位 ``` ### 実装例 ```nyash # ユーザーコード(変わらない) result = data.map(f).filter(p).map(g) # 内部で自動融合 # 3回のループ → 1回のループ # 3回のアロケーション → 1回のアロケーション ``` ## 🔗 関連ドキュメント - [折りたたみ言語設計詳細](fold-lang-design.txt) - [Phase 15: セルフホスティング](../phase-15/) - [Phase 12.5: 最適化戦略](../phase-12.5/) ## 📅 実施時期 - **開始条件**: Phase 15(セルフホスティング)完了後 - **推定開始**: 2026年後半 - **推定期間**: 3-4ヶ月 ## 💡 期待される成果 1. **性能改善**: Array/String操作で30-40%高速化 2. **メモリ効率**: 中間オブジェクト削減で50%改善 3. **GC負荷軽減**: オブジェクト生成数1/3 4. **開発体験**: デバッグ時は自動unfold ## 🌟 なぜPhase 15の後か? 1. **複雑性の分離**: まず動くものを、次に速いものを 2. **ドッグフーディング**: Nyashで最適化を書く 3. **明確な成功基準**: 各フェーズで達成感 > 「折りたたみ言語 = Box世界の合成最適化層」 > ChatGPT5による革新的提案(2025-09-01)