Files
hakorune/docs/development/roadmap/phases/phase-16/README.md

67 lines
2.1 KiB
Markdown
Raw Normal View History

# 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