主な成果: - TypeBox(型情報をBoxとして扱う)による統合ABI設計 - C ABI + Nyash ABIの完全統合仕様書作成 - 3大AI専門家(Gemini/Codex/ChatGPT5)による検証済み - ChatGPT5の10個の安全性改善提案を反映 - README.mdのドキュメント更新(全起点から到達可能) MapBox拡張: - string型キーサポート(従来のi64に加えて) - remove/clear/getOr/keysStr/valuesStr/toJson実装 - keys()/values()のランタイムシムサポート(TypeBox待ち) その他の改善: - Phase 11.9(文法統一化)ドキュメント追加 - Phase 16(FoldLang)ドキュメント追加 - 非同期タイムアウトテスト追加 - 各種ビルド警告(未使用import等)は次のリファクタリングで対応予定 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
# 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) |