phase: 20.49 COMPLETE; 20.50 Flow+String minimal reps; 20.51 selfhost v0/v1 minimal (Option A/B); hv1-inline binop/unop/copy; docs + run_all + CURRENT_TASK -> 21.0
This commit is contained in:
@ -27,7 +27,7 @@ nyash-macos (1.8MB) - 署名付き
|
||||
### **2. 開発者向け配布**
|
||||
```bash
|
||||
# LLVM IRの中立性を活用
|
||||
nyashc --emit-bitcode program.nyash
|
||||
nyashc --emit-bitcode program.hako
|
||||
# → program.bc (プラットフォーム中立)
|
||||
|
||||
# 各自のマシンで最適化コンパイル
|
||||
|
||||
@ -9,7 +9,7 @@ LLVM IRはプラットフォーム中立。だから**1回のIR生成から同
|
||||
|
||||
```rust
|
||||
// 革命的ワンパス・マルチターゲット生成
|
||||
nyashc --targets linux,windows,macos program.nyash
|
||||
nyashc --targets linux,windows,macos program.hako
|
||||
|
||||
// 出力(同時生成!)
|
||||
dist/x86_64-unknown-linux-musl/nyash # Linux版
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
#### **即効性のある解決策(Week 1-3)**
|
||||
```bash
|
||||
# Linux + Windows同時生成
|
||||
nyashc --targets linux,windows-gnu program.nyash
|
||||
nyashc --targets linux,windows-gnu program.hako
|
||||
|
||||
# 出力
|
||||
dist/linux/nyash # Linux版(musl静的)
|
||||
|
||||
@ -14,7 +14,7 @@ Phase 9.78 LLVM PoCの第一歩として、inkwellクレートを導入し、最
|
||||
以下のNyashプログラムがLLVM経由で実行され、正しい終了コードを返すこと:
|
||||
|
||||
```nyash
|
||||
// test_return_42.nyash
|
||||
// test_return_42.hako
|
||||
static box Main {
|
||||
main() {
|
||||
return 42
|
||||
@ -24,7 +24,7 @@ static box Main {
|
||||
|
||||
期待される動作:
|
||||
```bash
|
||||
$ cargo run --features llvm -- --backend llvm test_return_42.nyash
|
||||
$ cargo run --features llvm -- --backend llvm test_return_42.hako
|
||||
$ echo $?
|
||||
42
|
||||
```
|
||||
|
||||
@ -29,7 +29,7 @@ Phase 9.78 LLVM PoCの開始です!最初のステップとして、inkwellク
|
||||
## 🎯 成功条件
|
||||
|
||||
```nyash
|
||||
// test_return_42.nyash
|
||||
// test_return_42.hako
|
||||
static box Main {
|
||||
main() {
|
||||
return 42
|
||||
@ -68,7 +68,7 @@ static box Main {
|
||||
## ✅ 完了条件
|
||||
|
||||
- [ ] inkwellがビルドできる
|
||||
- [ ] test_return_42.nyashがコンパイルできる
|
||||
- [ ] test_return_42.hakoがコンパイルできる
|
||||
- [ ] 実行ファイルが終了コード42を返す
|
||||
- [ ] 基本的なテストがパスする
|
||||
|
||||
|
||||
@ -52,7 +52,7 @@ cargo build --features llvm
|
||||
### 4. **テストプログラム作成**(5分)
|
||||
```bash
|
||||
# テスト用Nyashファイル
|
||||
cat > test_return_42.nyash << 'EOF'
|
||||
cat > test_return_42.hako << 'EOF'
|
||||
static box Main {
|
||||
main() {
|
||||
return 42
|
||||
|
||||
@ -13,7 +13,7 @@ Phase 9で実装されたWASM/AOTとHTTPサーバー機能に重大な制約が
|
||||
### 1. **WASM/AOT コンパイルエラー(最重要)**
|
||||
```bash
|
||||
# 現象
|
||||
$ ./target/release/nyash --compile-wasm test_simple_loop.nyash
|
||||
$ ./target/release/nyash --compile-wasm test_simple_loop.hako
|
||||
❌ WASM compilation error: Unsupported instruction: Jump { target: BasicBlockId(1) }
|
||||
```
|
||||
|
||||
@ -146,7 +146,7 @@ pub fn stop(&self) -> Box<dyn NyashBox> {
|
||||
|
||||
**新規テストファイル**:
|
||||
|
||||
1. `test_wasm_loop.nyash`
|
||||
1. `test_wasm_loop.hako`
|
||||
```nyash
|
||||
// WASMループテスト
|
||||
local sum, i
|
||||
@ -159,7 +159,7 @@ loop (i < 10) {
|
||||
print("Sum: " + sum) // Expected: 45
|
||||
```
|
||||
|
||||
2. `test_http_server_real.nyash`
|
||||
2. `test_http_server_real.hako`
|
||||
```nyash
|
||||
// 実用HTTPサーバーテスト
|
||||
static box Main {
|
||||
@ -193,7 +193,7 @@ static box Main {
|
||||
|
||||
1. **WASM/AOT成功**
|
||||
```bash
|
||||
$ ./target/release/nyash --compile-wasm test_wasm_loop.nyash
|
||||
$ ./target/release/nyash --compile-wasm test_wasm_loop.hako
|
||||
✅ WASM compilation completed successfully!
|
||||
|
||||
$ ./target/release/nyash --benchmark --iterations 100
|
||||
@ -202,7 +202,7 @@ static box Main {
|
||||
|
||||
2. **HTTPサーバー実動作**
|
||||
```bash
|
||||
$ ./target/release/nyash test_http_server_real.nyash &
|
||||
$ ./target/release/nyash test_http_server_real.hako &
|
||||
Server started on http://0.0.0.0:8080
|
||||
|
||||
$ curl http://localhost:8080/
|
||||
|
||||
@ -6,7 +6,7 @@ AOT実装完了後の複雑アプリケーション検証。並行処理・メ
|
||||
## 🎯 実装目標
|
||||
```bash
|
||||
# Phase 9完了後の目標
|
||||
nyash --compile-native http_server.nyash -o http_server.exe # AOTサーバー生成
|
||||
nyash --compile-native http_server.hako -o http_server.exe # AOTサーバー生成
|
||||
./http_server.exe --port 8080 # 高性能HTTPサーバー起動
|
||||
curl http://localhost:8080/api/status # 実用API動作確認
|
||||
|
||||
|
||||
@ -149,7 +149,7 @@ impl Clone for SocketBox {
|
||||
|
||||
#### 4-1: 状態保持テスト
|
||||
```nyash
|
||||
// tests/socket_box_state_persistence.nyash
|
||||
// tests/socket_box_state_persistence.hako
|
||||
// 🎯 最重要テスト: 状態保持の確認
|
||||
|
||||
static box SocketBoxStateTest {
|
||||
@ -213,7 +213,7 @@ static box SocketBoxStateTest {
|
||||
|
||||
#### 4-2: 機能テスト
|
||||
```nyash
|
||||
// tests/socket_box_functionality.nyash
|
||||
// tests/socket_box_functionality.hako
|
||||
// 機能テスト(bind, toString, 基本API)
|
||||
|
||||
static box SocketBoxFunctionalityTest {
|
||||
@ -258,7 +258,7 @@ static box SocketBoxFunctionalityTest {
|
||||
|
||||
#### 4-3: エッジケーステスト
|
||||
```nyash
|
||||
// tests/socket_box_edge_cases.nyash
|
||||
// tests/socket_box_edge_cases.hako
|
||||
static box SocketBoxEdgeCaseTest {
|
||||
init { console }
|
||||
|
||||
@ -294,19 +294,19 @@ static box SocketBoxEdgeCaseTest {
|
||||
cargo build --release
|
||||
|
||||
# 状態保持テスト(最重要)
|
||||
./target/release/nyash tests/socket_box_state_persistence.nyash
|
||||
./target/release/nyash tests/socket_box_state_persistence.hako
|
||||
|
||||
# 機能テスト
|
||||
./target/release/nyash tests/socket_box_functionality.nyash
|
||||
./target/release/nyash tests/socket_box_functionality.hako
|
||||
|
||||
# エッジケーステスト
|
||||
./target/release/nyash tests/socket_box_edge_cases.nyash
|
||||
./target/release/nyash tests/socket_box_edge_cases.hako
|
||||
```
|
||||
|
||||
#### 5-2: HTTPServerBox互換性確認
|
||||
```bash
|
||||
# HTTPServerBoxも正常動作するかチェック
|
||||
./target/release/nyash tests/test_http_server_simple.nyash
|
||||
./target/release/nyash tests/test_http_server_simple.hako
|
||||
```
|
||||
|
||||
## 📚 参照ドキュメント
|
||||
|
||||
@ -262,10 +262,10 @@ loop(100) {
|
||||
#### 4-2: 全体統合テスト
|
||||
```bash
|
||||
# 全Box型の基本動作確認
|
||||
./target/release/nyash tests/all_boxes_basic_test.nyash
|
||||
./target/release/nyash tests/all_boxes_basic_test.hako
|
||||
|
||||
# 回帰テストスイート
|
||||
./target/release/nyash tests/regression_test_suite.nyash
|
||||
./target/release/nyash tests/regression_test_suite.hako
|
||||
```
|
||||
|
||||
## 🤖 Copilot協力期待
|
||||
@ -351,7 +351,7 @@ impl Clone for AnyBox {
|
||||
grep -r "Arc<Mutex<" src/boxes/ | wc -l # → 0
|
||||
|
||||
# 全Box型統合テスト
|
||||
./target/release/nyash tests/phase_9_75_complete_validation.nyash
|
||||
./target/release/nyash tests/phase_9_75_complete_validation.hako
|
||||
# → 全テスト成功
|
||||
```
|
||||
|
||||
|
||||
@ -184,7 +184,7 @@ Arc<Mutex<T>> → RwLock<T>
|
||||
|
||||
### Phase 9.75-C統合テスト
|
||||
```nyash
|
||||
// tests/phase975c_final_validation.nyash
|
||||
// tests/phase975c_final_validation.hako
|
||||
static box Main {
|
||||
main() {
|
||||
// HTTPServerBox状態保持テスト
|
||||
@ -210,7 +210,7 @@ static box Main {
|
||||
|
||||
### 負荷テスト
|
||||
```nyash
|
||||
// tests/phase975c_stress_test.nyash
|
||||
// tests/phase975c_stress_test.hako
|
||||
// 大量のBox作成・状態変更・並行アクセステスト
|
||||
```
|
||||
|
||||
|
||||
@ -6,8 +6,8 @@ wasmtime compileによるAOT実行ファイル生成で確実なユーザー価
|
||||
## 🎯 実装目標
|
||||
```bash
|
||||
# 目標実装
|
||||
nyash --compile-native app.nyash -o app.exe # AOT実行ファイル生成
|
||||
nyash --aot app.nyash # 短縮形
|
||||
nyash --compile-native app.hako -o app.exe # AOT実行ファイル生成
|
||||
nyash --aot app.hako # 短縮形
|
||||
./app.exe # 起動高速化(JIT起動コスト除去)
|
||||
|
||||
# 内部実装
|
||||
@ -125,7 +125,7 @@ fn main() {
|
||||
## ✅ Acceptance Criteria
|
||||
|
||||
### 機能要件
|
||||
- [ ] `nyash --compile-native app.nyash -o app.exe` 動作
|
||||
- [ ] `nyash --compile-native app.hako -o app.exe` 動作
|
||||
- [ ] 生成実行ファイルが単独で動作(依存関係なし)
|
||||
- [ ] 既存Nyashプログラムが100%互換で高速実行
|
||||
|
||||
|
||||
@ -169,11 +169,11 @@ Finished `release` profile [optimized] target(s) in X.XXs
|
||||
### ✅ 検証: DebugBox機能確認
|
||||
```bash
|
||||
# DebugBox基本機能テスト
|
||||
$ ./target/release/nyash test_debug_basic.nyash
|
||||
$ ./target/release/nyash test_debug_basic.hako
|
||||
✅ DebugBoxがRwLockで動作
|
||||
|
||||
# 追跡機能テスト
|
||||
$ ./target/release/nyash test_debug_tracking.nyash
|
||||
$ ./target/release/nyash test_debug_tracking.hako
|
||||
✅ メモリ追跡・ブレークポイント機能正常
|
||||
```
|
||||
|
||||
|
||||
@ -92,15 +92,15 @@ Finished `release` profile [optimized] target(s) in X.XXs
|
||||
### ✅ Verification: All Box Types Functional
|
||||
```bash
|
||||
# Basic functionality test
|
||||
$ ./target/release/nyash local_tests/test_basic_box_operations.nyash
|
||||
$ ./target/release/nyash local_tests/test_basic_box_operations.hako
|
||||
✅ All Box operations successful
|
||||
|
||||
# HTTP Server test (critical for Phase 9.5)
|
||||
$ ./target/release/nyash local_tests/test_http_server_basic.nyash
|
||||
$ ./target/release/nyash local_tests/test_http_server_basic.hako
|
||||
✅ HTTPServerBox functioning with RwLock
|
||||
|
||||
# P2P test (critical for future phases)
|
||||
$ ./target/release/nyash local_tests/test_p2p_basic.nyash
|
||||
$ ./target/release/nyash local_tests/test_p2p_basic.hako
|
||||
✅ P2PBox functioning with RwLock
|
||||
```
|
||||
|
||||
|
||||
@ -122,15 +122,15 @@ Finished `release` profile [optimized] target(s) in X.XXs
|
||||
### ✅ 検証: 全Box型の機能確認
|
||||
```bash
|
||||
# 基本機能テスト
|
||||
$ ./target/release/nyash local_tests/test_basic_box_operations.nyash
|
||||
$ ./target/release/nyash local_tests/test_basic_box_operations.hako
|
||||
✅ 全Box操作成功
|
||||
|
||||
# HTTPサーバーテスト (Phase 9.5にとって重要)
|
||||
$ ./target/release/nyash local_tests/test_http_server_basic.nyash
|
||||
$ ./target/release/nyash local_tests/test_http_server_basic.hako
|
||||
✅ HTTPServerBoxがRwLockで動作
|
||||
|
||||
# P2Pテスト (将来のPhaseにとって重要)
|
||||
$ ./target/release/nyash local_tests/test_p2p_basic.nyash
|
||||
$ ./target/release/nyash local_tests/test_p2p_basic.hako
|
||||
✅ P2PBoxがRwLockで動作
|
||||
```
|
||||
|
||||
|
||||
@ -229,7 +229,7 @@ fn test_share_box_vs_clone_box_semantics() {
|
||||
#### **B7: テスト実行**
|
||||
```bash
|
||||
cargo test array_state_sharing_test
|
||||
./target/debug/nyash tests/array_debug.nyash
|
||||
./target/debug/nyash tests/array_debug.hako
|
||||
```
|
||||
|
||||
**✅ Phase B 完了条件**: ArrayBox状態保持テストが通過
|
||||
@ -299,13 +299,13 @@ WASMの独自メモリ管理での影響確認
|
||||
#### **D3: バックエンド別テスト**
|
||||
```bash
|
||||
# インタープリター
|
||||
./target/debug/nyash tests/array_debug.nyash
|
||||
./target/debug/nyash tests/array_debug.hako
|
||||
|
||||
# VM
|
||||
./target/release/nyash --backend vm tests/array_debug.nyash
|
||||
./target/release/nyash --backend vm tests/array_debug.hako
|
||||
|
||||
# WASM
|
||||
./target/release/nyash --backend wasm tests/array_debug.nyash
|
||||
./target/release/nyash --backend wasm tests/array_debug.hako
|
||||
```
|
||||
|
||||
**✅ Phase D 完了条件**: 3バックエンド全てで一貫した動作
|
||||
@ -325,8 +325,8 @@ WASMの独自メモリ管理での影響確認
|
||||
cargo test
|
||||
|
||||
# 実用アプリテスト
|
||||
./target/release/nyash app_dice_rpg.nyash
|
||||
./target/release/nyash app_statistics.nyash
|
||||
./target/release/nyash app_dice_rpg.hako
|
||||
./target/release/nyash app_statistics.hako
|
||||
|
||||
# 性能ベンチマーク
|
||||
./target/release/nyash --benchmark --iterations 100
|
||||
|
||||
@ -24,7 +24,7 @@ math.sin(3.14) # 探索可能性維持
|
||||
|
||||
### 1. namespace構文
|
||||
```nyash
|
||||
# ファイル:nyashstd.nyash
|
||||
# ファイル:nyashstd.hako
|
||||
namespace nyashstd {
|
||||
static box string {
|
||||
static upper(str) {
|
||||
@ -92,11 +92,11 @@ nyashstd.math.sin(3.14)
|
||||
|
||||
### C. ファイル間依存関係システム
|
||||
```nyash
|
||||
# ファイル: main.nyash
|
||||
using nyashstd # ← nyashstd.nyash の読み込みが必要
|
||||
# ファイル: main.hako
|
||||
using nyashstd # ← nyashstd.hako の読み込みが必要
|
||||
string.upper("hello")
|
||||
|
||||
# ファイル: nyashstd.nyash
|
||||
# ファイル: nyashstd.hako
|
||||
namespace nyashstd { ... }
|
||||
```
|
||||
|
||||
@ -170,7 +170,7 @@ impl DependencyResolver {
|
||||
|
||||
### 1. 基本動作テスト
|
||||
```nyash
|
||||
# test_namespace_basic.nyash
|
||||
# test_namespace_basic.hako
|
||||
namespace test_ns {
|
||||
static box example {
|
||||
static hello() {
|
||||
@ -185,7 +185,7 @@ assert(result == "Hello from namespace!")
|
||||
|
||||
### 2. using文テスト
|
||||
```nyash
|
||||
# test_using_basic.nyash
|
||||
# test_using_basic.hako
|
||||
using nyashstd
|
||||
|
||||
local upper = string.upper("hello")
|
||||
@ -197,7 +197,7 @@ assert(result == 0)
|
||||
|
||||
### 3. 名前衝突テスト
|
||||
```nyash
|
||||
# test_name_collision.nyash
|
||||
# test_name_collision.hako
|
||||
using nyashstd
|
||||
|
||||
# ❌ これはエラーになるべき
|
||||
@ -209,11 +209,11 @@ static box string {
|
||||
|
||||
### 4. 依存関係テスト
|
||||
```nyash
|
||||
# File: dependency_test_main.nyash
|
||||
# File: dependency_test_main.hako
|
||||
using dependency_test_lib
|
||||
local result = helper.process("data")
|
||||
|
||||
# File: dependency_test_lib.nyash
|
||||
# File: dependency_test_lib.hako
|
||||
namespace dependency_test_lib {
|
||||
static box helper {
|
||||
static process(data) { return "processed: " + data }
|
||||
@ -223,11 +223,11 @@ namespace dependency_test_lib {
|
||||
|
||||
### 5. 循環依存エラーテスト
|
||||
```nyash
|
||||
# File: circular_a.nyash
|
||||
# File: circular_a.hako
|
||||
using circular_b
|
||||
# ...
|
||||
|
||||
# File: circular_b.nyash
|
||||
# File: circular_b.hako
|
||||
using circular_a # ← Error: Circular dependency detected
|
||||
# ...
|
||||
```
|
||||
|
||||
@ -140,13 +140,13 @@ impl DynamicCallOptimizer {
|
||||
### --dynamic-all フラグ
|
||||
```bash
|
||||
# 通常起動(基本型は静的)
|
||||
./nyash program.nyash
|
||||
./nyash program.hako
|
||||
|
||||
# 完全動的モード(実験)
|
||||
./nyash --dynamic-all program.nyash
|
||||
./nyash --dynamic-all program.hako
|
||||
|
||||
# プロファイリングモード
|
||||
./nyash --dynamic-all --profile program.nyash
|
||||
./nyash --dynamic-all --profile program.hako
|
||||
```
|
||||
|
||||
### プラグイン統計
|
||||
@ -173,7 +173,7 @@ Method Call Overhead:
|
||||
### ホットリロード
|
||||
```rust
|
||||
// 開発中にプラグインを再読み込み
|
||||
./nyash --watch-plugins program.nyash
|
||||
./nyash --watch-plugins program.hako
|
||||
```
|
||||
|
||||
### WASM プラグイン
|
||||
@ -185,7 +185,7 @@ registry.load_wasm_plugin("custom-box.wasm")?;
|
||||
### 分散プラグイン
|
||||
```rust
|
||||
// ネットワーク経由でプラグインロード(危険!)
|
||||
registry.load_remote_plugin("https://plugins.nyash.dev/crypto-box")?;
|
||||
registry.load_remote_plugin("https://plugins.hako.dev/crypto-box")?;
|
||||
```
|
||||
|
||||
## ⚠️ 既知の課題
|
||||
|
||||
@ -579,7 +579,7 @@ pub extern "C" fn nyash_file_open(
|
||||
|
||||
### 統合テスト(Day 12)
|
||||
```nyash
|
||||
// test_bid_integration.nyash
|
||||
// test_bid_integration.hako
|
||||
using nyashstd
|
||||
|
||||
// BIDプラグインのロード
|
||||
|
||||
@ -101,7 +101,7 @@ fn generate_to_string_call(&mut self, box_call: &BoxCall) -> Result<String> {
|
||||
|
||||
**テストケース**:
|
||||
```nyash
|
||||
// test_boxcall_basic.nyash
|
||||
// test_boxcall_basic.hako
|
||||
local num = 42
|
||||
local str = num.toString()
|
||||
print(str)
|
||||
@ -127,7 +127,7 @@ wasmtime --version
|
||||
cargo tree | grep wasmtime
|
||||
|
||||
# 実行テスト
|
||||
./target/release/nyash --aot test_simple.nyash
|
||||
./target/release/nyash --aot test_simple.hako
|
||||
wasmtime --allow-precompiled test_simple.cwasm
|
||||
```
|
||||
|
||||
@ -177,11 +177,11 @@ fn wat_to_wasm(&self, wat_source: &str) -> Result<Vec<u8>> {
|
||||
**テストスイート**:
|
||||
```bash
|
||||
# 基本機能テスト
|
||||
./target/release/nyash --compile-wasm test_boxcall.nyash
|
||||
./target/release/nyash --compile-wasm test_basic_io.nyash
|
||||
./target/release/nyash --compile-wasm test_boxcall.hako
|
||||
./target/release/nyash --compile-wasm test_basic_io.hako
|
||||
|
||||
# AOTテスト
|
||||
./target/release/nyash --aot test_comprehensive.nyash
|
||||
./target/release/nyash --aot test_comprehensive.hako
|
||||
wasmtime test_comprehensive.cwasm
|
||||
|
||||
# 互換性テスト
|
||||
@ -204,7 +204,7 @@ wasmtime test_comprehensive.cwasm
|
||||
|
||||
### 検証用プログラム
|
||||
```nyash
|
||||
// test_wasm_recovery.nyash - 復旧確認用
|
||||
// test_wasm_recovery.hako - 復旧確認用
|
||||
static box Main {
|
||||
main() {
|
||||
local console = new ConsoleBox()
|
||||
|
||||
@ -8,14 +8,14 @@
|
||||
|
||||
### エラー内容
|
||||
```bash
|
||||
$ ./target/debug/nyash --compile-wasm local_tests/test_simple_wasm.nyash
|
||||
🌐 Nyash WASM Compiler - Processing file: local_tests/test_simple_wasm.nyash 🌐
|
||||
$ ./target/debug/nyash --compile-wasm local_tests/test_simple_wasm.hako
|
||||
🌐 Nyash WASM Compiler - Processing file: local_tests/test_simple_wasm.hako 🌐
|
||||
❌ Generated WASM is not valid UTF-8
|
||||
```
|
||||
|
||||
### テストケース(最小再現)
|
||||
```nyash
|
||||
# local_tests/test_simple_wasm.nyash
|
||||
# local_tests/test_simple_wasm.hako
|
||||
local result = 42
|
||||
```
|
||||
|
||||
@ -105,13 +105,13 @@ eprintln!("DEBUG: 変数の内容 = {:?}", variable);
|
||||
|
||||
```bash
|
||||
# 1. 最小テストケースで確認
|
||||
./target/debug/nyash --compile-wasm local_tests/test_simple_wasm.nyash
|
||||
./target/debug/nyash --compile-wasm local_tests/test_simple_wasm.hako
|
||||
|
||||
# 2. デバッグ出力付きで実行
|
||||
RUST_LOG=debug ./target/debug/nyash --compile-wasm local_tests/test_simple_wasm.nyash 2>&1 | tee debug.log
|
||||
RUST_LOG=debug ./target/debug/nyash --compile-wasm local_tests/test_simple_wasm.hako 2>&1 | tee debug.log
|
||||
|
||||
# 3. WAT出力のみテスト(もし可能なら)
|
||||
./target/debug/nyash --compile-wat local_tests/test_simple_wasm.nyash
|
||||
./target/debug/nyash --compile-wat local_tests/test_simple_wasm.hako
|
||||
```
|
||||
|
||||
## 🎯 成功基準
|
||||
|
||||
@ -164,7 +164,7 @@ MirInstruction::BoxCall { dst, box_val, method, args, effects } => {
|
||||
|
||||
**1. FileBoxテストケース**
|
||||
```nyash
|
||||
// test_vm_filebox.nyash
|
||||
// test_vm_filebox.hako
|
||||
local file = new FileBox("test.txt")
|
||||
file.write("Hello from VM!")
|
||||
local content = file.read()
|
||||
|
||||
@ -54,8 +54,8 @@ Owner: core-runtime
|
||||
- 実用ミニ糖衣: IntentBoxの第2引数に MapBox/JSONBox を直接渡せるよう拡張。
|
||||
- Docs: 新規リファレンス追加(P2P)/ 例追加
|
||||
- docs/reference/boxes-system/p2p_box.md
|
||||
- examples/p2p_self_ping.nyash
|
||||
- examples/p2p_ping_pong.nyash
|
||||
- examples/p2p_self_ping.hako
|
||||
- examples/p2p_ping_pong.hako
|
||||
|
||||
Notes:
|
||||
- 非WASM環境のTimerBoxはダミーのため、async出力の確実化はWASM側のガイドで扱う。ネイティブでは同期スモーク(self→self/二者)で安定確認。
|
||||
|
||||
Reference in New Issue
Block a user