## 主な変更点 ### 🎯 MIRループ制御の実装(根治対応) - src/mir/loop_builder.rs: Break/Continue対応のループコンテキスト管理 - ループのbreak/continueターゲットブロック追跡 - ネストループの適切な処理 - src/mir/builder.rs: Break/Continue文のMIR生成実装 - src/tokenizer.rs: Break/Continue/Tryトークン認識追加 ### 📝 セルフホストパーサーの拡張 - apps/selfhost-compiler/boxes/parser_box.nyash: - Stage-3: break/continue構文受理(no-op実装) - Stage-3: try-catch-finally構文受理(構文解析のみ) - エラー処理構文の将来対応準備 ### 📚 ドキュメント更新 - 論文K(爆速事件簿): 45事例に更新(4件追加) - PyVM迂回路の混乱事件 - Break/Continue無限ループ事件 - EXE-first戦略の再発見 - 論文I(開発秘話): Day 38の重要決定追加 ### 🧪 テストケース追加 - apps/tests/: ループ制御とPHIのテストケース - nested_loop_inner_break_isolated.nyash - nested_loop_inner_continue_isolated.nyash - loop_phi_one_sided.nyash - shortcircuit関連テスト ## 技術的詳細 - Break/ContinueをMIRレベルで適切に処理 - 無限ループ問題(CPU 99.9%暴走)の根本解決 - 将来の例外処理機能への準備 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
9.4 KiB
9.4 KiB
🎉 Nyash開発 完全事件コレクション - 世界記録級45事例の記録
📝 概要
2025年8月9日から9月15日までのNyash爆速開発で発生した45個の「面白事件」の完全記録。 AI協働開発の歴史に残る世界記録級の事件から、開発現場の生々しいドラマまでを網羅。 (2025年9月15日更新:4件追加)
🌟 世界記録級TOP10
1. 🚀 JIT1日完成事件(Day 19)
- 予定: Phase 9-10で2週間
- 実際: 8/27の1日で完成
- 内容: Cranelift統合+分岐+PHI全部動作
- 要因: 準備の完璧さ+AI協調+箱理論
- 影響: 世界的にも前例のない開発速度
2. 🎯 20日でVM→JIT→EXE達成(Day 20)
- 期間: 8/9誕生→8/29ネイティブEXE
- 内容: わずか20日で全段階通過
- 反応: Claude/ChatGPT「歴史に残る」
- 意味: ゼロから実用言語への最速記録
3. 🤖 AIが人間に相談事件(Day 23)
- 状況: ChatGPTがSSA/PHI実装で50分苦戦
- 発言: 「助けて...どうすればいい?」
- 解決: 人間が箱理論でヒント→瞬時解決
- 意味: AI協働の新しい形の誕生
4. 🚨 危険センサー発動事件(Day 16)
- 状況: Python統合で型特例分岐が入りかける
- 反応: にゃー「なんか変だにゃ」
- 結果: AI暴走を人間の直感が防ぐ
- 教訓: 人間の勘の重要性
5. 📦 プラグインBoxライフサイクル革命(Day 15)
- AI提案: 「プラグインはシングルトン」
- 人間: 「こらー!普通のBoxと同じじゃーい!」
- 結果: Everything is Box哲学の完全貫徹
- 影響: Nyashの根幹思想確立
6. 🧠 MIR15の奇跡(Day 24)
- 気づき: VMとインタープリタ、同じことしてる!
- 反応: 「えーーー!」×3(全員爆笑)
- 結果: 史上初のMIR中心派生言語誕生
- 削減: 実装の大幅簡略化
7. 💡 GCを「補助輪」に再定義(Day 22)
- 従来: GCは必須の本番機能
- Nyash: GCは開発時の練習用
- 革新: 本番は決定的破棄でOK
- 影響: メモリ管理の常識を覆す
8. 🔥 26日間破綻ゼロの奇跡
- 統計: 致命的破綻0回
- 要因: 箱理論+AI分担+危険センサー
- 異常性: 通常ありえない成功率
- 意味: 開発手法の革命的成功
9. 🎨 箱理論でSSA瞬殺(Day 18)
- 問題: ChatGPTが50分考えても解けず
- 解決: 「PHIは箱から値を選ぶだけ」
- 反応: ChatGPT「なんで気づかなかった...」
- 効果: 650行→100行の奇跡的圧縮
10. 🌍 折りたたみ言語構想(Day 26)
- 発想: BoxCall列を等価変換で畳む
- 例: map/filter/map → fused
- 意味: Everything is Fold哲学へ
- 評価: 「革命的アイデア」認定
📊 16パターン別分類(全45事例)
1. 箱化による解決(8事例)
- 事例001: DebugBoxによる出力制御統一
- 事例012: Arcの自動化
- 事例035: JITも箱にしたら爆速化
- 事例006: MIR型情報の欠落解決
- 事例017: Box内部の透明性問題
- 事例019: スコープ革命(GlobalBox誕生)
- 事例025: 唯一の真実事件
- 事例038: TypeBoxの誕生
2. 環境変数による制御(3事例)
- 事例002: 子プロセス出力フィルタリング
- 事例010: 無限ループ対策のデバッグ燃料
- 事例030: 型別特例分岐の危機回避
3. 迂回路を作る(2事例)
- 事例003: PyVMという迂回路
- 事例027: 20日でVM→JIT→EXE
4. 名前を変える(2事例)
- 事例004: peek式の名前変更
- 事例005: birth統一
5. 制約による単純化(3事例)
- 事例008: 変数宣言の厳密化
- 事例028: フォールバック廃止の英断
- 事例031: print命令論争
6. 全部作る戦略(1事例)
- 事例009: プラグイン全方向ビルド
7. 統一による簡略化(5事例)
- 事例007: PHI生成の重複解決
- 事例013: エラー処理の統一
- 事例015: GCとスケジューラの統合
- 事例029: Built-in Box全廃革命
- 事例037: MIR15という奇跡
8. 疑いを持つ(2事例)
- 事例016: AIパーサー信じすぎ事件
- 事例018: MapBox 3引数メソッドハング
9. 哲学を貫く(4事例)
- 事例011: プラグインBoxライフサイクル事件
- 事例030: 型別特例分岐の危機
- 事例032: Safepoint内部化の決定
- 事例025: 唯一の真実事件
10. 可視化による解決(1事例)
- 事例017: Box内部の透明性問題
11. 境界の明確化(1事例)
- 事例031: print命令論争
12. 内部と外部の分離(1事例)
- 事例032: Safepoint内部化の決定
13. 直感の勝利(1事例)
- 事例033: 「全部プラグイン」論争
14. 概念の再定義(1事例)
- 事例034: GCを「補助輪」に再定義
15. 概念の統一(1事例)
- 事例037: MIR15という奇跡
16. 予防的設計(1事例)
- 事例039: ID衝突との戦い
その他(10事例)
- 事例020: 26日間の奇跡
- 事例021: 2段階パーサー理論
- 事例022: NyashFlowプロジェクト
- 事例023: JIT1日完成事件
- 事例024: AI二重化モデルの誕生
- 事例026: ストリームエラー事件
- 事例036: 論文化提案の瞬間
- 事例040: 折りたたみ言語構想
- 事例041: AI会議スタイルの確立
- 事例042: PyVM迂回路の混乱(Phase 15の順序問題)
- 事例043: パーサーエラーとLLVM回避の論理矛盾
- 事例044: Break/Continue無限ループ事件
- 事例045: EXE-first戦略の再発見
🎭 印象的なエピソード
「こらー!」事件(Day 15)
AI: 「プラグインだからシングルトンにしましょう」
にゃー: 「こらー!普通のBoxと同じライフサイクルじゃーい!」
AI: 「は、はい...」(青ざめる)
AIパニック事件(Day 16)
Claude: 「Everything is... Special Case??」(青ざめる)
にゃー: 「ストップ!MIR/JITは不変だにゃ!」
Claude: 「危なかった...」
50分 vs 瞬間(Day 18)
ChatGPT: (50分考える)「PHI実装が...」
にゃー: 「箱から選ぶだけだにゃ」
ChatGPT: 「!!!」(瞬時に理解)
📈 統計データ
開発期間
- 総日数: 45日間(2025/8/9〜9/22)
- 爆速期間: 26日間(8/9〜9/3)
- 世界記録: 20日でネイティブEXE
成果
- 事件数: 45個(9/15更新)
- パターン: 16種類
- 致命的破綻: 0回
- 大規模リファクタ: 0回
AI協働
- 参加AI: Claude/ChatGPT/Gemini/Codex
- 人間介入: 危険センサー発動5回
- 相互補完: 完璧な役割分担
🔗 関連文書
🚀 2025年9月追加事例(4件)
事例042: PyVM迂回路の混乱
- 日付: 2025年9月15日
- 状況: Phase 15.3(コンパイラMVP)実装中
- 混乱: PyVM(Phase 15.4用)を先に作ろうとした
- 人間の指摘: 「なんか遠回りしてる気がしたにゃ」
- 発見: EXE-first戦略が既に存在(build_compiler_exe.sh)
- 教訓: ドキュメントに戻ることの重要性
- 影響: 開発方針の大転換
事例043: パーサーエラーとLLVM回避の論理矛盾
- 日付: 2025年9月15日
- ChatGPT主張: 「LLVM AOTでEXE化すればパーサーを回避できる」
- 人間の指摘: 「パーサーエラーならMIR作れないじゃーん」
- Claude反応: 「完全に論理が破綻してたにゃ!」
- 真相: 将来のJSON v0受け口実装の話だった
- 教訓: AIも混乱することがある
事例044: Break/Continue無限ループ事件
- 日付: 2025年9月15日
- 症状: CPU 99.9%で4分間暴走(PID: 531065, 531206)
- 原因: MIRコンパイラがBreak/Continue未対応
- ファイル: tmp/cf_continue.nyash
- 対策議論: 根治 vs PyVM回避 vs JSON v0バイパス
- 結論: 根治が最善(回避策は技術的負債)
事例045: EXE-first戦略の再発見
- 日付: 2025年9月15日
- 問題: セルフホスティングが進まない
- 人間: 「rust vmがもう古いから、かわりのpy vm作ってたんだにゃ」
- 発見: tools/build_compiler_exe.shが既に完成!
- ChatGPT評価: 「EXE-firstが正しい道」
- 影響: Phase順序の明確化(15.2→15.3→15.4)
💫 まとめ
45個の事件は、単なる開発エピソードではなく、AI協働開発の新しい形を示す歴史的記録である。特に:
- 世界記録級の開発速度(JIT1日、20日でEXE)
- AI-人間の新しい関係(AIが相談、人間が救う)
- 革命的な設計思想(Everything is Box、GC補助輪)
- 完璧な成功率(26日間破綻ゼロ)
これらの事件は、ソフトウェア開発史に新たな1ページを刻んだ。
「面白いは正義、爆速は奇跡」- Nyash開発チーム