docs: Update nyash_core_concepts.md with latest features
- Add static box method calls (Phase 9.75i) - Update execution backend section with interpreter hybrid strategy - Add new BuiltinBoxes: FloatBox, SocketBox, BufferBox - Reflect interpreter's production value (not just for development) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -288,6 +288,7 @@ static box Main {
|
||||
- **基本型**
|
||||
- **`StringBox`**: 文字列操作
|
||||
- **`IntegerBox`**: 整数値
|
||||
- **`FloatBox`**: 浮動小数点数(Phase 9.75h追加)
|
||||
- **`BoolBox`**: 真偽値
|
||||
- **`NullBox`**: null値
|
||||
|
||||
@ -309,9 +310,11 @@ static box Main {
|
||||
- **`WebConsoleBox`**: Webコンソール
|
||||
- **`WebCanvasBox`**: Web Canvas操作
|
||||
|
||||
- **通信系**
|
||||
- **通信・ネットワーク系**
|
||||
- **`P2PBox`**: P2P通信
|
||||
- **`SimpleIntentBox`**: 簡単なインテント通信
|
||||
- **`SocketBox`**: TCP/IPソケット通信(Phase 9.75i追加)
|
||||
- **`BufferBox`**: バイナリバッファ操作(Phase 9.75i追加)
|
||||
|
||||
**注意**: using nyashstdで標準ライブラリ経由でのアクセスも可能です。
|
||||
|
||||
@ -426,6 +429,20 @@ r3 = await f3
|
||||
}
|
||||
```
|
||||
|
||||
- **静的boxメソッド呼び出し(Phase 9.75i実装):**
|
||||
```nyash
|
||||
static box ProxyServer {
|
||||
static port = 8080 // 静的フィールド
|
||||
|
||||
static main() {
|
||||
print("Starting proxy on port " + ProxyServer.port.toString())
|
||||
}
|
||||
}
|
||||
|
||||
// 呼び出し
|
||||
ProxyServer.main() // ✅ 静的メソッド直接呼び出し可能
|
||||
```
|
||||
|
||||
- **静的関数の定義/呼び出し:**
|
||||
```nyash
|
||||
static function Math.min(a, b) {
|
||||
@ -443,30 +460,46 @@ r3 = await f3
|
||||
}
|
||||
```
|
||||
|
||||
## 11. 実行バックエンド選択 (2025-08-14追加)
|
||||
## 11. 実行バックエンド選択とハイブリッド戦略 (2025-08-16更新)
|
||||
|
||||
Nyashは3つの実行方式をサポート。用途に応じて選択可能:
|
||||
Nyashは4つの実行方式をサポート。**インタープリターは開発だけでなく本番でも実用的**(Pythonのように):
|
||||
|
||||
### 🌟 **インタープリター併用戦略**
|
||||
```
|
||||
開発時: インタープリター(即時実行・デバッグ・非同期フル対応)
|
||||
本番時: インタープリター(多くのユースケースで十分高速)
|
||||
OR
|
||||
コンパイラ(性能要求時)
|
||||
配布時: AOT native(最高性能)
|
||||
Web時: WASM(ブラウザ対応)
|
||||
```
|
||||
|
||||
### 実行方法
|
||||
```bash
|
||||
# インタープリター実行(開発・デバッグ重視)
|
||||
# インタープリター実行(開発・本番両対応)
|
||||
nyash program.nyash
|
||||
|
||||
# VM実行(高速実行・本番環境)
|
||||
# VM実行(高速実行)
|
||||
nyash --backend vm program.nyash
|
||||
|
||||
# WASM生成(Web配布・最高性能)
|
||||
# WASM生成(Web配布)
|
||||
nyash --compile-wasm program.nyash
|
||||
|
||||
# ベンチマーク実行(性能比較)
|
||||
nyash --benchmark --iterations 100
|
||||
```
|
||||
|
||||
**性能比較(実行速度):**
|
||||
- **WASM**: 13.5倍高速化(真の実行性能)
|
||||
- **VM**: 20.4倍高速化(高速実行・本番環境)
|
||||
- **Interpreter**: ベースライン(開発・デバッグ重視)
|
||||
### **性能比較(実行速度):**
|
||||
- **WASM**: 13.5倍高速化
|
||||
- **VM**: 20.4倍高速化
|
||||
- **Interpreter**: ベースライン(多くの場合十分高速)
|
||||
- **LLVM AOT**: 100-1000倍高速化(Phase 10計画中)
|
||||
|
||||
**注意**: 280倍高速化はコンパイル性能(ビルド時間)であり、実行性能とは異なります。
|
||||
### **インタープリターの価値:**
|
||||
- **即時実行**: コンパイル不要で素早い開発サイクル
|
||||
- **完全な非同期**: Rust async/awaitで真の並行処理
|
||||
- **デバッグ容易**: 実行時情報の完全把握
|
||||
- **実用的性能**: PythonやRubyが証明する十分な速度
|
||||
|
||||
詳細: [docs/execution-backends.md](execution-backends.md)
|
||||
|
||||
@ -478,17 +511,20 @@ nyash --benchmark --iterations 100
|
||||
|
||||
---
|
||||
|
||||
**最終更新: 2025年8月16日** - **Phase 9.75h完了記念 大幅更新**
|
||||
- 🌟 **自動リテラル変換実装**: 文字列・数値・真偽値の自動Box変換(革命的ユーザビリティ向上)
|
||||
**最終更新: 2025年8月16日** - **インタープリター併用戦略統合**
|
||||
- 🌟 **インタープリター併用戦略**: 開発・本番両対応の実用的実行モデル
|
||||
- ✅ **静的boxメソッド呼び出し追加**: Phase 9.75i実装機能
|
||||
- ✅ **ビルトインBox追加**: FloatBox, SocketBox, BufferBox
|
||||
- ✅ **実行バックエンド説明更新**: インタープリターの本番価値明記
|
||||
|
||||
**前回の革命的改善(Phase 9.75h):**
|
||||
- 🌟 **自動リテラル変換実装**: 文字列・数値・真偽値の自動Box変換
|
||||
- ✅ **using nyashstd完全実装**: 標準ライブラリアクセス機能完成
|
||||
- ✅ **birth構文追加**: 「生命をBoxに与える」統一コンストラクタ
|
||||
- ✅ **現代的構文例追加**: 最新機能を活用した実用コード例
|
||||
- ✅ **性能数値修正**: WASM 13.5倍(実行性能)・280倍(コンパイル性能)
|
||||
- ✅ **ビルトインBoxリスト最新化**: 実装済み17種類のBox完全リスト
|
||||
|
||||
### 🚀 **今回の革命的改善**
|
||||
**Everything is Box哲学 + 使いやすさ** を完全両立達成!
|
||||
- **Before**: `local text = new StringBox("Hello")`(冗長)
|
||||
- **After**: `local text = "Hello"`(シンプル、自動変換)
|
||||
- **結果**: パーサーレベル変換により実行時オーバーヘッドゼロ
|
||||
### 🚀 **Nyashの実用的価値**
|
||||
**Everything is Box哲学 + 使いやすさ + 実用的性能** の三位一体!
|
||||
- **開発時**: インタープリターで即時実行・完全デバッグ
|
||||
- **本番時**: インタープリター(十分高速)またはコンパイラ(最高性能)
|
||||
- **将来**: LLVM AOTで100-1000倍高速化(Phase 10)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user