Commit Graph

974 Commits

Author SHA1 Message Date
525747d2b3 Implement Phase 8.5A: Core 25-instruction MIR specification with ownership verification
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-14 02:39:04 +00:00
7d1cdb2935 Merge branch 'main' of github.com-moecharm:moe-charm/nyash 2025-08-14 11:08:14 +09:00
cdeb4818a7 Phase 8.4: Complete AST→MIR Lowering - Basic object operations implemented
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-14 01:48:40 +00:00
c7365d3dc9 feat(merge): integrate Phase 8.3 WASM Box Operations + Benchmark System
🎉 Successful merge of Copilot and Claude implementations:

**Copilot Contributions (Phase 8.3):**
-  WASM Box Operations: RefNew/RefGet/RefSet complete implementation
-  Memory management: BoxLayout, MemoryManager with standard types
-  WASM codegen: Box allocation, field access, type-safe operations
-  Runtime support: malloc, heap management, type ID system

**Claude Contributions (Benchmark System):**
-  Comprehensive benchmark framework (src/benchmarks.rs)
-  CLI integration: --benchmark, --iterations, --output options
-  3-backend performance comparison (Interpreter/VM/WASM)
-  280x WASM speedup verification system
-  Golden dump testing infrastructure

**Unified Features:**
- 🔧 execute_wasm_mode: Supports both output file and stdout
- 🔧 CLI arguments: All options preserved and functional
- 🔧 Error handling: Improved MIR verification messages
- 🔧 Build system: All modules properly integrated

**Next Steps Ready:**
- 📊 MIR diet planning (35→20 instructions)
- 🚀 Phase 8.4: AOT WASM native compilation
- 🧪 Golden dump automation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 08:12:36 +09:00
a0a97620b8 Complete Phase 8.3 WASM Box Operations - Everything is Box in WASM
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 22:20:50 +00:00
8ec80a35c3 feat(benchmark): add comprehensive performance benchmarking system
🚀 Phase 8.2 PoC2 Achievement: 280x WASM performance boost proven\!

## New Features:
- Complete benchmark framework (src/benchmarks.rs)
- CLI integration: --benchmark --iterations options
- 3-backend comparison: Interpreter/VM/WASM
- Automated performance measurement & reporting

## Benchmark Results (100 iterations average):
- WASM: 0.17ms (280x faster than Interpreter\!)
- VM: 16.97ms (2.9x faster than Interpreter)
- Interpreter: 48.59ms (baseline)

## Added Files:
- benchmarks/bench_{light,medium,heavy}.nyash - Test cases
- benchmark_summary_20250814.md - Clean results
- wasm_demo/ - Browser execution environment

## Documentation Updates:
- docs/execution-backends.md - Added benchmark usage
- docs/CURRENT_TASK.md - Phase 8.3 Copilot coordination
- CLAUDE.md - Quick benchmark access

## Copilot Integration Ready:
- Phase 8.3 merge conflict avoidance strategy documented
- Benchmark framework ready for Box operation performance validation
- CLI integration preserved for future enhancements

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 07:19:23 +09:00
8a7532a77b 🎉 Phase 8.2 PoC1 COMPLETE: MIR→WASM basic arithmetic working end-to-end!
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 13:19:43 +00:00
3335f26812 Phase 8.2 PoC1 Progress: WASM codegen mostly working, debugging Return instruction issue
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 13:15:02 +00:00
8276eeeb64 Phase 8.1 Complete: WASM backend foundation implementation
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 13:05:49 +00:00
28070ea2f2 Fix VM execution bug - include terminator instructions in execution loop
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 12:18:47 +00:00
cefac9051e Phase 7.4: Complete async MIR implementation with comprehensive tests
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 11:59:22 +00:00
f6e6e5bae4 Phase 7.2: Implement AST→MIR lowering for nowait/await expressions
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 11:48:53 +00:00
b59f0ee419 Phase 7.1: Add MIR instructions for async operations (FutureNew, FutureSet, Await)
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 11:46:01 +00:00
9adb34ff58 Complete Phase 6.1: AST lowering for New/FieldAccess → MIR Ref ops with tests and VM field storage
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 10:26:46 +00:00
af3ad5e5e2 Implement core AST lowering for New/FieldAccess to MIR Ref ops with basic VM field storage
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 10:20:37 +00:00
84d2aac8da Implement Phase 6 Box reference operations in MIR/VM - RefNew/RefGet/RefSet/WeakNew/WeakLoad/Barrier*
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 09:45:22 +00:00
3082c77ecd Implement Phase 5.2: static box Main lowering to MIR
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 07:53:14 +00:00
e75e3e15e8 Complete Phase 5.1: Add terminator handling for nested control flow
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 07:17:45 +00:00
ba568f7dfb Implement Local and TryCatch lowering in MirBuilder
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 07:13:53 +00:00
d3a85b2305 Implement Phase 5: Control flow & exceptions in MIR/VM - Core functionality complete
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 06:23:28 +00:00
2f3b453fcb Implement Phase 1: MIR + VM backend with golden tests
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 05:59:10 +00:00
079a095f5c Implement Phase 0: Stabilize CLI build with feature separation
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 05:06:43 +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
c6f76505b5 🔥 Phase 2 Complete: Comprehensive fini system with ChatGPT5 design
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 02:22:20 +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
16cd53d125 Complete Canvas Box ecosystem with 10 professional WASM demos
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 00:36:32 +00:00
cfe550ac01 Implement core Canvas Boxes and 5 WASM demos
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-13 00:27:07 +00:00
9826c7992b Final validation: multi-parent weak reference system complete
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-12 22:27:27 +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
67e30315f3 Implement hybrid InstanceBox architecture with weak reference accessors
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-12 21:23:08 +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
56af6c612f Phase 3 Complete: Parser extended with weak field support
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-12 20:27:20 +00:00
0f0edeeb9c Phase 2 Complete: NyashValue extended with WeakBox support
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-12 20:15:44 +00:00
774e0bb241 🚀 MIR Stage 1 Basic Infrastructure Complete - 20 Instructions + SSA + Effects
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-12 11:33:48 +00:00
16eaadfdd2 🔥 Complete Phase 0 NyashValue Enum Foundation - Core Implementation
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-12 10:08:30 +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
7aa257872f CRITICAL FIX: Add missing StringBox, IntegerBox, BoolBox constructors
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-12 08:14:28 +00:00
dadb5afcff Initial investigation: Identified core Box registration issues
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-12 08:12:26 +00:00
494f413ddf Complete P2P system implementation with tests - all core functionality ready
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-12 01:39:51 +00:00
861201cab4 Implement complete P2P communication system with modern architecture
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-12 01:35:36 +00:00
535003118d Phase 4 complete: All comparison operators working perfectly
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-11 20:42:42 +00:00
2d3b6adf09 Phase 3 complete: DateTimeBox fully implemented and tested
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-11 20:38:39 +00:00
738a026466 Phase 1 complete: Unified import system implemented and tested
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-11 20:32:25 +00:00
0abdd9dbcf 🔧 fix: FloatBoxインポートパス修正 + コンテキスト圧縮対策追加
- FloatBoxインポートをcrate::boxes::math_box::FloatBoxに修正
- expressions.rs, objects.rsでインポートパス統一
- CLAUDE.mdにコンテキスト圧縮時の重要ルール追加
- 次回Copilot作業のための準備完了

