2fc6ce3aa6
feat: Unified registry and major code cleanup by ChatGPT5
...
- Unified Box Registry: Replaced 600+ line match statement with clean factory pattern
- Code cleanup: Removed unused imports, variables, and dead code
- Import fixes: Fixed RangeBox, NullBox, MapBox imports
- Transport Debug: Added Debug trait implementation for Transport interface
- WASM build: Successfully tested with wasm_playground preset ready for integration
- Performance: Build time stable, WASM package generated successfully (1.89MB)
This commit represents a major architectural improvement with the unified registry
system now fully operational, reducing code duplication and improving maintainability.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-21 14:28:24 +09:00
4f360e0fbb
fix: Replace static mut with Lazy for thread safety in FileBoxRegistry
...
- Eliminate static_mut_refs warnings by using once_cell::sync::Lazy
- Make FileMode enum public to fix private_interfaces warning
- Reduce warnings from 6 to 3
- Prepare for Rust 2024 edition compatibility
2025-08-21 12:14:33 +09:00
41361a2f50
🚀 feat: Phase 9.78b Step 1&2完了 - ChatGPT5による実装
...
ChatGPT5が実装したPhase 9.78b Step 1&2の統合
## 🎯 実装内容
1. Phase 9.78b Step 1: BoxDeclarationをcore::modelへ移動
- src/core/mod.rs, model.rs 新規作成
- BoxDeclarationを純粋データモデルとして分離
2. Phase 9.78b Step 2: NyashRuntime骨組み作成
- src/runtime/nyash_runtime.rs 追加
- 統一Box管理の基盤
3. ビルドエラー修正
- Arc重複インポート修正
- as_str() → as_ref() 変更
- parent_name.to_string() 型変換
- インポートパス調整
## 📊 ビルド結果
- ✅ フルビルド成功 (47.34秒)
- ✅ ユニットテスト: 145/145成功
- ✅ 統合テスト: 16/16成功
- ✅ WASMビルド成功 (1.9MB)
- ❌ MIRテスト: 1失敗 (ref_new命令)
## 🚀 次のステップ
- Phase 9.78b Step 3: BoxFactory dyn化
- Codexの設計に基づく段階的実装継続
2025-08-20 18:57:10 +09:00
46836680b9
Phase 2 Complete: Conditional debug system + Final verification
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-20 00:12:35 +00:00
ce16f592b8
Phase 1 Complete: Remove critical debug statements - Major performance improvement
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-20 00:07:47 +00:00
670615d1de
feat: WASMビルド完全対応+finiシステム修正 🎉
...
## WASMビルド対応
- TimerBox、AudioBox等の問題のあるBoxをWASM環境では条件付きコンパイルで除外
- WebBox (WebDisplayBox, WebConsoleBox, WebCanvasBox) にas_anyメソッド追加
- プラグイン関連コードに#[cfg]ガードを追加
- web-sysフィーチャーを追加(Performance、MouseEvent等)
- projects/nyash-wasmのビルドが完全に通るように!
## finiシステム修正
- フィールド差し替え時の自動fini削除(Nyashの明示的哲学に従う)
- スコープ離脱時のみfini実行(meは除外)
- ドキュメント更新で正しいfiniルールを明記
## その他
- CLAUDE.mdにWASMビルド方法を追記(wasm-pack build --target web)
- 開発サーバー起動方法を記載(python3 -m http.server 8010)
- cargo testで全テスト成功を確認
これでNyashがブラウザで動作可能に!🐱 ✨
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-20 07:33:18 +09:00
bab57e7c07
🎉 feat: ChatGPT5による奇跡の全テスト修復完了!
...
- instance_v2移行で破綻していた440個のテストを30分で全修正
- git巻き戻しレベルの状況から完全復活
- 人間には不可能な速度での大規模整合性修正
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-20 04:45:26 +09:00
e5e381aa83
feat: Implement Phase 9.78e instance_v2 migration with unified registry
...
Major achievements:
- ✅ UserDefinedBoxFactory implementation with unified registry integration
- ✅ Constructor execution for user-defined boxes (Person init working)
- ✅ Import path fixes across interpreter modules
- ✅ unwrap_instance helper function for InstanceBox operator support
Technical details:
- Modified UnifiedBoxRegistry to handle empty box_types() factories
- Implemented constructor execution in execute_new for InstanceBox
- Added unwrap_instance helper to handle InstanceBox wrapping in operators
- Updated CURRENT_TASK.md with detailed progress tracking
Next: Fix 4 operator functions to complete InstanceBox operator support
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-20 00:21:20 +09:00
5582ad45c0
feat: Phase 9.78e complete - instance_v2 migration with legacy compatibility
...
- instance_v2 now includes legacy compatibility layer
- All interpreter code migrated to use instance_v2
- Added legacy field access methods (get_fields, set_field_legacy, etc.)
- Fixed type conversion issues (NyashValue vs SharedNyashBox)
- instance.rs still exists but no longer used in interpreter
- TODO: Remove instance.rs completely in next phase
- TODO: Implement proper SharedNyashBox -> NyashValue conversion
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-19 22:35:34 +09:00
bec0e9bc92
revert: 古いプラグインシステム実装前の状態に巻き戻し
...
- ソースコードをcommit 3f7d71fの状態に復元(古いプラグインシステム実装前)
- docsフォルダは最新の状態を維持(BID-FFI設計ドキュメント含む)
- nyashバイナリの基本動作確認済み
- BID-FFIシステムをクリーンに再実装する準備完了
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-18 08:34:19 +09:00
2b2dcc5647
feat(phase-9.75f-1): Complete FileBox dynamic library implementation
...
- Implement C ABI plugin system with workspace configuration
- Create FileBox plugin with full read/write/exists/toString support
- Fix critical memory management issues (double free) with Arc
- Add comprehensive test suite for dynamic FileBox functionality
- Achieve 98% build time improvement for plugin (2.87s vs 2-3min)
- Maintain full backward compatibility with feature flags
FileBox now loads dynamically, drastically reducing build times while
maintaining all functionality. Next: Math/Time dynamic migration.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-17 09:31:35 +09:00
fa1a3ad644
feat(Phase 9.75j): Complete warning elimination - 106→0 warnings (100% improvement)
...
✨ Major code quality improvements:
• Fixed all unused variable and parameter warnings
• Added appropriate #[allow(dead_code)] annotations
• Renamed constants to follow Rust naming conventions
• Achieved completely warning-free codebase
🔧 Key changes:
• Parser expressions: Fixed arg_count and statement_count usage
• MIR modules: Added dead_code allows for future-use code
• Backend modules: Prefixed unused parameters with underscore
• Effect constants: Renamed 'read' to 'READ_ALIAS' for conventions
📊 Results:
• Before: 106 warnings (noisy build output)
• After: 0 warnings (clean build)
• Improvement: 100% warning reduction
🎯 This continues the bug fixing initiative "つづきのしゅうせいおねがいにゃ!"
from Phase 9.75i (birth() fixes, static methods, Copilot apps).
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-16 17:39:04 +09:00
87d776f3e7
feat(phase-9.75e): Complete using nyashstd standard library implementation
...
🎉 Phase 9.75e完了: using nyashstdシステム完全実装成功
✅ 実装完了項目:
- USING tokenizer integration: TokenType::USING token support
- UsingStatement AST node: Complete using statement parsing
- BuiltinStdlib infrastructure: Core standard library framework
- Full interpreter integration: Complete namespace resolution
- Module system integration: Fixed crate::stdlib import issues
🌟 動作確認済み標準ライブラリ機能:
- string.create("text") → StringBox creation
- string.upper(str) → Uppercase string conversion
- integer.create(42) → IntegerBox creation
- bool.create(true) → BoolBox creation
- array.create() → Empty ArrayBox creation
- console.log("message") → Console output
📋 実装ファイル:
- src/tokenizer.rs: USING token support
- src/ast.rs: UsingStatement AST node
- src/parser/statements.rs: using statement parser
- src/interpreter/statements.rs: using statement execution
- src/interpreter/core.rs: stdlib namespace resolution
- src/stdlib/mod.rs: Complete BuiltinStdlib implementation
- src/lib.rs + src/main.rs: Module declaration integration
🎯 テスト成功:
All nyashstd functions work perfectly with comprehensive test coverage.
Local test file: local_tests/test_nyashstd.nyash
Everything is Box哲学を維持しながらモダンな標準ライブラリアクセスを実現\!
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-16 01:12:10 +09:00
6b62209da9
feat(constructor): implement birth() syntax and pack transparency system
...
## 🌟 birth() Constructor Implementation
- Add BIRTH token to tokenizer (src/tokenizer.rs:37,403)
- Implement birth() parser support (src/parser/mod.rs)
- Add birth() interpreter support with priority system
- Priority: birth > pack > init > Box名
## 🚨 Fix Documentation Inconsistencies
- Fix delegation-system.md: pack → birth unified
- Fix box-design/README.md: add pack-specific section
- Fix LANGUAGE_GUIDE.md: birth unified, pack builtin-only
- Fix CLAUDE.md: birth philosophy, pack system separation
## 📋 pack Transparency System Design
- Create phase_8_8_pack_transparency_system.md specification
- Establish correct pack definition: builtin Box inheritance only
- Design user-transparent system: from BuiltinBox() → internal pack
- Comprehensive test cases and implementation requirements
## 🧪 Testing
- Add test_birth_simple.nyash: birth() functionality verification
- Document constructor name decision process
- Prepare for Copilot implementation with clear specifications
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-15 19:34:26 +09:00
80c911d3c8
🚨 Critical Issue #76 : SocketBox Method Call Deadlock Investigation
...
## 🎯 Problem Identification Complete
- SocketBox method calls (bind, isServer, toString) cause infinite blocking
- Root cause: Method resolution pipeline deadlock before execute_socket_method
- Other Box types (ArrayBox, StringBox, MapBox) work normally
- Arc<Mutex> reference sharing confirmed working (Arc addresses match = true)
## 🔧 Debug Infrastructure Added
- Comprehensive debug logging in socket_box.rs (bind, isServer, clone, toString)
- Method call tracing in http_methods.rs
- Deadlock detection points identified at interpreter expressions.rs:462-464
## 📋 Issue #76 Created for Copilot Investigation
- Systematic root cause analysis requirements (Architecture→Parser→Runtime levels)
- Comprehensive test cases: minimal/comprehensive/comparison scenarios
- Strict prohibition of band-aid fixes - architectural analysis required
- Hypothesis: Multiple Arc<Mutex> combinations causing circular deadlock
## 🧪 Test Suite Added
- test_socket_deadlock_minimal.nyash: Minimal reproduction case
- test_socket_methods_comprehensive.nyash: All methods deadlock verification
- test_other_boxes_working.nyash: Normal Box operation confirmation
- SOCKETBOX_ISSUE_REPRODUCTION.md: Complete reproduction guide
## 📊 Impact Assessment
- Phase 9 HTTP server implementation completely blocked
- SocketBox functionality entirely non-functional
- Critical blocker for production readiness
- Requires immediate systematic investigation
🔥 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 20:55:33 +09:00
654e6692b0
Phase 1-3 implementation: Arc sharing in core data structures
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 10:05:42 +00:00
014fac2b9b
✅ Phase 1 Complete: Fixed weak reference bug with dynamic ID parsing
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-13 02:11:07 +00:00
c6a135193d
Complete weak reference auto-nil system implementation
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-12 22:23:38 +00:00
5820d02ef7
Complete weak reference architecture with auto-nil simulation framework
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-12 21:31:06 +00:00
339f7df617
Phase 4 Complete: Interpreter integration with weak field detection
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-12 20:36:00 +00:00
6abcf94d6f
🚀 MAJOR: Multi-Delegation Syntax Implementation Complete!
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-12 08:29:25 +00:00
2c559c2a8c
🔥 feat: Override + From統一構文によるデリゲーション革命完全達成
...
【歴史的成果】プログラミング言語史上初の完全明示デリゲーション言語実現
## 🌟 実装完了機能
1. override キーワード完全実装(トークナイザー→AST→パーサー→インタープリター)
2. 暗黙オーバーライド禁止システム(HashMap::insert悪魔を撲滅)
3. コンストラクタオーバーロード禁止(One Box, One Constructor哲学)
4. from Parent.method() 統一構文(親メソッド・コンストラクタ呼び出し)
## 🚨 解決した致命的問題
- 暗黙のオーバーライドによる意図しない動作→100%防止
- 複数コンストラクタによる初期化の曖昧性→設計時エラー
- 親メソッド呼び出しの不明確さ→完全明示化
## 💫 革新的構文例
```nyash
box MeshNode : P2PBox {
override send(intent, data, target) { // 明示的置換
me.routing.log(target)
from P2PBox.send(intent, data, target) // 親実装呼び出し
}
constructor(nodeId, world) {
from P2PBox.constructor(nodeId, world) // 統一構文
me.routing = RoutingTable()
}
}
```
## 🏆 言語設計への貢献
- Python MRO地獄→明示的解決
- Java super曖昧性→完全明示化
- TypeScript意図しない上書き→override必須化
🎊 2025年8月11日:明示的デリゲーション革命の日として言語史に刻まれる
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-11 07:55:41 +09:00
e7f6666917
🎨 feat: EguiBox GUI開発基盤完成 + パーサー無限ループバグ修正
...
## 🚀 主要機能追加
### EguiBox - GUI開発基盤
- Windows版GUIメモ帳アプリ (simple_notepad.rs, nyash_notepad_jp.rs)
- 日本語フォント対応 (NotoSansJP-VariableFont_wght.ttf)
- BMPアイコン表示システム (c_drive_icon.bmp)
- Windowsエクスプローラー風アプリ (nyash_explorer.rs)
- アイコン抽出システム (test_icon_extraction.rs)
### ビジュアルプログラミング準備
- NyashFlow プロジェクト設計完成 (NYASHFLOW_PROJECT_HANDOVER.md)
- ビジュアルノードプロトタイプ基盤
- WebAssembly対応準備
## 🔧 重大バグ修正
### パーサー無限ループ問題 (3引数メソッド呼び出し)
- 原因: メソッドパラメータ解析ループの予約語処理不備
- 修正: src/parser/mod.rs - 非IDENTIFIERトークンのエラーハンドリング追加
- 効果: "from"等の予約語で適切なエラー報告、ハング→瞬時エラー
### MapBoxハング問題調査
- MapBox+3引数メソッド呼び出し組み合わせ問題特定
- バグレポート作成 (MAPBOX_HANG_BUG_REPORT.md)
- 事前評価vs必要時評価の設計問題明確化
## 🧹 コード品質向上
- box_methods.rs を8モジュールに機能分離
- 一時デバッグコード全削除 (eprintln\!, unsafe等)
- 構文チェック通過確認済み
## 📝 ドキュメント整備
- CLAUDE.md にGUI開発セクション追加
- Gemini/ChatGPT先生相談ログ保存 (sessions/)
- 段階的デバッグ手法確立
## 🎯 次の目標
- must_advance\!マクロ実装 (無限ループ早期検出)
- コマンド引数でデバッグ制御 (--debug-fuel)
- MapBox問題の根本修正
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-10 07:54:03 +09:00
0bed0c0271
🎉 initial commit: Nyash Programming Language完成版
...
🚀 主要機能:
• Everything is Box哲学による革新的アーキテクチャ
• WebAssemblyブラウザー対応プレイグラウンド
• アーティスト協同制作デモ - 複数Boxインスタンス実証
• 視覚的デバッグシステム - DebugBox完全統合
• static box Mainパターン - メモリ安全設計
⚡ 言語機能:
• NOT/AND/OR/除算演算子完全実装
• ジェネリクス/テンプレートシステム
• 非同期処理(nowait/await)
• try/catchエラーハンドリング
• Canvas統合グラフィックス
🎨 ブラウザー体験:
• 9種類のインタラクティブデモ
• リアルタイムコード実行
• WebCanvas/WebConsole/WebDisplay
• モバイル対応完了
🤖 Built with Claude Code collaboration
Ready for public release!
2025-08-09 15:14:44 +09:00