Files
hakorune/docs/papers/active/paper-b-nyash-execution-model/README.md
Moe Charm e2e25f6615 論文フォルダ整理: ChatGPT5提案による2本立て構造に再編成
- 論文A: MIR13命令とIR設計 (コンパイラ・PL実装者向け)
  - ArrayGet/Set → BoxCall統合による50%削減
  - IC/AOT/TypedArray最適化
  - Everything is Box哲学のMIR実装

- 論文B: Nyash言語と実行モデル (言語理論・分散システム向け)
  - init/fini対称性メモリ管理
  - P2P Intentモデル
  - 多層実行アーキテクチャ(Interpreter→VM→JIT→AOT→WASM)

既存のmir15-fullstack/unified-lifecycleはarchiveに移動
2025-09-03 03:06:24 +09:00

140 lines
4.2 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.

# 論文B: Nyash言語と実行モデル
## 📚 概要
**タイトル**: Nyash: A Box-First Programming Language with Symmetric Memory Management and P2P Intent Model
**主題**: Nyash言語そのものの設計と実装
**対象読者**: 言語理論・分散システム・アプリ開発寄り
## 🎯 研究ポイント
### 1. init/fini対称性によるメモリ管理
- コンストラクタinit/birth/packとデストラクタfiniの対称設計
- 明示的なリソース管理による安全性
- GCオン/オフ切り替え可能な柔軟性
### 2. P2P Intentモデル
- Box間の意図ベース通信
- 分散アプリケーション向け設計
- NyaMeshライブラリによる実装
### 3. 多層実行アーキテクチャ
- **Interpreter**: 開発・デバッグ用
- **VM**: 高速実行
- **JIT**: 動的最適化
- **AOT**: 配布用バイナリ
- **WASM**: Web展開
## 🚀 実装例
### 1. NyashCoin - P2P暗号通貨
```nyash
box NyashCoin from P2PBox {
init { balance, transactions }
birth(nodeId, network) {
from P2PBox.pack(nodeId, network)
me.balance = new MapBox()
me.transactions = new ArrayBox()
}
onIntent(intent, data, sender) {
switch intent {
"transfer": me.handleTransfer(data, sender)
"mine": me.handleMining(data, sender)
"sync": me.handleSync(data, sender)
}
}
}
```
### 2. プラグインストア
- 動的プラグインロード
- TypeBox ABIによる相互運用
- セキュアな実行環境
### 3. GUI/Webアプリケーション
- EguiBoxによるGUI開発
- WebCanvasBoxによるブラウザ対応
- 統一的なBox APIによる開発
## 📊 評価計画
### 言語機能の評価
- 表現力: 他言語との比較
- 学習曲線: 初学者への調査
- 開発効率: LOCとバグ率
### 性能評価
- 各バックエンドのベンチマーク
- メモリ使用量の比較
- 起動時間・応答性
### 実用性評価
- 実アプリケーション開発
- プラグインエコシステム
- クロスプラットフォーム性
## 📁 ディレクトリ構造
```
paper-b-nyash-execution-model/
├── README.md # このファイル
├── abstract.md # 論文概要
├── main-paper.md # 本文
├── chapters/ # 章別ファイル
│ ├── 01-introduction.md
│ ├── 02-language-design.md
│ ├── 03-memory-model.md
│ ├── 04-p2p-intent.md
│ ├── 05-execution-backends.md
│ ├── 06-case-studies.md
│ └── 07-conclusion.md
├── figures/ # 図表
│ ├── box-hierarchy.png
│ ├── execution-flow.svg
│ └── p2p-architecture.png
├── examples/ # コード例
│ ├── nyashcoin/
│ ├── plugin-store/
│ └── gui-apps/
├── data/ # 実験データ
│ ├── performance/
│ └── usability-study/
└── related-work.md # 関連研究
```
## 🗓️ スケジュール
- **2025年9月**: 実装例の完成・評価実施
- **2025年10月**: 執筆開始
- **2025年11月**: OOPSLA 2026投稿
- **2026年春**: Onward!投稿(設計哲学編)
## 📝 執筆メモ
### 強調すべき貢献
1. **Everything is Box哲学**: 統一的なオブジェクトモデル
2. **対称的メモリ管理**: init/finiによる明示的制御
3. **P2P Intentモデル**: 分散アプリケーションの新パラダイム
4. **多層実行環境**: 用途に応じた最適な実行方式
### 新規性
- Box中心の言語設計
- 意図ベースのメッセージング
- プラグイン第一級市民
- 実行バックエンドの透過的切り替え
### 実証
- 実動作するアプリケーション群
- プラグインエコシステムの構築
- クロスプラットフォーム展開
## 🔗 関連ドキュメント
- [Language Reference](../../../../reference/language/LANGUAGE_REFERENCE_2025.md)
- [Everything is Box](../../../../reference/boxes-system/everything-is-box.md)
- [P2P Box Guide](../../../../guides/p2p-guide.md)
- [Execution Backends](../../../../reference/architecture/execution-backends.md)