adbb0201a9
chore(fmt): add legacy stubs and strip trailing whitespace to unblock cargo fmt
2025-09-17 07:43:07 +09:00
3d8ba3f3ec
fix(jit): NewBoxのJIT安全化とDebugBox Phase 1実装
...
- NewBoxのJIT扱いを安全化(src/jit/lower/core.rs)
- NYASH_USE_PLUGIN_BUILTINS=1 && args.is_empty() かつ StringBox/IntegerBox のみJIT許可
- ArrayBox/MapBox等のプラグインBoxまたは引数ありはunsupportedとしてカウント
- unsupported>0の関数はJIT対象外となりVM実行にフォールバック(Segfault回避)
- DebugBox Phase 1実装(JITトレース機能)
- tracePluginCalls(bool)でJITシムトレースON/OFF
- getJitEvents()で直近のJITイベント取得
- src/jit/shim_trace.rs追加でトレース基盤実装
- Printのサポート
- PrintはJIT非対応に戻しVM経路で確実に出力(出力消失解消)
- テストとサンプル追加
- examples/jit_plugin_invoke_param_array.nyash: 最小JITスモークテスト
- examples/py_result_*.nyash: Python plugin結果チェーン処理デモ
- PyRuntimeBox拡張
- str()メソッドでPyObjectのstring表現を取得可能に
- エラーハンドリング改善とResultチェーンサポート
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-29 13:46:18 +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
327ad37c3e
🛠️ Phase C: SocketBox Arc<RwLock> + syntax fixes for multiple Box types
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-15 04:48:10 +00:00
cdcfa98dd1
🔧 Phase A: Add share_box() method to NyashBox trait and all Box implementations
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-15 04:29:41 +00:00
0d7e6adfa1
Fix: Resolve 39 compilation errors - DebugBox, SocketBox, HTTPServerBox, IntentBox RwLock conversion
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-15 03:08:09 +00:00
5bcaa14b52
Phase 9.75-B: Convert StreamBox from Arc<Mutex> to RwLock, progress on DebugBox
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 23:59:11 +00:00
2464e555dd
🚀 feat: ビルトインBox継承システム完全実装
...
## 🎯 主要機能
- `box ChatNode from P2PBox` 構文完全対応
- 25個のビルトインBox型で継承可能に
- `from Parent.method()` デリゲーション構文実装
## 🏗️ アーキテクチャ革命
- BoxBase + BoxCore統一設計完成
- parent_type_id による継承関係管理
- as_any() 動的型システム統一実装
- Arc<Mutex>パターン全Box型適用完了
## ✅ 技術的達成
- コンパイルエラー: 42個 → 0個 (100%解決)
- ビルトイン継承: StringBox, P2PBox, MathBox等すべて対応
- 実行時型安全性: 完全保証
- Everything is Box哲学: より深化
## 🔧 主要変更ファイル
- src/box_trait.rs: BoxBase/BoxCore統一アーキテクチャ
- src/boxes/*: 全Box型にas_any()実装
- src/interpreter/: ビルトイン継承ディスパッチ実装
- docs/: 継承システム仕様書更新
🎉 Nyashが本格プログラミング言語として大きく進化!
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-11 15:01:11 +09:00
edcf4bf0a7
🚀 feat: BoxBase+BoxCore革命 Phase4進捗 - 12+Box型統一完了
...
✅ 完了したBox型統一アーキテクチャ移行
- MathBox関連: MathBox, FloatBox, RangeBox
- TimeBox関連: TimeBox, DateTimeBox, TimerBox
- DebugBox, RandomBox
- StringBox, IntegerBox, BoolBox (個別ファイル版)
- ArrayBox, ConsoleBox
- box_trait.rs内: StringBox, IntegerBox, BoolBox, VoidBox等
🎯 大幅な進捗達成
- unsafe ID生成 → BoxBase::new()安全化
- コンパイルエラー: 106 → 97に減少
- 統一インターフェース確立でCharmFlow互換性問題完全回避
🔧 革命的変更パターン確立
1. base: BoxBase導入
2. impl BoxCore with box_id()/fmt_box()
3. NyashBoxからbox_id()削除
4. Display::fmt() → fmt_box()委譲
Phase 4E: 残りBox型の統一化継続中
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-11 11:25:17 +09:00
ccb3204a35
🚀 feat: ":"継承演算子実装+全14Box型の包括的ドキュメント化完成
...
## 🔧 言語機能改善
- from予約語問題を解決する":"継承演算子を実装
- box Child : Parent 構文でより直感的な継承表現
- tokenizer/parserを更新、from を変数名として使用可能に
## 📚 ドキュメント大改善(1000行以上追加)
全14Box型に包括的なJavaDoc風ドキュメントを追加:
- StringBox: 文字列操作メソッド群
- IntegerBox/BoolBox: 基本データ型と演算子
- MathBox/RandomBox/TimeBox: 計算・ユーティリティ
- ConsoleBox/DebugBox/SoundBox: システムIO
- MapBox/NullBox: データ構造
- EguiBox: デスクトップGUI
- SimpleIntentBox: P2P通信
各Boxに概要・メソッド一覧・使用例・実用例・注意事項を完備
## 🧹 プロジェクト整理
- ルートディレクトリから60個のテストファイルを削除
(development/root_tests/に移動済み)
- 不要ファイル削除: bmp, tar.xz, html, 空フォルダ等
- examplesフォルダへ適切なファイルを移動
## 📝 その他の更新
- CLAUDE.md: パーサーデバッグ機能の説明追加
- sessions/: AI相談記録2件を保存
- from予約語問題の解決策検討
- 標準Box型(ArrayBox等)の設計相談
2025-08-10 11:32:32 +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