2025-08-16 21:47:14 +09:00
|
|
|
|
# 🤖 Copilot様 作業予定・課題整理 (Phase 9.7以降 実用化重点)
|
|
|
|
|
|
# Generated: 2025-08-16 (インタープリター併用戦略統合)
|
2025-08-14 11:14:24 +09:00
|
|
|
|
# Purpose: Claude×Copilot協調開発のための情報共有
|
|
|
|
|
|
|
|
|
|
|
|
================================================================================
|
2025-08-16 21:47:14 +09:00
|
|
|
|
🎯 Nyash実行モード併用戦略
|
2025-08-14 11:14:24 +09:00
|
|
|
|
================================================================================
|
|
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
## 🌟 インタープリター+コンパイラ併用の価値
|
2025-08-13 18:19:49 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
### 実行モード使い分け
|
2025-08-15 10:21:26 +09:00
|
|
|
|
```
|
2025-08-16 21:47:14 +09:00
|
|
|
|
開発時: インタープリター(デバッグ・即時実行・非同期フル対応)
|
|
|
|
|
|
本番時: インタープリター(Pythonのように実用的)
|
|
|
|
|
|
OR
|
|
|
|
|
|
WASM/AOT(性能要求時)
|
|
|
|
|
|
配布時: AOT native(最高性能)
|
|
|
|
|
|
Web時: WASM(ブラウザ対応)
|
2025-08-15 10:21:26 +09:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
### インタープリターの強み
|
|
|
|
|
|
- **即時実行**: コンパイル不要で高速開発
|
|
|
|
|
|
- **デバッグ容易**: 実行時情報の完全把握
|
|
|
|
|
|
- **非同期完全対応**: Rust async/awaitで真の並行処理
|
|
|
|
|
|
- **動的性**: 実行時評価・REPL対応
|
|
|
|
|
|
- **十分な性能**: 多くのユースケースで実用的(Pythonが証明)
|
2025-08-15 07:47:09 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
================================================================================
|
|
|
|
|
|
🎯 Phase 9.7以降 開発ロードマップ (実用化重点)
|
|
|
|
|
|
================================================================================
|
docs: NyIR Core 26命令統一完了 - Universal Exchange Vision基盤確立
## 🌟 主要変更
- NyIR Core: 25命令 → 26命令(ExternCall追加)
- Universal Exchange Vision実現基盤完成
- Everything is Box哲学:外部ライブラリ統一対応
## 📋 完了した統一作業
- ✅ docs/nyir/spec.md: 26命令正式仕様確定
- ✅ docs/nyir/vision_universal_exchange.md: ChatGPT5ビジョン統合
- ✅ docs/予定/native-plan/copilot_issues.txt: 実装計画全面更新
- ✅ Extension戦略再定義: 言語固有機能に限定
## 🎯 26命令完全定義
**Tier-0 (8命令)**: Const, BinOp, Compare, Branch, Jump, Phi, Call, Return
**Tier-1 (13命令)**: NewBox, BoxFieldLoad, BoxFieldStore, BoxCall, **ExternCall**,
Safepoint, RefGet, RefSet, WeakNew, WeakLoad, WeakCheck, Send, Recv
**Tier-2 (5命令)**: TailCall, Adopt, Release, MemCopy, AtomicFence
## 🔥 ExternCall革命
外部ライブラリをBox統一APIで利用する革命的機能追加
## 📚 新規ドキュメント
- docs/nyir/: NyIR公開仕様フォルダ新設
- box_ffi_abi.md: Box FFI/ABI完全設計(ChatGPT5)
- phase_9_7実装仕様: GitHub Issue #72準備完了
## 🚀 次期タスク
Phase 9.7: Box FFI/ABI実装(Issue #72)
- MIR ExternCall命令実装
- WASM RuntimeImports統合
- Universal Library Integration実現
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 17:26:04 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
## ⚡ Phase 9.77: WASM緊急復旧 - BoxCall/UTF-8エラー修正(進行中)
|
2025-08-15 15:24:03 +09:00
|
|
|
|
|
|
|
|
|
|
Summary:
|
2025-08-16 21:47:14 +09:00
|
|
|
|
- BoxCall命令実装 ✅ 完了
|
|
|
|
|
|
- wasmtimeバージョン更新 ✅ 完了
|
|
|
|
|
|
- UTF-8エラー修正 🔄 進行中(Issue #110)
|
2025-08-15 15:24:03 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
Priority: **Critical**
|
2025-08-15 15:24:03 +09:00
|
|
|
|
Expected Duration: 1-2週間
|
2025-08-16 21:47:14 +09:00
|
|
|
|
GitHub Issue: #110 (Phase 9.77a)
|
2025-08-15 15:24:03 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
### 進捗状況
|
|
|
|
|
|
- ✅ **Task 1.1**: BoxCall実装(toString, print, equals, clone, log)
|
|
|
|
|
|
- ✅ **Task 1.2**: wasmtime 18.0 → 35.0.0更新、RuntimeImports追加
|
|
|
|
|
|
- 🔄 **Task 1.3**: UTF-8エラー原因特定(エラーメッセージ発生元不明)
|
2025-08-15 15:24:03 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
### 🤖 Copilot協力中
|
|
|
|
|
|
- エラーメッセージ「Generated WASM is not valid UTF-8」の発生元調査
|
|
|
|
|
|
- WAT→WASM変換パイプラインのデバッグ
|
2025-08-15 15:24:03 +09:00
|
|
|
|
|
|
|
|
|
|
References:
|
2025-08-16 21:47:14 +09:00
|
|
|
|
- docs/予定/native-plan/issues/phase_9_77_wasm_emergency.md
|
|
|
|
|
|
- docs/予定/native-plan/issues/phase_9_77a_utf8_error_fix.md
|
2025-08-15 15:24:03 +09:00
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
docs: NyIR Core 26命令統一完了 - Universal Exchange Vision基盤確立
## 🌟 主要変更
- NyIR Core: 25命令 → 26命令(ExternCall追加)
- Universal Exchange Vision実現基盤完成
- Everything is Box哲学:外部ライブラリ統一対応
## 📋 完了した統一作業
- ✅ docs/nyir/spec.md: 26命令正式仕様確定
- ✅ docs/nyir/vision_universal_exchange.md: ChatGPT5ビジョン統合
- ✅ docs/予定/native-plan/copilot_issues.txt: 実装計画全面更新
- ✅ Extension戦略再定義: 言語固有機能に限定
## 🎯 26命令完全定義
**Tier-0 (8命令)**: Const, BinOp, Compare, Branch, Jump, Phi, Call, Return
**Tier-1 (13命令)**: NewBox, BoxFieldLoad, BoxFieldStore, BoxCall, **ExternCall**,
Safepoint, RefGet, RefSet, WeakNew, WeakLoad, WeakCheck, Send, Recv
**Tier-2 (5命令)**: TailCall, Adopt, Release, MemCopy, AtomicFence
## 🔥 ExternCall革命
外部ライブラリをBox統一APIで利用する革命的機能追加
## 📚 新規ドキュメント
- docs/nyir/: NyIR公開仕様フォルダ新設
- box_ffi_abi.md: Box FFI/ABI完全設計(ChatGPT5)
- phase_9_7実装仕様: GitHub Issue #72準備完了
## 🚀 次期タスク
Phase 9.7: Box FFI/ABI実装(Issue #72)
- MIR ExternCall命令実装
- WASM RuntimeImports統合
- Universal Library Integration実現
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 17:26:04 +09:00
|
|
|
|
## 📦 Phase 9.8: BIDレジストリ + 自動コード生成ツール(WASM/VM/LLVM/言語)
|
|
|
|
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
|
|
- BIDレジストリと、BID→各ターゲットのスタブ生成(import/extern宣言)を自動化。
|
|
|
|
|
|
|
|
|
|
|
|
Scope/Tasks:
|
|
|
|
|
|
- BIDレジストリ仕様(署名・効果・バージョン・依存関係)
|
|
|
|
|
|
- 生成: WASM(importObject), VM(関数テーブル), LLVM(declare), TS/Python(RTEラッパ)
|
|
|
|
|
|
- CLI: `nyash bid gen --target wasm|vm|llvm|ts|py bid.yaml`
|
|
|
|
|
|
|
|
|
|
|
|
Acceptance:
|
|
|
|
|
|
- console/canvasのBIDから各ターゲットの骨子が自動生成される
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
## 🔒 Phase 9.9: ExternCall 権限/ケイパビリティモデル(Sandbox/Allowlist)
|
|
|
|
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
|
|
- 外部API呼び出しの安全化。BIDに必要権限を宣言し、ホスト側で許可/拒否。WASMはimport allowlist、VM/LLVMは関数テーブルで制御。
|
|
|
|
|
|
|
|
|
|
|
|
Scope/Tasks:
|
|
|
|
|
|
- 権限種別(console, canvas, storage, net, audio...)とポリシー
|
|
|
|
|
|
- 実行時プロンプト/設定ファイル/環境変数での許可
|
|
|
|
|
|
- 失権時の挙動(明示エラー)
|
|
|
|
|
|
|
|
|
|
|
|
Acceptance:
|
|
|
|
|
|
- 禁止権限のExternCallが実行時にブロックされ、明確なエラーが返る
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
## 🧱 Phase 9.10: NyIR(公開IR)仕様化 + フォーマット + 検証器
|
|
|
|
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
|
|
- 26命令MIRを公開IR(NyIR v1)として基本セマンティクス凍結。バージョニング、バイナリ`.nybc`/テキスト`.nyir`、厳格検証器を用意。
|
|
|
|
|
|
|
|
|
|
|
|
Scope/Tasks:
|
|
|
|
|
|
- docs/nyir/spec.md(Core+Ext骨子)
|
|
|
|
|
|
- nyir-parser/nyir-serializer(.nyir/.nybc)
|
|
|
|
|
|
- Verifier: 所有森/weak/効果/Bus整合
|
|
|
|
|
|
- ツール: `nyashel -S`, `nyir-run`
|
|
|
|
|
|
|
|
|
|
|
|
Acceptance:
|
|
|
|
|
|
- 代表サンプルがNyIRで保存・検証・実行可能
|
|
|
|
|
|
|
|
|
|
|
|
References:
|
|
|
|
|
|
- docs/nyir/spec.md
|
|
|
|
|
|
- docs/予定/native-plan/issues/phase_9_10_nyir_spec.md
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
## 🧪 Phase 9.11: Golden NyIR + Differential 実行テスト(CI)
|
|
|
|
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
|
|
- NyIRダンプをゴールデンとし、interp/vm/wasm/jitの出力一致をCIで検証。
|
|
|
|
|
|
|
|
|
|
|
|
Scope/Tasks:
|
|
|
|
|
|
- golden/*.nyir の整備
|
|
|
|
|
|
- CIで各バックエンド実行→結果一致チェック
|
|
|
|
|
|
|
|
|
|
|
|
Acceptance:
|
|
|
|
|
|
- 主要サンプルで全バックエンド一致
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
2025-08-15 10:37:44 +09:00
|
|
|
|
## 🏆 Phase 10: LLVM Direct AOT(最高性能実現)
|
docs: NyIR Core 26命令統一完了 - Universal Exchange Vision基盤確立
## 🌟 主要変更
- NyIR Core: 25命令 → 26命令(ExternCall追加)
- Universal Exchange Vision実現基盤完成
- Everything is Box哲学:外部ライブラリ統一対応
## 📋 完了した統一作業
- ✅ docs/nyir/spec.md: 26命令正式仕様確定
- ✅ docs/nyir/vision_universal_exchange.md: ChatGPT5ビジョン統合
- ✅ docs/予定/native-plan/copilot_issues.txt: 実装計画全面更新
- ✅ Extension戦略再定義: 言語固有機能に限定
## 🎯 26命令完全定義
**Tier-0 (8命令)**: Const, BinOp, Compare, Branch, Jump, Phi, Call, Return
**Tier-1 (13命令)**: NewBox, BoxFieldLoad, BoxFieldStore, BoxCall, **ExternCall**,
Safepoint, RefGet, RefSet, WeakNew, WeakLoad, WeakCheck, Send, Recv
**Tier-2 (5命令)**: TailCall, Adopt, Release, MemCopy, AtomicFence
## 🔥 ExternCall革命
外部ライブラリをBox統一APIで利用する革命的機能追加
## 📚 新規ドキュメント
- docs/nyir/: NyIR公開仕様フォルダ新設
- box_ffi_abi.md: Box FFI/ABI完全設計(ChatGPT5)
- phase_9_7実装仕様: GitHub Issue #72準備完了
## 🚀 次期タスク
Phase 9.7: Box FFI/ABI実装(Issue #72)
- MIR ExternCall命令実装
- WASM RuntimeImports統合
- Universal Library Integration実現
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 17:26:04 +09:00
|
|
|
|
|
|
|
|
|
|
Summary:
|
2025-08-16 21:47:14 +09:00
|
|
|
|
- MIR→LLVM IR直接変換による最高性能AOT実現
|
|
|
|
|
|
- インタープリターとの併用で最適な開発・実行体験を提供
|
|
|
|
|
|
- 非同期処理フルサポート(async/await のネイティブ実装)
|
docs: NyIR Core 26命令統一完了 - Universal Exchange Vision基盤確立
## 🌟 主要変更
- NyIR Core: 25命令 → 26命令(ExternCall追加)
- Universal Exchange Vision実現基盤完成
- Everything is Box哲学:外部ライブラリ統一対応
## 📋 完了した統一作業
- ✅ docs/nyir/spec.md: 26命令正式仕様確定
- ✅ docs/nyir/vision_universal_exchange.md: ChatGPT5ビジョン統合
- ✅ docs/予定/native-plan/copilot_issues.txt: 実装計画全面更新
- ✅ Extension戦略再定義: 言語固有機能に限定
## 🎯 26命令完全定義
**Tier-0 (8命令)**: Const, BinOp, Compare, Branch, Jump, Phi, Call, Return
**Tier-1 (13命令)**: NewBox, BoxFieldLoad, BoxFieldStore, BoxCall, **ExternCall**,
Safepoint, RefGet, RefSet, WeakNew, WeakLoad, WeakCheck, Send, Recv
**Tier-2 (5命令)**: TailCall, Adopt, Release, MemCopy, AtomicFence
## 🔥 ExternCall革命
外部ライブラリをBox統一APIで利用する革命的機能追加
## 📚 新規ドキュメント
- docs/nyir/: NyIR公開仕様フォルダ新設
- box_ffi_abi.md: Box FFI/ABI完全設計(ChatGPT5)
- phase_9_7実装仕様: GitHub Issue #72準備完了
## 🚀 次期タスク
Phase 9.7: Box FFI/ABI実装(Issue #72)
- MIR ExternCall命令実装
- WASM RuntimeImports統合
- Universal Library Integration実現
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 17:26:04 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
Priority: High (Phase 9.77完了後)
|
2025-08-15 10:37:44 +09:00
|
|
|
|
Expected Duration: 4-6ヶ月
|
|
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
### 🌟 インタープリター併用戦略
|
|
|
|
|
|
```
|
|
|
|
|
|
開発・デバッグ: インタープリター(即時実行・完全な情報)
|
|
|
|
|
|
軽量タスク: インタープリター(Pythonライク)
|
|
|
|
|
|
性能要求時: LLVM AOT(1000倍高速化)
|
|
|
|
|
|
Web配布: WASM(ブラウザ対応)
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 🏗️ Phase 10.1: 同期版LLVM実装(3ヶ月)
|
2025-08-15 10:37:44 +09:00
|
|
|
|
|
|
|
|
|
|
Implementation Steps:
|
2025-08-16 21:47:14 +09:00
|
|
|
|
1) `src/backend/llvm/` 基盤構築
|
|
|
|
|
|
2) MIR→LLVM IR基本変換
|
|
|
|
|
|
3) Box操作の最適化(エスケープ解析)
|
|
|
|
|
|
4) ベンチマーク: 100倍目標
|
|
|
|
|
|
|
|
|
|
|
|
### 🌐 Phase 10.2: 非同期拡張(2ヶ月)
|
|
|
|
|
|
|
|
|
|
|
|
非同期サポート戦略:
|
|
|
|
|
|
- **async/await ネイティブ実装**: Rust風の効率的な非同期
|
|
|
|
|
|
- **軽量ランタイム**: 独自Future実装
|
|
|
|
|
|
- **インタープリター互換**: 同じ非同期セマンティクス
|
|
|
|
|
|
|
|
|
|
|
|
```rust
|
|
|
|
|
|
// Phase 10.2: 非同期LLVM実装
|
|
|
|
|
|
FutureNew → LLVM coroutine intrinsics
|
|
|
|
|
|
Await → LLVM suspend/resume points
|
|
|
|
|
|
FutureSet → completion notification
|
|
|
|
|
|
```
|
docs: NyIR Core 26命令統一完了 - Universal Exchange Vision基盤確立
## 🌟 主要変更
- NyIR Core: 25命令 → 26命令(ExternCall追加)
- Universal Exchange Vision実現基盤完成
- Everything is Box哲学:外部ライブラリ統一対応
## 📋 完了した統一作業
- ✅ docs/nyir/spec.md: 26命令正式仕様確定
- ✅ docs/nyir/vision_universal_exchange.md: ChatGPT5ビジョン統合
- ✅ docs/予定/native-plan/copilot_issues.txt: 実装計画全面更新
- ✅ Extension戦略再定義: 言語固有機能に限定
## 🎯 26命令完全定義
**Tier-0 (8命令)**: Const, BinOp, Compare, Branch, Jump, Phi, Call, Return
**Tier-1 (13命令)**: NewBox, BoxFieldLoad, BoxFieldStore, BoxCall, **ExternCall**,
Safepoint, RefGet, RefSet, WeakNew, WeakLoad, WeakCheck, Send, Recv
**Tier-2 (5命令)**: TailCall, Adopt, Release, MemCopy, AtomicFence
## 🔥 ExternCall革命
外部ライブラリをBox統一APIで利用する革命的機能追加
## 📚 新規ドキュメント
- docs/nyir/: NyIR公開仕様フォルダ新設
- box_ffi_abi.md: Box FFI/ABI完全設計(ChatGPT5)
- phase_9_7実装仕様: GitHub Issue #72準備完了
## 🚀 次期タスク
Phase 9.7: Box FFI/ABI実装(Issue #72)
- MIR ExternCall命令実装
- WASM RuntimeImports統合
- Universal Library Integration実現
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 17:26:04 +09:00
|
|
|
|
|
2025-08-15 10:37:44 +09:00
|
|
|
|
### 技術アプローチ
|
|
|
|
|
|
🤖 Copilot協力期待:
|
|
|
|
|
|
- **LLVM統合**: MIR→LLVM IR変換基盤
|
2025-08-16 21:47:14 +09:00
|
|
|
|
- **非同期実装**: coroutine/suspend points
|
2025-08-15 10:37:44 +09:00
|
|
|
|
- **エスケープ解析**: Box→スタック値最適化
|
|
|
|
|
|
- **型特殊化**: コンパイル時型推論・特殊化
|
|
|
|
|
|
|
|
|
|
|
|
### パフォーマンス目標
|
2025-08-16 21:47:14 +09:00
|
|
|
|
- **同期処理**: 100-1000倍高速化
|
|
|
|
|
|
- **非同期処理**: Tokio並みの効率性
|
2025-08-15 10:37:44 +09:00
|
|
|
|
- **メモリ効率**: Box割当数80%削減
|
|
|
|
|
|
- **起動時間**: ネイティブレベル(<10ms)
|
|
|
|
|
|
|
|
|
|
|
|
### Acceptance Criteria
|
2025-08-16 21:47:14 +09:00
|
|
|
|
- インタープリターとの完全な互換性
|
|
|
|
|
|
- 非同期処理の効率的実装
|
|
|
|
|
|
- 1000倍高速化達成(同期処理)
|
2025-08-15 10:37:44 +09:00
|
|
|
|
- プロダクションレベル最適化
|
|
|
|
|
|
|
docs: NyIR Core 26命令統一完了 - Universal Exchange Vision基盤確立
## 🌟 主要変更
- NyIR Core: 25命令 → 26命令(ExternCall追加)
- Universal Exchange Vision実現基盤完成
- Everything is Box哲学:外部ライブラリ統一対応
## 📋 完了した統一作業
- ✅ docs/nyir/spec.md: 26命令正式仕様確定
- ✅ docs/nyir/vision_universal_exchange.md: ChatGPT5ビジョン統合
- ✅ docs/予定/native-plan/copilot_issues.txt: 実装計画全面更新
- ✅ Extension戦略再定義: 言語固有機能に限定
## 🎯 26命令完全定義
**Tier-0 (8命令)**: Const, BinOp, Compare, Branch, Jump, Phi, Call, Return
**Tier-1 (13命令)**: NewBox, BoxFieldLoad, BoxFieldStore, BoxCall, **ExternCall**,
Safepoint, RefGet, RefSet, WeakNew, WeakLoad, WeakCheck, Send, Recv
**Tier-2 (5命令)**: TailCall, Adopt, Release, MemCopy, AtomicFence
## 🔥 ExternCall革命
外部ライブラリをBox統一APIで利用する革命的機能追加
## 📚 新規ドキュメント
- docs/nyir/: NyIR公開仕様フォルダ新設
- box_ffi_abi.md: Box FFI/ABI完全設計(ChatGPT5)
- phase_9_7実装仕様: GitHub Issue #72準備完了
## 🚀 次期タスク
Phase 9.7: Box FFI/ABI実装(Issue #72)
- MIR ExternCall命令実装
- WASM RuntimeImports統合
- Universal Library Integration実現
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 17:26:04 +09:00
|
|
|
|
References:
|
|
|
|
|
|
- docs/予定/native-plan/issues/phase_10_x_llvm_backend_skeleton.md
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
## 🧰 Phase 10.1: LLVM 外部関数マッピング方針(プラットフォーム抽象)
|
|
|
|
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
|
|
- ExternCallのFQN→ネイティブ関数(printf等)への写像レイヤーと、OS差の抽象。初手はLinux/clang、他OSは後続。
|
|
|
|
|
|
|
|
|
|
|
|
Scope/Tasks:
|
|
|
|
|
|
- env.console.log → printfテンプレート、他は段階的拡張
|
|
|
|
|
|
- プラットフォーム切替(feature)とリンク方針
|
|
|
|
|
|
|
|
|
|
|
|
Acceptance:
|
|
|
|
|
|
- 代表ExternCall(console.log)がAOTバイナリで出力可能
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
## 🧩 Phase 10.2: Host API層(C-ABI `ny_host_*` / WASM `nyir_host`)
|
|
|
|
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
|
|
- Rust依存を薄い宿主APIへ集約。C-ABI公開(ファイル/メモリ/時間等)、WASMは`nyir_host` importで提供。
|
|
|
|
|
|
|
|
|
|
|
|
Scope/Tasks:
|
|
|
|
|
|
- `ny_host_*`関数群(read_file/free/clockなど)をC-ABIで実装
|
|
|
|
|
|
- Nyash側extern宣言と所有移管`*_from_raw`/`*_into_raw`
|
|
|
|
|
|
- WASM: import `nyir_host` 名前空間で最低限の関数提供
|
|
|
|
|
|
|
|
|
|
|
|
Acceptance:
|
|
|
|
|
|
- 代表I/OがHost API経由で動作し、Rust実装置換が容易
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
## 🧱 Phase 10.3: ランタイム層の切り分け(corelang/rt/sys/std)
|
|
|
|
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
|
|
- corelang(純Nyash), rt(Box ABI/所有/weak/Safepoint/Bus), sys(プラットフォーム), std(Nyash実装)に整理。
|
|
|
|
|
|
|
|
|
|
|
|
Scope/Tasks:
|
|
|
|
|
|
- ドキュメント化+最小コードの配置替えスケルトン
|
|
|
|
|
|
|
|
|
|
|
|
Acceptance:
|
|
|
|
|
|
- 層構造が明文化され、新規実装がガイドに従って進められる
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
## 🧬 Phase 10.4: Box ABI(fat ptr)とLLVM属性(Effects)
|
|
|
|
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
|
|
- Boxのfat pointer(data*, typeid, flags)の定義、Weakの世代タグ、SafepointのLLVM降ろし、Effect→LLVM属性(readonly/readnone等)。
|
|
|
|
|
|
|
|
|
|
|
|
Scope/Tasks:
|
|
|
|
|
|
- LLVM IR側のstruct宣言・属性付与の雛形
|
|
|
|
|
|
|
|
|
|
|
|
Acceptance:
|
|
|
|
|
|
- 代表関数で属性が付与され、最適化に寄与(noalias/argmemonly等は可能な範囲で)
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
## 📚 Phase 10.5: コア標準(String/Array/Map)Nyash実装(Rust依存の段階的削減)
|
|
|
|
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
|
|
- 現在Rust実装に依存している基本コンテナ(String/Array/Map)を、rt/sys層を活用してNyash実装に置換。
|
|
|
|
|
|
|
|
|
|
|
|
Scope/Tasks:
|
|
|
|
|
|
- String: {ptr,len,cap}, new/push_str/substr/len、`ny_host_alloc/realloc/free`
|
|
|
|
|
|
- Array<T>: {ptr,len,cap}, push/get/set/len/reserve、要素fini
|
|
|
|
|
|
- Map<K,V>: 簡易hash、set/get/remove/len、所有規則順守
|
|
|
|
|
|
|
|
|
|
|
|
Acceptance:
|
|
|
|
|
|
- 代表サンプルでString/Array/MapがNyash実装で動作し、Rust実装をリンクせずに通る
|
|
|
|
|
|
|
|
|
|
|
|
References:
|
|
|
|
|
|
- docs/予定/native-plan/issues/phase_10_5_core_std_nyash_impl.md
|
|
|
|
|
|
|
2025-08-14 11:14:24 +09:00
|
|
|
|
## Phase 11-14: Infrastructure & Polish
|
|
|
|
|
|
|
|
|
|
|
|
### Phase 11: MIR Optimization Framework
|
|
|
|
|
|
- エスケープ解析基盤
|
|
|
|
|
|
- 型特殊化・ボックス化解除
|
|
|
|
|
|
- デッドコード除去
|
|
|
|
|
|
|
|
|
|
|
|
### Phase 12: Advanced JIT Features
|
|
|
|
|
|
- Profile-guided optimization
|
|
|
|
|
|
- インライン展開
|
|
|
|
|
|
- レジスタ割り当て最適化
|
|
|
|
|
|
|
|
|
|
|
|
### Phase 13: Production Readiness
|
|
|
|
|
|
- GC統合最適化
|
|
|
|
|
|
- メモリ使用量最適化
|
|
|
|
|
|
- 起動時間短縮
|
|
|
|
|
|
|
|
|
|
|
|
### Phase 14: Packaging/CI polish
|
2025-08-13 18:19:49 +09:00
|
|
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
|
|
- Windows/Linux の配布パッケージ化と CI 整備。
|
|
|
|
|
|
|
|
|
|
|
|
Scope/Tasks:
|
|
|
|
|
|
- GitHub Actions: Windows(MSVC)/WSL+cargo-xwin のマトリクス
|
|
|
|
|
|
- dist/: nyash(.exe) + LICENSE/README 同梱
|
|
|
|
|
|
|
|
|
|
|
|
Acceptance Criteria:
|
|
|
|
|
|
- リリースアーティファクトが自動生成される
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
|
|
|
|
|
================================================================================
|
2025-08-14 13:00:44 +09:00
|
|
|
|
🧠 AI大会議 + 実用優先戦略で得られた技術的知見 (2025-08-14更新)
|
2025-08-14 11:14:24 +09:00
|
|
|
|
================================================================================
|
|
|
|
|
|
|
2025-08-14 13:00:44 +09:00
|
|
|
|
## Gemini先生の助言(修正適用)
|
2025-08-14 11:14:24 +09:00
|
|
|
|
✅ エスケープ解析・ボックス化解除が性能の鍵
|
2025-08-14 13:00:44 +09:00
|
|
|
|
✅ wasmtime compileは短期的に実用的 → **Phase 9で最優先実装**
|
2025-08-14 11:14:24 +09:00
|
|
|
|
✅ WASM実行は確実に高速(13.5倍実証済み)
|
2025-08-14 13:00:44 +09:00
|
|
|
|
🔄 Cranelift → LLVM段階的アプローチ → **実用優先でLLVM直接へ**
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
2025-08-14 13:00:44 +09:00
|
|
|
|
## codex先生の助言(重点化)
|
2025-08-14 11:14:24 +09:00
|
|
|
|
✅ MIR前倒し実装推奨(全バックエンドが恩恵)
|
2025-08-14 13:00:44 +09:00
|
|
|
|
✅ wasmtime互換性管理が重要 → **AOT実装で最重要**
|
2025-08-14 11:14:24 +09:00
|
|
|
|
✅ CPU差異対応 (baseline/v3二段ビルド)
|
2025-08-14 13:00:44 +09:00
|
|
|
|
✅ 起動時間・割当削減・配布体験がKPI → **AOT価値の核心**
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
2025-08-14 13:00:44 +09:00
|
|
|
|
## Claude統合分析(実用優先)
|
|
|
|
|
|
✅ 実用価値最大化: WASM+AOTで十分な競争力
|
|
|
|
|
|
✅ 開発効率: Cranelift JITの恩恵限定的(cargo build変わらず)
|
2025-08-14 11:14:24 +09:00
|
|
|
|
✅ Everything is Box最適化が差別化の核心
|
2025-08-14 13:00:44 +09:00
|
|
|
|
✅ 時間効率: 2-3ヶ月節約でLLVM集中投資
|
|
|
|
|
|
|
|
|
|
|
|
## 🎯 実用優先戦略の確定理由
|
|
|
|
|
|
- **ユーザー体験**: WASM既に動作、AOTで配布価値追加
|
|
|
|
|
|
- **開発効率**: Cranelift JITは重複投資(Rust開発環境改善せず)
|
|
|
|
|
|
- **競合優位**: AOT+LLVM早期実現で差別化
|
|
|
|
|
|
- **リソース効果**: 限られた開発時間の最大効率化
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
|
|
|
|
|
================================================================================
|
|
|
|
|
|
💡 Copilot様への具体的お願い・相談事項
|
|
|
|
|
|
================================================================================
|
|
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
## 🔧 Phase 9.77 緊急対応
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
### UTF-8エラー調査(Issue #110)
|
|
|
|
|
|
❓ エラーメッセージ「Generated WASM is not valid UTF-8」の発生元は?
|
|
|
|
|
|
❓ wabt::wat2wasm以外でエラーが出ている可能性は?
|
|
|
|
|
|
❓ runner.rs/main.rsのエラー処理フローは?
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
### WASM基本機能復旧
|
|
|
|
|
|
❓ 最小テストケース(`local result = 42`)のデバッグ方法は?
|
|
|
|
|
|
❓ WAT生成パイプラインの問題箇所特定は?
|
|
|
|
|
|
❓ 効率的なデバッグ戦略は?
|
2025-08-14 13:00:44 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
## 🚀 長期戦略相談
|
2025-08-14 13:00:44 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
### インタープリター併用戦略
|
|
|
|
|
|
❓ 開発時と本番時の最適な使い分け方法は?
|
|
|
|
|
|
❓ インタープリターとコンパイラの互換性保証は?
|
|
|
|
|
|
❓ Pythonライクな実用性の実現方法は?
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
### Phase 10 LLVM Direct AOT
|
|
|
|
|
|
❓ 非同期処理のネイティブ実装戦略は?
|
|
|
|
|
|
❓ LLVM coroutine intrinsicsの活用方法は?
|
|
|
|
|
|
❓ インタープリターとの非同期セマンティクス統一は?
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
|
|
|
|
|
### Everything is Box最適化
|
|
|
|
|
|
❓ Box操作の根本的高速化戦略は?
|
|
|
|
|
|
❓ エスケープ解析によるスタック化判定は?
|
|
|
|
|
|
❓ 型特殊化・ボックス化解除の実装戦略は?
|
|
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
### ベンチマーク戦略
|
|
|
|
|
|
❓ インタープリター/VM/WASM/LLVMの性能比較方法は?
|
|
|
|
|
|
❓ 非同期処理のベンチマーク設計は?
|
|
|
|
|
|
❓ 実用アプリケーションでの測定指標は?
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
|
|
|
|
|
================================================================================
|
|
|
|
|
|
📊 進捗管理・コミュニケーション
|
|
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
|
|
|
|
## 🤝 協調開発ルール
|
|
|
|
|
|
|
|
|
|
|
|
### コミット・マージ戦略
|
|
|
|
|
|
✅ 大きな変更前にはdocs/CURRENT_TASK.mdで情報共有
|
|
|
|
|
|
✅ ベンチマーク機能は最優先で維持
|
|
|
|
|
|
✅ CLI統合は両機能を統合的に対応
|
|
|
|
|
|
✅ 競合発生時は機能優先度で解決
|
|
|
|
|
|
|
|
|
|
|
|
### 進捗報告
|
|
|
|
|
|
📅 週次: 進捗状況をCURRENT_TASK.mdに反映
|
|
|
|
|
|
📅 完了時: 新機能のベンチマーク結果を共有
|
|
|
|
|
|
📅 問題発生: AI大会議で技術的相談
|
|
|
|
|
|
|
|
|
|
|
|
### 品質保証
|
|
|
|
|
|
✅ cargo check でビルドエラーなし
|
|
|
|
|
|
✅ 既存ベンチマークが regression なし
|
|
|
|
|
|
✅ 新機能のドキュメント整備
|
|
|
|
|
|
✅ テストケース追加・CI通過
|
|
|
|
|
|
|
|
|
|
|
|
================================================================================
|
|
|
|
|
|
🎯 期待される成果・インパクト
|
|
|
|
|
|
================================================================================
|
|
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
## Phase 8-9完了時の成果 (達成済み)
|
2025-08-14 11:14:24 +09:00
|
|
|
|
🏆 RefNew/RefGet/RefSet WASM完全動作
|
|
|
|
|
|
🏆 Box操作ベンチマーク追加
|
|
|
|
|
|
🏆 メモリレイアウト最適化効果測定
|
docs: NyIR Core 26命令統一完了 - Universal Exchange Vision基盤確立
## 🌟 主要変更
- NyIR Core: 25命令 → 26命令(ExternCall追加)
- Universal Exchange Vision実現基盤完成
- Everything is Box哲学:外部ライブラリ統一対応
## 📋 完了した統一作業
- ✅ docs/nyir/spec.md: 26命令正式仕様確定
- ✅ docs/nyir/vision_universal_exchange.md: ChatGPT5ビジョン統合
- ✅ docs/予定/native-plan/copilot_issues.txt: 実装計画全面更新
- ✅ Extension戦略再定義: 言語固有機能に限定
## 🎯 26命令完全定義
**Tier-0 (8命令)**: Const, BinOp, Compare, Branch, Jump, Phi, Call, Return
**Tier-1 (13命令)**: NewBox, BoxFieldLoad, BoxFieldStore, BoxCall, **ExternCall**,
Safepoint, RefGet, RefSet, WeakNew, WeakLoad, WeakCheck, Send, Recv
**Tier-2 (5命令)**: TailCall, Adopt, Release, MemCopy, AtomicFence
## 🔥 ExternCall革命
外部ライブラリをBox統一APIで利用する革命的機能追加
## 📚 新規ドキュメント
- docs/nyir/: NyIR公開仕様フォルダ新設
- box_ffi_abi.md: Box FFI/ABI完全設計(ChatGPT5)
- phase_9_7実装仕様: GitHub Issue #72準備完了
## 🚀 次期タスク
Phase 9.7: Box FFI/ABI実装(Issue #72)
- MIR ExternCall命令実装
- WASM RuntimeImports統合
- Universal Library Integration実現
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 17:26:04 +09:00
|
|
|
|
🏆 26命令MIR階層化完了(Phase 8.5)
|
2025-08-14 13:00:44 +09:00
|
|
|
|
🏆 VM性能改善完了(Phase 8.6)
|
2025-08-16 21:47:14 +09:00
|
|
|
|
🏆 警告削減100%達成(Phase 9.75j)
|
|
|
|
|
|
🏆 BoxCall実装・wasmtime更新(Phase 9.77)
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
2025-08-16 21:47:14 +09:00
|
|
|
|
## Phase 10以降の展望
|
|
|
|
|
|
🚀 **WASM復旧完了** (Phase 9.77): 基本機能の完全動作
|
|
|
|
|
|
🚀 **LLVM Direct AOT** (Phase 10): 100-1000倍高速化
|
|
|
|
|
|
🚀 **非同期ネイティブ実装** (Phase 10.2): async/await完全対応
|
|
|
|
|
|
🚀 **インタープリター併用** : 開発・本番両対応
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
|
|
|
|
|
## 言語としての完成度向上
|
|
|
|
|
|
💎 Everything is Box哲学のネイティブ実現
|
2025-08-16 21:47:14 +09:00
|
|
|
|
💎 インタープリター+コンパイラの最適併用
|
|
|
|
|
|
💎 4つの実行形態対応(Interpreter/VM/WASM/AOT)
|
|
|
|
|
|
💎 Pythonライクな実用性+C++並みの性能
|
2025-08-14 11:14:24 +09:00
|
|
|
|
|
|
|
|
|
|
================================================================================
|
|
|
|
|
|
📞 連絡・相談方法
|
|
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
|
|
|
|
技術的相談や進捗報告は、以下の方法でお気軽にどうぞ:
|
|
|
|
|
|
|
|
|
|
|
|
1. 📝 GitHub Issues・Pull Request
|
|
|
|
|
|
2. 📋 docs/CURRENT_TASK.md コメント
|
|
|
|
|
|
3. 🤖 AI大会議 (重要な技術決定)
|
|
|
|
|
|
4. 💬 コミットメッセージでの進捗共有
|
|
|
|
|
|
|
|
|
|
|
|
どんな小さなことでも相談大歓迎です!
|
|
|
|
|
|
一緒にNyashを最高の言語にしていきましょう🚀
|
|
|
|
|
|
|
|
|
|
|
|
================================================================================
|
2025-08-16 21:47:14 +09:00
|
|
|
|
最終更新: 2025-08-16 (インタープリター併用戦略統合・Phase整理)
|
|
|
|
|
|
作成者: Claude (インタープリター価値認識 + Phase重複削除)
|
2025-08-14 13:00:44 +09:00
|
|
|
|
|
|
|
|
|
|
🎯 重要な変更点:
|
2025-08-16 21:47:14 +09:00
|
|
|
|
- Phase 9.5: 削除(完了済み)
|
|
|
|
|
|
- Phase 9.6/9.7: 削除(Phase 9.77と重複)
|
|
|
|
|
|
- Phase 9.75: 削除(完了済み)
|
|
|
|
|
|
- Phase 9.77: 進行中(UTF-8エラー修正中、Issue #110)
|
|
|
|
|
|
- Phase 10: インタープリター併用戦略・非同期ネイティブ実装追加
|
|
|
|
|
|
- インタープリター: 開発だけでなく本番でも実用的(Pythonライク)
|
docs: NyIR Core 26命令統一完了 - Universal Exchange Vision基盤確立
## 🌟 主要変更
- NyIR Core: 25命令 → 26命令(ExternCall追加)
- Universal Exchange Vision実現基盤完成
- Everything is Box哲学:外部ライブラリ統一対応
## 📋 完了した統一作業
- ✅ docs/nyir/spec.md: 26命令正式仕様確定
- ✅ docs/nyir/vision_universal_exchange.md: ChatGPT5ビジョン統合
- ✅ docs/予定/native-plan/copilot_issues.txt: 実装計画全面更新
- ✅ Extension戦略再定義: 言語固有機能に限定
## 🎯 26命令完全定義
**Tier-0 (8命令)**: Const, BinOp, Compare, Branch, Jump, Phi, Call, Return
**Tier-1 (13命令)**: NewBox, BoxFieldLoad, BoxFieldStore, BoxCall, **ExternCall**,
Safepoint, RefGet, RefSet, WeakNew, WeakLoad, WeakCheck, Send, Recv
**Tier-2 (5命令)**: TailCall, Adopt, Release, MemCopy, AtomicFence
## 🔥 ExternCall革命
外部ライブラリをBox統一APIで利用する革命的機能追加
## 📚 新規ドキュメント
- docs/nyir/: NyIR公開仕様フォルダ新設
- box_ffi_abi.md: Box FFI/ABI完全設計(ChatGPT5)
- phase_9_7実装仕様: GitHub Issue #72準備完了
## 🚀 次期タスク
Phase 9.7: Box FFI/ABI実装(Issue #72)
- MIR ExternCall命令実装
- WASM RuntimeImports統合
- Universal Library Integration実現
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 17:26:04 +09:00
|
|
|
|
================================================================================
|