|
|
61800a37a7
|
feat: Phase 10 reorganization + GC switchable runtime + VM improvements
## 📚 Documentation Updates
- Phase 10 reorganized with comprehensive README
- Cranelift JIT as main implementation
- NEW: Phase 10.4 GC Switchable Runtime (world's first\!)
- Phase 10.5 Self-hosting (parallel)
- Application migration tests
- Phase 11 created for LLVM AOT research (deferred)
- Moved phase10_aot_scaffolding.md → Phase 11
- Moved phase_10_x_llvm_backend_skeleton.md → Phase 11
- Master roadmap updated with GC runtime feature
- Ideas: GC switchable language concept documented
## 🚀 VM Implementation Progress (by ChatGPT5)
- src/backend/vm.rs: Enhanced VM execution
- src/backend/vm_instructions.rs: Instruction improvements
- src/runtime/type_meta.rs: NEW - Type metadata system
- src/boxes/buffer/mod.rs: Buffer optimizations
- src/runtime/mod.rs & plugin_ffi_common.rs: Runtime enhancements
## 🌟 Revolutionary Feature: GC Switchable Runtime
- Development mode: GC on (convenience)
- Production mode: GC off (performance)
- Technical feasibility confirmed by Codex GPT-5
- Implementation plan: After Cranelift JIT
## 📋 Phase 10 Structure
Phase 10.0: Cranelift JIT foundation
Phase 10.1-10.3: JIT implementation & optimization
Phase 10.4: GC Switchable Runtime ← NEW\!
Phase 10.5: Self-hosting (String/Array/Map in Nyash)
Phase 10.9: Application migration tests
🤖 ChatGPT5 says: Ready for Phase 10\! どきどきにゃ!
|
2025-08-27 01:03:55 +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 |
|
|
|
27ce63e33c
|
✅ Phase 10.1: Zero-Copy Detection APIs Implementation Complete
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
|
2025-08-15 06:06:41 +00:00 |
|
|
|
8d9c8b5899
|
🔧 Phase C: MapBox & BufferBox Arc<RwLock> state sharing implementation
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
|
2025-08-15 04:39:00 +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 |
|
|
|
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 |
|
|
|
ffa09b17fb
|
Phase 9.75-B: Convert ArrayBox, MapBox, BufferBox from Arc<Mutex> to RwLock
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
|
2025-08-14 23:48:21 +00:00 |
|
|
|
2eba31143a
|
test: green up after Phase 2 merge for #26\n\n- Fix AST tests (is_override)\n- Align MIR builder test with current If AST\n- Adjust ResultBox API usage in tests\n- Add len() helpers to ArrayBox/BufferBox for tests
|
2025-08-13 11:53:34 +09: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 |
|
|
|
8892b0c006
|
🎉 feat: BoxBase+BoxCore革命 Phase4F-G完了 - GUI/IO/データ系Box統一達成
✅ 新たに完了したBox型統一アーキテクチャ移行
- EguiBox: GUI機能、デスクトップアプリケーション対応 🖼️
- BufferBox: バイナリデータ処理、メモリ効率最適化 📦
- FileBox: ファイルシステム操作、安全なIO処理 📁
- JSONBox: JSON解析/操作、型情報豊富な表示 📋
🎯 累積達成: 20+Box型の統一アーキテクチャ移行完了
- 音声系: SoundBox ✅
- データ系: MapBox, BufferBox, JSONBox ✅
- UI系: EguiBox ✅
- IO系: FileBox ✅
- 数学系: MathBox, FloatBox, RangeBox ✅
- 時間系: TimeBox, DateTimeBox, TimerBox ✅
- デバッグ系: DebugBox, RandomBox ✅
- 基本型: String/Integer/Bool等 ✅
🔧 統一パターン確立による効果
- unsafe ID生成完全排除 → BoxBase::new()安全化
- 一貫したfmt_box()表示システム
- CharmFlow互換性問題の根本解決
- スレッドセーフ性とメモリ安全性向上
🐱 ゆっくり丁寧なアプローチで品質確保
Phase4継続中: 残りBox型も同じ高品質で統一化
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-11 11:45:34 +09:00 |
|
|
|
0c786a8ac6
|
🔥 feat: Arc<Mutex> Revolution完全達成 - 全Box型統一実装
## 🎯 主要な変更
- ArrayBoxをArc<Mutex>パターンで完全再実装
- 全メソッドが`&self`で統一(push, pop, get, set等)
- Box<dyn NyashBox>引数対応でNyashから使用可能に
## ✨ 修正内容
- ArrayBox: 完全なArc<Mutex>実装に置き換え
- BufferBox: ArrayBoxとの連携修正、デバッグ出力削除
- StringBox: 新しいArrayBoxインポートに修正
- RandomBox: 新しいArrayBoxインポートに修正
- box_trait.rs: 古いArrayBox定義を削除しre-export追加
## 🧪 テスト追加
- test_buffer_box.nyash: BufferBox動作確認
- test_random_box.nyash: RandomBox動作確認
- test_new_boxes.nyash: 包括的Box機能テスト修正
## ✅ 確認済み動作
- ArrayBox: push/pop/get/set/join等全メソッド
- BufferBox: write/readAll/length
- RandomBox: choice/shuffle等配列操作
- JSONBox/RegexBox: 既に正しく実装済み
🚀 全Box型がArc<Mutex>パターンで統一完了!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-10 16:46:39 +09:00 |
|
|
|
53b8dc878f
|
🎉 feat: Arc<Mutex>パターン統一完全達成 - Everything is Box革命完成
## 🔥 主要な成果
- **全9種類のBox統一**: Arc<Mutex>パターンで内部可変性実現
- **&selfメソッド**: すべてのBoxで統一されたメソッドシグネチャ
- **スレッドセーフ**: マルチスレッド環境で安全動作保証
- **メモリ安全**: Rustの所有権システムと完全統合
## ✅ 完了したBox実装
- ArrayBox: Arc<Mutex<Vec<dyn NyashBox>>>で配列操作
- BufferBox: Arc<Mutex<Vec<u8>>>でバイナリデータ処理
- RegexBox: Arc<Regex>で正規表現処理
- JSONBox: Arc<Mutex<Value>>でJSON解析・操作
- StreamBox: Arc<Mutex<Vec<u8>>>でストリーム処理
- HttpClientBox: HTTP通信(stub実装)
- ResultBox/FutureBox: エラー・非同期処理(確認済み)
## 🧪 テスト結果
```nyash
// 全ての新Boxが正常に作成可能!
buffer = new BufferBox() // ✅
regex = new RegexBox("[0-9]+") // ✅
json = new JSONBox("{}") // ✅
stream = new StreamBox() // ✅
http = new HTTPClientBox() // ✅
```
## 🏗️ アーキテクチャ革新
- **"Everything is Box"哲学の完全実現**
- **統一されたArc<Mutex>パターン**
- **内部可変性と外部安全性の両立**
- **GitHub Copilotとの協働成果**
🎊 Arc<Mutex>革命達成記念日: 2025年8月10日
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-10 15:15:10 +09:00 |
|
|
|
750543be7c
|
🔧 refactor: すべてのBoxをArc<Mutex>パターンで統一
CopilotのBox実装を私たちのArc<Mutex>パターンで統一:
- BufferBox: Arc<Mutex<Vec<u8>>>で内部可変性を実現
- FileBox: Arc<Mutex<File>>でファイルハンドル管理
- JSONBox: Arc<Mutex<Value>>でJSON値を保持
- HttpClientBox: Arc<Mutex<Client>>でHTTPクライアント管理
- StreamBox: Arc<Mutex>でストリームバッファと位置を管理
- RegexBox: Arc<Regex>で軽量ラッパー実装
各Boxに実用的なメソッドも追加:
- BufferBox: write, read, readAll, clear, length, append, slice
- FileBox: read, write, exists, delete, copy
- JSONBox: parse, stringify, get, set, has, keys
- HttpClientBox: get, post, put, delete, request
- StreamBox: write, read, position, length, reset
- RegexBox: test, find, findAll, replace, split
interpreterに新Box用のメソッド実行を追加:
- data_methods.rs: BufferBox, JSONBox, RegexBox
- network_methods.rs: HttpClientBox, StreamBox
これでコードベース全体が一貫性のあるArc<Mutex>パターンで統一されました!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-10 13:03:42 +09:00 |
|
|
|
e6e36ccfb0
|
Implement NyashBox trait for core boxes - ArrayBox, BufferBox, FileBox, JSONBox, FutureBox, StreamBox, ResultBox
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
|
2025-08-10 03:21:24 +00:00 |
|
|
|
6f916855c8
|
Add core Box implementations: ArrayBox, ResultBox, FutureBox, BufferBox, FileBox, JSONBox, HttpClientBox, StreamBox, RegexBox
|
2025-08-10 02:45:57 +00:00 |
|