Note: FloatBox toString()はまだ未修正(Copilotに引き継ぎ)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 05:12:32 +09:00
7fa681643d Phase 2 Complete: ArrayBox improvements - sort, reverse, slice methods
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-11 19:38:45 +00:00
93cad22d31 Phase 1 Complete: FloatBox full implementation with operators and methods
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com>
2025-08-11 19:35:25 +00:00
19cfe70df9 🔧 refactor: P2PBox複雑実装を削除し段階的実装方針に変更
- 複雑なP2PBox関連実装を削除:
  * Transport trait + MessageBus + MessageIntentBox + NewP2PBox
  * 依存関係が複雑で一度に追加すると失敗することを学習

- nyashバイナリのビルドを安定化:
  * 全てのimportエラーを修正
  * cargo build --bin nyash が正常に動作

- CURRENT_TASK.mdに新しい段階的実装方針を記載:
  * Phase 1: FloatBox (依存なし)
  * Phase 2: ArrayBox改良
  * Phase 3: 演算子システム改良

- 教訓: 一つずつ確実に実装し、テストファーストで進める

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 04:02:19 +09:00
3876b83e26 🚀 feat: NewP2PBox天才アルゴリズム完全実装 - P2P通信革命達成
## 🧠 天才アルゴリズム実装
- ローカル配送: MessageBus経由(爆速)
- リモート配送: Transport経由(柔軟)
- 完全自動判別・透明処理

## 📡 実装完了機能
1. NewP2PBox本体(天才アルゴリズム内蔵)
2. MessageBusシングルトン(高速ローカル配送)
3. Transport trait抽象化(InProcess/WebSocket/WebRTC)
4. MethodBox統合(Nyash側コールバック)
5. インタープリター完全統合

##  動作確認済み
- Rustクロージャ版: 全機能完璧動作
- MethodBox統合: コールバック正常動作
- インタープリター統合: Nyashから直接利用可能

## 🎯 利用可能Nyash構文
```nyash
alice = new NewP2PBox("alice", "InProcess")
msg = new MessageIntentBox("greeting")
msg.set("text", "Hello\!")
alice.send("bob", msg)
bob.onMethod("greeting", handler)
```

🎉 NyaMeshP2Pライブラリの基盤完成!次はP2PBoxデリゲート実装へ

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-11 17:51:16 +09:00
312ba73b4b 🌐 feat: P2PBox天才アルゴリズム完全実装 - Bus+Transport統合システム
## 🚀 ChatGPT大会議設計の完全実現
- Bus = ローカルOS:常に保持、配送・購読・監視のハブ
- Transport = NIC:通信手段選択、InProcess/WebSocket/WebRTC切り替え
- MessageIntentBox:Nyashネイティブメッセージコンテナ

##  天才送信アルゴリズム実装
```rust
if self.bus.has_node(to) {
    self.bus.route(message)?;  // 爆速ローカル(ゼロコピー級)
} else {
    self.transport.send(to, intent, data)?;  // Transport経由
}
```

## 🎯 4つの核心完全達成
1.  P2PBoxは、トランスポートがネットでもBusを持ち続ける
2.  P2PBoxはMessageIntentBoxを使って送る
3.  送信アルゴリズム:ローカルならBus、それ以外はTransport
4.  受信フロー:BusMessage→MessageIntentBoxラッパー実装

## 📦 新規実装コンポーネント
- MessageBus:グローバルシングルトン、Arc<Mutex>統一パターン
- Transport trait:NyaMesh参考、同期ファースト設計
- InProcessTransport:高速ローカル通信実装
- MessageIntentBox:HashMap<String, Box<dyn NyashBox>>構造
- TransportKind enum:create_transport()ファクトリ含む
- NewP2PBox:天才アルゴリズム内蔵、同期・シンプル実装

## 🎉 設計思想実現
「ローカル高速・ネット分離・デバッグ容易・拡張自在」を完全両立
NyaMesh実証済みパターン + Everything is Box哲学の融合

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-11 17:20:05 +09:00