Files
hakorune/docs/CURRENT_TASK.md
Moe Charm 72b63546b0 feat(phase-9.75g-0): Add simple nyash.toml parser for plugin configuration
-  Simple TOML parser for [plugins] section
-  Maps Box names to plugin names (e.g., FileBox => filebox)
-  Handles comments and empty lines
-  Complete test coverage
- 🎯 Minimal implementation for transparent Box replacement!

Part of Day 4 FileBox plugin implementation (60% → 70%)

🤖 Generated with Claude Code

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

139 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🎯 現在のタスク (2025-08-17)
## 🚀 **現在進行中: Phase 9.75g-0 型定義ファースト BID-FFI実装**
**目的**: FFI ABI v0準拠のシンプルで動くプラグインシステム構築
**戦略**: 型定義は全部最初に、実装は段階的にunimplemented!活用)
**期間**: 1週間2025-08-17〜2025-08-24
**詳細**:
- [phase_9_75g_0_chatgpt_enhanced_final.md](../予定/native-plan/issues/phase_9_75g_0_chatgpt_enhanced_final.md) ← **ChatGPT最終案採用**
- [ffi-abi-specification.md](../説明書/reference/box-design/ffi-abi-specification.md) ← **BID-1仕様に更新完了**
### ✅ **Day 1 完了!** (2025-08-17)
- ✅ ChatGPT先生の最終レビュー完了
- ✅ ffi-abi-specification.mdをBID-1 Enhanced Editionに更新
- ✅ Handle設計type_id + instance_id確定
- ✅ BID-1 TLVフォーマット仕様確定
- ✅ プラグインAPInyash_plugin_*)仕様確定
-**BID-1基盤実装完了**
- src/bid/モジュール構造作成
- TLVエンコード/デコード実装
- エラーコード定義BidError
- 型システムBidType, BidHandle
- **テスト4/4合格** 🎉
### ✅ **Day 2 完了!** (2025-08-17)
**目標**: メタデータAPI実装ホスト統合・プラグイン情報管理
**実装完了**:
- ✅ HostVtable: ホスト機能テーブルalloc/free/wake/log
- ✅ NyashPluginInfo: プラグイン情報構造体
- ✅ NyashMethodInfo: メソッド情報構造体
- ✅ C FFI関数シグネチャ定義
- ✅ プラグインライフサイクル管理
-**テスト7/7合格** 🎉
### ✅ **Day 3 完了!** (2025-08-17)
**目標**: 既存Box統合StringBox/IntegerBox/FutureBoxブリッジ
**実装完了** (100%達成!):
- ✅ BID Box Bridge設計: 既存Box型とBIDハンドルの相互変換インターフェース
- ✅ StringBox BIDブリッジ: Handle/TLV変換実装
- ✅ IntegerBox BIDブリッジ: Handle/TLV変換実装
- ✅ FutureBox BIDブリッジ: 非同期Box型の統合完了
- ✅ BoxRegistry: Box型とハンドルの管理システム
- ✅ 統合テスト: 全Box型ラウンドトリップテスト4/4合格
-**Everything is Box理論の威力実証** 🎉
### 🎯 **Day 4 進行中!** (2025-08-17)
**目標**: FileBoxプラグイン実装open/read/write/close
**実装完了** (60%達成!):
- ✅ FileBoxプラグイン設計: open/read/write/close API設計
- ✅ FileBoxプラグイン実装: ハンドル管理・ファイル操作実装
- ✅ FileBoxテスト作成: ファイル操作テスト1/1合格
-**プラグインシステム設計統合**: gemini先生とcodex先生の提案を統合
- [Box プラグインシステム設計](../説明書/reference/box-design/plugin-system.md) 作成
- YAML署名DSL仕様確定
- nyash.tomlによる透過的置き換え設計
**残タスク**:
- ⏳ nyash.tomlパーサー実装シンプル版
- ⏳ PluginBoxプロキシ実装最小版
- ⏳ libloadingでプラグイン動的ロード
### 🎯 今週の実装計画(シンプル設計版に更新)
- **Day 1**: ✅ BID-1基盤実装TLV仕様、Handle構造体、エンコード/デコード)
- **Day 2**: ✅ メタデータAPI実装init/abi/shutdown、HostVtable、レジストリ
- **Day 3**: ✅ 既存Box統合StringBox/IntegerBox/FutureBoxブリッジ**100%完了!**
- **Day 4**: ⏳ FileBoxプラグイン実装open/read/write/close**60%進行中!**
- **Day 5**: プラグインロードと統合libloading、Boxレジストリ、透過的置き換え
- **Day 6-7**: 仕上げとドキュメント(使用例、開発ガイド、拡張計画)
### 🔑 技術的決定事項
- ポインタ: `usize`(プラットフォーム依存)
- アライメント: 8バイト境界
- 単一エントリーポイント: `nyash_plugin_invoke`
- ターゲット: Linux x86-64限定
## ✅ **完了済み主要成果**
### **MIR 35→26命令削減** (2025-08-17)
- 実装期間: 1日予定5週間の5%
- 成果: 26命令体系確立、全バックエンド対応
- 詳細: [mir-26-specification.md](../説明書/reference/mir-26-specification.md)
### **Phase 9.75 RwLock変換** (完了)
- Arc<Mutex> → Arc<RwLock>全Box型変換
- 性能改善達成
### **Phase 9.75e using nyashstd** (完了)
- 標準ライブラリ統合
- リテラル自動変換実装
### **Phase 9.75j 警告削減** (完了)
- 106個→0個100%削減)
## 🔮 **次期優先タスク**
1. **Phase 8.6: VM性能改善**(緊急)
- 問題: VMがインタープリターより0.9倍遅い
- 目標: 2倍以上高速化
- 詳細: [phase_8_6_vm_performance_improvement.md](../予定/native-plan/issues/phase_8_6_vm_performance_improvement.md)
2. **Phase 9: JIT実装**
- VM改善後の次ステップ
3. **Phase 10: LLVM Direct AOT**
- 目標: 100-1000倍高速化
- 期間: 4-6ヶ月
## 📊 **プロジェクト統計**
- **実行モード**: インタープリター/VM/WASM/AOT開発中
- **Box型数**: 16種類すべてRwLock統一
- **MIR命令数**: 26最適化済み
- **ビルド時間**: 2分以上改善中
## 🔧 **開発ガイドライン**
### クイックリファレンス
- [CLAUDE.md](../CLAUDE.md) - 開発者向けガイド
- [copilot_issues.txt](../予定/native-plan/copilot_issues.txt) - Phase順開発計画
- [syntax-cheatsheet.md](../quick-reference/syntax-cheatsheet.md) - 構文早見表
### テスト実行
```bash
# リリースビルド(推奨)
cargo build --release -j32
# 実行
./target/release/nyash program.nyash
# ベンチマーク
./target/release/nyash --benchmark --iterations 100
```
---
**最終更新**: 2025-08-17 23:30
**次回レビュー**: 2025-08-18Day 4継続時