# 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）