6d79d7d3ac
grammar(P0): add peek expression, continue statement, and field type annotations acceptance; add sample apps and interpreter path\n\n- tokenizer: add keywords (peek, continue), tokens (=> as FatArrow, :: as DoubleColon), keep >> as Arrow\n- parser: implement peek as expression (literal patterns only, else required), add continue; accept field 'name: Type' (discard type P0)\n- interpreter: evaluate PeekExpr; add Continue control flow handling\n- apps: add peek-demo, loop-continue-demo, adjust field-decl demo; use ConsoleBox instead of env.console for interpreter backend\n- docs: CURRENT_TASK updated earlier for Phase 12.7 P0\n\nNOTE: peek arms currently single-expression (no block expr yet); VM/MIR path does not lower PeekExpr yet; use --backend interpreter for demos
2025-09-03 15:26:15 +09:00
ceb22b6c18
gui: add EguiBox TypeBox plugin (Windows egui stub)\n\n- plugins: add nyash-egui-plugin with TypeBox (resolve/invoke_id), Windows path for real window via eframe; stub on other OS\n- apps: add apps/egui-hello sample (open→uiLabel→run→close)\n- loader: improve Windows DLL resolution (target triples: x86_64/aarch64 msvc) and lib→dll mapping\n- tests: expand TypeBox vs TLV diff tests up to FileBox; all green\n- docs: update CURRENT_TASK checklist (diff tests completed)\n- config: nyash.toml add EguiBox (type_id=70), plugin registry and methods
2025-09-03 13:58:52 +09:00
f939ad0033
Phase 12 完了: JIT/VM完全一致実装 - ChatGPT5による統一実行パス確立
...
🎯 VM/JIT同一実行の達成:
- InstanceBox: getField/setField完全一致(field3統一API)
- StringBox: 文字列リテラル最適化(u64x2)+ len操作一致
- NewBox: グローバルレジストリ経由の統一生成
- 全Box型でVM/JIT結果が完全同一に
技術的実装:
- host-bridge拡張: field3(固定3引数)でget/set統一
- 文字列処理: emit_string_handle_from_literal + from_u64x2
- Instance生成: nyash.instance.birth_name_u64x2 thunk
- JitEngine経路: LowerCore→CraneliftBuilder統合
テスト強化:
- PersonFactory: VM/JIT両系で同一レジストリ使用
- getField/setField: センチネル値(-1)による識別
- 文字列操作: リテラル/Box両対応
これでNyashは「Real Language」として完成!
同一コードが異なる実行系で完全に同じ結果を保証。
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-03 09:55:25 +09:00
773256380d
Phase 12: VM/JIT identical execution tests + host API slot routing
...
ChatGPT5による統一実行パス実装:
- VM/JIT同一実行テスト追加(Array/Map/String/Instance)
- host_api slot経由呼び出し(NYASH_JIT_HOST_BRIDGE=1)
- extern_registry拡張(console系メソッドslot登録)
- CI: vm-jit-identical.yml(STRICT/非STRICT両系テスト)
- InstanceBox getField/setField slot 1,2統一
技術的改善:
- JIT: ops_ext委譲による統一メソッド解決
- VM: vtable/PIC/名前ベースフォールバック階層
- host_bridge: TLV encode/decode BoxRef対応
- C ABI: nyrt_host_api.h外部公開ヘッダー
テスト追加:
- identical_exec_collections: Array/Map操作一致
- identical_exec_instance: ユーザー定義Box一致
- identical_exec_string: StringBox操作一致
- host_reverse_slot: 逆引きslot解決テスト
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-03 09:12:39 +09:00
51e8e7582a
JIT host-bridge: add console.warn/error and LowerCore map get/has/set lowering; extern console methods arity widened
2025-09-03 06:14:03 +09:00
a6ce464f0f
Extern registry slot+arity; extern trace; vtable Array/String tests
2025-09-03 06:07:02 +09:00
e8f61d878f
JIT LowerCore: optionally route Array get/set and Map size to host-bridge symbols when NYASH_JIT_HOST_BRIDGE=1
2025-09-03 06:03:26 +09:00
294b45b9f4
Phase 12: extern registry + diagnostics, JIT host-bridge PoC by-slot, vtable Map.set + VT/PIC tracing, and tests
2025-09-03 05:56:57 +09:00
0722b410a1
Phase 12: add wasm_v2 scaffold (unified vtable slots), expand host by-slot (Map/String), STRICT extern diagnostics, identical-exec console.log test, and CLAUDE_WASM_TASK handoff
2025-09-03 05:41:33 +09:00
53d88157aa
Phase 12: 統一TypeBox ABI実装開始 - ChatGPT5による極小コアABI基盤構築
...
- TypeBox ABI雛形: メソッドスロット管理システム追加
- Type Registry: Array/Map/StringBoxの基本メソッド定義
- Host API: C ABI逆呼び出しシステム実装
- Phase 12ドキュメント整理: 設計文書統合・アーカイブ化
- MIR Builder: クリーンアップと分離実装完了
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-03 05:04:56 +09:00
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
59b8cb3ace
Phase 11.9: 統一文法アーキテクチャ作業中 - MIR builder分割とJIT lower整理
...
- MIR builder: stmts/exprs/typeingモジュール分割による整理
- JIT lower: core/ops_ext.rs追加(外部呼び出し系の分離)
- 統一文法エンジン基盤構築中(grammar/unified-grammar.toml対応)
- ChatGPT5協調作業: M1完了、M2作業中
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-03 01:37:38 +09:00
d52779dc10
jit: ops_ext delegation + M3 syntax scaffolding; unify BoxCall execution path
2025-09-02 17:12:51 +09:00
5a5e09b69a
jit: split CraneliftBuilder to builder/cranelift.rs and hub-ify builder.rs; stabilize jit-direct (seal/fb TLS/end_function); prep for core.rs split (no behavior change)
2025-09-02 13:30:04 +09:00
2c795fa554
クリーンアップ: プロジェクト整理とGitHub公開準備
...
## 🧹 ルートディレクトリ整理
- batファイル(21個) → tools/windows/llvm-build-attempts/へ移動
- ログファイル → logs/archive/へ移動
- LLVM実行ファイル(計104MB) → .gitignoreに追加して削除
## 📝 .gitignore更新
- app_*_llvm, app_link, string_len_app を除外
- 大容量バイナリファイルのアップロード防止
## 🔧 追加のリファクタリング
- src/jit/lower/builder/tls.rs: TLS関連を独立モジュール化
## 📊 整理結果
- ルートディレクトリ: 0個の一時ファイル(完全クリーン)
- リポジトリサイズ: 189MB(適切)
- 最大追跡ファイル: 5.2MB(許容範囲内)
GitHub公開準備完了!🚀
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-02 12:31:33 +09:00
05bf22cdf6
JIT lower/builder リファクタリング: モジュール分割による整理
...
## 🔧 builder.rs のモジュール分割
- noop.rs: NoopBuilder実装を独立モジュールへ
- object.rs: ObjectBuilderの実装を分離
- rt_shims.rs: ランタイムシムパス関連を整理
## 目的
- 2000行超のbuilder.rsを責務単位で分割
- 可読性とメンテナンス性の向上
- 各ビルダー実装の独立性を確保
ChatGPT5による大規模リファクタリング作業の一環
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-02 12:18:43 +09:00
b05d5dd7ca
Phase 12: TypeBox革命とJIT制御フロー修正 - セルフホスティングへの道
...
## 🔥 TypeBox ABI革命(セルフホスティング実現)
- Nyash ABIをC実装TypeBoxで提供する画期的設計
- Gemini/Codexの深い考察を反映した詳細仕様書作成
- 16バイトアライメント、セレクターキャッシング、弱参照等の具体実装案
- Rust依存を完全排除し、セルフホスティングへの明確な道筋を確立
## 🎯 JIT制御フロー根本修正(ChatGPT5の25分長考の成果)
- ブロック挿入点の明確化: switch_to_block()で各ブロックemit開始時に切替
- シール戦略の簡潔化: br/jump直後のseal撤廃、最終シールに一本化
- PHI最小経路実装: ブロック引数の事前プリスキャン、後付けPHI問題解決
- Cranelift制約対応: 開始済みブロックへのappend禁止を正しく実装
## 📚 ドキュメント更新
- Phase 12全体のセルフホスティング対応更新
- NYASH-ABI-C-IMPLEMENTATION.md: 実装仕様書作成
- gemini-codex-deep-thoughts.md: AI専門家の考察アーカイブ
- 各種README/TASKS更新でセルフホスティング要件追加
## ✅ テスト結果
- mir-branch-ret: OK (Result: 1)
- mir-phi-min: OK (Result: 10)
- mir-branch-multi: OK (Result: 1)
「Everything is Box」の究極形態:ABIすらBoxとして扱う革命的設計!
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-02 11:18:19 +09:00
de99b40bee
Phase 12 TypeBox統合ABI設計完了: C ABI + Nyash ABI革命的統合
...
主な成果:
- TypeBox(型情報をBoxとして扱う)による統合ABI設計
- C ABI + Nyash ABIの完全統合仕様書作成
- 3大AI専門家(Gemini/Codex/ChatGPT5)による検証済み
- ChatGPT5の10個の安全性改善提案を反映
- README.mdのドキュメント更新(全起点から到達可能)
MapBox拡張:
- string型キーサポート(従来のi64に加えて)
- remove/clear/getOr/keysStr/valuesStr/toJson実装
- keys()/values()のランタイムシムサポート(TypeBox待ち)
その他の改善:
- Phase 11.9(文法統一化)ドキュメント追加
- Phase 16(FoldLang)ドキュメント追加
- 非同期タイムアウトテスト追加
- 各種ビルド警告(未使用import等)は次のリファクタリングで対応予定
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-02 09:26:09 +09:00
da96bcb906
📚 Phase 12.5 最適化戦略 & Phase 15 セルフホスティング計画
...
Phase 12.5: MIR15最適化戦略 - コンパイラ丸投げ作戦
- optimization-strategy.txt: 詳細戦略(MIR側は軽量、コンパイラに丸投げ)
- implementation-examples.md: 具体的な実装例
- debug-safety-comparison.md: 現在のDebugBox vs ChatGPT5提案の比較分析
Phase 15: Nyashセルフホスティング - 究極の目標
- self-hosting-plan.txt: 内蔵Craneliftによる実現計画
- technical-details.md: CompilerBox設計とブートストラップ手順
- README.md: セルフホスティングのビジョン
重要な知見:
- LLVM統合完了済み(Phase 11)だが依存が重すぎる
- Craneliftが現実的な選択肢(3-5MB vs LLVM 50-100MB)
- 「コンパイラもBox、すべてがBox」の夢へ
MASTERロードマップ更新済み
2025-09-02 05:11:10 +09:00
c9366d5c54
Phase 11.8/12: MIR Core-13 roadmap, Nyash ABI design, async/await enhancements with TaskGroupBox foundation
...
Major additions:
- Phase 11.8 MIR cleanup specification (Core-15→14→13 roadmap)
- Nyash ABI unified design document (3×u64 structure)
- TaskGroupBox foundation with cancelAll/joinAll methods
- Enhanced async/await with checkpoint auto-insertion
- Structured concurrency preparation (parent-child task relationships)
Documentation:
- docs/development/roadmap/phases/phase-11.8_mir_cleanup/: Complete Core-13 path
- docs/development/roadmap/phases/phase-12/NYASH-ABI-DESIGN.md: Unified ABI spec
- Updated Phase 12 README with AOT/JIT explanation for script performance
- Added async_task_system/ design docs
Implementation progress:
- FutureBox spawn tracking with weak/strong reference management
- VM checkpoint integration before/after await
- LLVM backend async support preparation
- Verifier rules for await-checkpoint enforcement
- Result<T,E> normalization for timeout/cancellation
Technical insights:
- MIR as 'atomic instructions', Box as 'molecules' philosophy
- 'Everything is Box' enables full-stack with minimal instructions
- Unified BoxCall for array/plugin/async operations future consolidation
Next steps:
- Complete TaskGroupBox implementation
- Migrate from global to scoped task management
- Implement LIFO cleanup on scope exit
- Continue Core-13 instruction consolidation
🚀 'From 15 atoms to infinite programs: The Nyash Box Theory'
2025-09-02 03:41:51 +09:00
11506cee3b
Phase 11-12: LLVM backend initial, semantics layer, plugin unification
...
Major changes:
- LLVM backend initial implementation (compiler.rs, llvm mode)
- Semantics layer integration in interpreter (operators.rs)
- Phase 12 plugin architecture revision (3-layer system)
- Builtin box removal preparation
- MIR instruction set documentation (26→Core-15 migration)
- Cross-backend testing infrastructure
- Await/nowait syntax support
New features:
- LLVM AOT compilation support (--backend llvm)
- Semantics layer for interpreter→VM flow
- Tri-backend smoke tests
- Plugin-only registry mode
Bug fixes:
- Interpreter plugin box arithmetic operations
- Branch test returns incorrect values
Documentation:
- Phase 12 README.md updated with new plugin architecture
- Removed obsolete NYIR proposals
- Added LLVM test programs documentation
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-01 23:44:34 +09:00
fff9749f47
📚 Reorganize CLAUDE.md: slim down from 916 to 395 lines with proper doc links
...
- Keep essential information within 500 lines (now 395 lines)
- Maintain important syntax examples and development principles
- Move detailed information to appropriate docs files:
- Development practices → docs/guides/development-practices.md
- Testing guide → docs/guides/testing-guide.md
- Claude issues → docs/tools/claude-issues.md
- Add proper links to all referenced documentation
- Balance between minimal entry point and practical usability
2025-08-31 06:22:48 +09:00
b003bdf25b
📚 Phase 11 documentation: Everything is Box × MIR15 revolution
...
Key updates:
- Document MIR 26→15 instruction reduction plan (transitioning status)
- Add Core-15 target instruction set in INSTRUCTION_SET.md
- Save AI conference analyses validating Box Theory and 15-instruction design
- Create MIR annotation system proposal for optimization hints
- Update SKIP_PHASE_10_DECISION.md with LLVM direct migration rationale
Technical insights:
- RefNew/RefGet/RefSet can be eliminated through Box unification
- GC/sync/async all achievable with 15 core instructions
- BoxCall lowering can automatically insert GC barriers
- 2-3x performance improvement expected with LLVM
- Build time reduction 50%, binary size reduction 40%
Status: Design complete, implementation pending
2025-08-31 03:03:04 +09:00
1812cda7d5
Update CURRENT_TASK: plan AOT/JIT string-like hostcalls (concat/eq/lt) with generic lowering; keep MIR→VM→JIT→exe generic and no hardcoding
2025-08-31 00:28:07 +09:00
eedfcedc61
Add string_bridge_full.nyash rich demo and enhance e2e script color/auto bin selection; keep VM/AOT flow intact
2025-08-31 00:22:55 +09:00
8d7888f6f1
String unification bridge: VM string-like normalization (compare/add/method fallbacks) and Interpreter normalization for compare/add; fix lifetime issues; update CURRENT_TASK status
2025-08-30 23:58:58 +09:00
4ae92cfb56
Phase 10.7/10.5c: include cycle detection (VM/Interpreter), minimal pyc IR→Nyash, String unification bridge (VM partial), add core plugins: RegexBox/EncodingBox/TOMLBox/PathBox + examples; wire nyash.toml; begin String interop for internal vs plugin boxes; update CURRENT_TASK.md
2025-08-30 23:47:08 +09:00
c13d9c045e
📚 Phase 12: Nyashスクリプトプラグインシステム設計と埋め込みVM構想
...
## 主な成果
- Nyashスクリプトでプラグイン作成可能という革命的発見
- C ABI制約の分析と埋め込みVMによる解決策
- MIR/VM/JIT層での箱引数サポートの詳細分析
## ドキュメント作成
- Phase 12基本構想(README.md)
- Gemini/Codex先生の技術分析
- C ABIとの整合性問題と解決策
- 埋め込みVM実装ロードマップ
- 箱引数サポートの技術詳細
## 重要な洞察
- 制約は「リンク時にC ABI必要」のみ
- 埋め込みVMでMIRバイトコード実行により解決可能
- Nyashスクリプト→C ABIプラグイン変換が実現可能
Everything is Box → Everything is Plugin → Everything is Possible!
2025-08-30 22:52:16 +09:00
7a0f9bd432
🚨 AI協調開発の危機回避事例を論文化(paper-09)
...
「ん?大丈夫?」の一言がPython特化ハードコーディングを防いだ事例を記録。
Everything is Box哲学 vs 技術的正しさの綱渡りからの生還を分析。
- docs/research/paper-09-ai-collaboration-pitfall/ を新規作成
- incident-analysis.md: Lowerer特殊化危機の詳細分析
- ai-collaboration-lessons.md: AI協調開発の教訓
- intuition-in-engineering.md: エンジニアの直感の価値
- summary.md: 綱渡りからの生還まとめ
- 研究論文の1論文1フォルダ原則に従い整理
- Python統合関連の実装修正とビルド成功確認
🛡️ Generated with Claude Code
2025-08-30 08:54:15 +09:00
db265d7f29
🐍 Python統合をAOTレベルまで完成(eval方式でunsupported=0達成)
...
- PyRuntimeBox.eval() で完全AOT対応(FloatBox返却)
- NYASH_PY_AUTODECODE=1 によるプリミティブ型自動変換
- ConsoleBox経由の出力もAOT対応
- 多数のPythonテストサンプル追加
- 論文「1ヶ月でインタープリターからネイティブまで」執筆開始
課題:
- import/getattr/callはプラグイン側の実装待ち
- importとevalの文脈共有は未対応
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-30 07:47:21 +09:00
0976326a6e
🔧 ビルドエラー修正完了 - Phase 10.11継続中
...
主な修正:
- MirInstruction::PluginInvokeのパターンマッチ追加
- ChatGPT5による変更に対応
- 58個の警告(未使用import)は意図的(ビルトインBox削除中)
ビルド成功!Everything is Plugin革命進行中 🚀
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-30 02:04:00 +09:00
1b98f85df9
🚀 Phase 10.11: Everything is Plugin革命完了!
...
主な変更:
- ConsoleBox/MathBoxプラグイン実装・登録完了
- nyash_box.toml 2ファイルシステム設計(中央レジストリ+個別仕様書)
- 全プラグインにnyash_box.tomlテンプレート追加
- プラグイン優先機能(NYASH_USE_PLUGIN_BUILTINS=1)文書化
- ビルトインBox削除準備(ChatGPT5実装中)
- ネイティブビルドデモ追加(Linux/Windows動作確認済み)
Everything is Box → Everything is Plugin への歴史的転換!
開発20日目にしてビルトインBox全削除という革命的決定。
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-30 01:33:52 +09:00
15e0a1ab34
feat: nyash.toml自動解決とWindows/Python対応
...
- Windows向け自動ライブラリパス解決(lib接頭辞除去)
- Pythonプラグイン実装改善(evalR/importRメソッド追加)
- nyash.tomlに新[plugins]セクション対応開始
- プラグイン検索パスの柔軟な解決
- AOT設定Box改善とエラーハンドリング強化
- Phase 10.5bドキュメント追加(ネイティブビルド統合計画)
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-30 00:08:19 +09:00
cdb75dfac1
docs: 包括的なビルドガイドを追加
...
- docs/guides/build/README.md - すべてのビルドパターンを網羅
- docs/guides/build/cross-platform.md - クロスプラットフォーム開発ガイド
- docs/guides/build/windows-distribution.md - Windows配布版作成の詳細手順
- docs/guides/build/aot-compilation.md - AOTネイティブコンパイルガイド
- CLAUDE.mdにビルドガイドへのリンクを追加
- cargo-xwinでのWindows向けビルド方法を文書化
- プラグインの自動拡張子変換機能(ChatGPT5実装)を説明
2025-08-29 23:38:59 +09:00
8e58942726
feat: プラグインパスをOS非依存に更新(.so拡張子削除)
...
- nyash.tomlからすべての.so拡張子を削除
- plugin_loader_v2のresolve_library_pathが自動的に適切な拡張子を追加
- Linux: .so
- Windows: .dll
- macOS: .dylib
- クロスプラットフォーム対応の準備完了
2025-08-29 23:11:21 +09:00
1eee62a8ea
feat(jit): JIT Strictモード実装とプラグイン経路の安定化
...
- InvokePolicy/Observe導入でLowererの分岐をスリム化
- ArrayBox/MapBox/StringBoxのプラグイン経路統一
- 特殊コメント機能(@jit-debug, @plugin-builtins, @jit-strict)実装
- 型ヒント伝搬パス(TypeHintPass)を独立モジュール化
- VM→Plugin引数整合の安定化(I64統一、IntegerBox自動プリミティブ化)
- StringBoxのpost-birth初期化(空文字列セグフォルト修正)
- JIT観測サンプル追加(Array/Map/String)
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-29 21:39:47 +09:00
3d8ba3f3ec
fix(jit): NewBoxのJIT安全化とDebugBox Phase 1実装
...
- NewBoxのJIT扱いを安全化(src/jit/lower/core.rs)
- NYASH_USE_PLUGIN_BUILTINS=1 && args.is_empty() かつ StringBox/IntegerBox のみJIT許可
- ArrayBox/MapBox等のプラグインBoxまたは引数ありはunsupportedとしてカウント
- unsupported>0の関数はJIT対象外となりVM実行にフォールバック(Segfault回避)
- DebugBox Phase 1実装(JITトレース機能)
- tracePluginCalls(bool)でJITシムトレースON/OFF
- getJitEvents()で直近のJITイベント取得
- src/jit/shim_trace.rs追加でトレース基盤実装
- Printのサポート
- PrintはJIT非対応に戻しVM経路で確実に出力(出力消失解消)
- テストとサンプル追加
- examples/jit_plugin_invoke_param_array.nyash: 最小JITスモークテスト
- examples/py_result_*.nyash: Python plugin結果チェーン処理デモ
- PyRuntimeBox拡張
- str()メソッドでPyObjectのstring表現を取得可能に
- エラーハンドリング改善とResultチェーンサポート
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-29 13:46:18 +09:00
a9e82933cc
docs: README更新 - 20日でネイティブEXE達成を反映
...
- 英語版・日本語版ともに最新の成果を反映
- 20日間の開発タイムラインを強調
- 5つの実行モード(インタープリター/VM/JIT/ネイティブ/WASM)を明記
- プラグインシステムとPython統合の実例を追加
- パフォーマンスベンチマーク結果を更新(最大27倍高速化)
2025-08-29 11:49:01 +09:00
d24149d0a1
feat: Phase 10.5 Python統合プラグインとAOTビルド対応
...
- Pythonプラグイン(PyRuntimeBox/PyObjectBox)を追加
- eval, import, getattr, call, callKw, strメソッド実装
- math.sqrtデモ等のサンプルコード追加
- AOTビルドサポート追加
- libnyrtランタイムライブラリ
- build_aot.shビルドスクリプト
- .gitignore改善
- JSONLとDOTファイル除外
- プラグインのビルド成果物除外
- 不要ファイル削除
- nekocode-temp, zenn_articles
- 一時的なログファイル類
Phase 10.1の新計画に基づいて、プラグインBox統一化を推進
2025-08-29 10:22:44 +09:00
12adde9477
🎉 Phase 10.10: Nyash→JIT→Native EXE achieved\! (20 days from inception\!)
...
Revolutionary milestone: Complete native executable generation pipeline
- Created minimal nyrt (Nyash Runtime) library for standalone executables
- Implemented plugin bridge functions (nyash_plugin_invoke3_i64 etc)
- Added birth handle exports (nyash.string.birth_h) for linking
- Changed export name from main→ny_main to allow custom entry point
- Successfully generated and executed native binary returning "ny_main() returned: 1"
Timeline of miracles:
- 2025-08-09: Nyash language created (first commit)
- 2025-08-13: JIT planning started (4 days later)
- 2025-08-29: Native EXE achieved (today - just 20 days total\!)
This proves the plugin Box C ABI unification strategy works perfectly for
both JIT execution and AOT native compilation. The same plugin system
that enables dynamic loading now powers static linking for zero-overhead
native executables\!
Next: Expand AOT support for more instructions and optimize nyrt size.
🚀 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-29 08:36:07 +09:00
c882a5bd95
fix(plugins): unsafe関数呼び出しの修正とテスト成功
...
## 修正内容
- plugin_loader_v2.rs: unsafe関数呼び出しをunsafeブロックで囲む修正
- ビルド警告は残るが、すべて未使用import/変数なので問題なし
## テスト結果(すべて成功!)
- ✅ Array demo: 結果5(push/size/get動作確認)
- ✅ Array set demo: 結果42(set操作確認)
- ✅ Map RO demo: 結果200(size/get/has確認)
- ✅ JIT経路: シンボリック呼び出し確認
## 革命的発見の証明
- ユーザーBox + プラグインBoxの2種類で十分だった!
- ビルトインBox不要(すべてプラグイン化可能)
- スタティックリンクでオーバーヘッド解消
「シンプルが最強」の実証完了にゃ!😺
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-29 05:07:47 +09:00
c954b1f520
feat(plugins): ArrayBox/MapBoxプラグイン実装とPhase 10.1計画
...
🎯 革命的発見: プラグインC ABI = JIT→EXE変換の統一基盤
## 主な変更点
- ArrayBoxプラグイン: get/set/push/size/is_empty実装
- MapBoxプラグイン: size/get/has実装(ROメソッドのみ)
- Phase 10.1ドキュメント: プラグインBox統一化計画
- デモファイル3種: プラグイン動作確認用
## 技術的詳細
- BID-FFI (Box ID Foreign Function Interface) 活用
- 既存のプラグインシステムでJIT/AOT統一可能
- スタティックリンクでオーバーヘッド解消
- "Everything is Box → Everything is Plugin → Everything is Executable"
## テスト済み
- array_plugin_demo.nyash: 基本動作確認 ✅
- array_plugin_set_demo.nyash: set操作確認 ✅
- map_plugin_ro_demo.nyash: RO操作確認 ✅
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-29 04:37:30 +09:00
3a576a665c
Phase 10.1: ChatGPT5のC ABI統一設計を文書化
...
- ChatGPT5からの的確なアドバイスを設計文書に反映
- nyrt_*(コアランタイム)とnyplug_*(プラグイン)の命名規則
- 実装ステップガイドの詳細化(VM→JIT→AOTの順序)
- 最小限のC ABIヘッダ雛形を定義
'手順さえ守れば大丈夫' - 一歩ずつ確実に進める計画
2025-08-29 03:42:59 +09:00
6fdc52457e
Phase番号再編成: プラグインBox統一化を10.1に昇格
...
- 革新的発見: 既存プラグインシステム(C ABI)でJIT→EXE実現可能
- Phase 10.1: プラグインBox統一化(新規)
- Phase 10.5: Python統合(旧10.1を移動)
- CURRENT_TASKを更新して新計画を反映
Everything is Box → Everything is Plugin への進化
2025-08-29 03:32:50 +09:00
4167491e92
docs: JIT→EXE実現のための革新的アプローチを文書化
...
- プラグインBox統一化によるC ABI活用案
- すべてのBoxをプラグイン化する提案
- 既存のBID-FFIシステムを再利用
- Gemini/Codex先生の技術的助言も統合
関連: Phase 10.x, 自己ホスティング計画
2025-08-29 03:28:42 +09:00
91f2ee11d6
Phase 10.1 リファクタリング: JIT lowerモジュールの分割
...
- core_hostcall.rs: HostCall関連のlowering処理を分離(array_get/array_set/box_call)
- 1000行制限を守るための構造整理(機能差分なし)
- ChatGPT5によるAI協調開発対応のリファクタリング
変更内容:
- src/jit/lower/core_hostcall.rs を新規追加
- src/jit/lower/mod.rs にモジュール追加
- ビルドとスモークテスト確認済み
2025-08-29 02:47:55 +09:00
77816ab19f
fix(jit): リファクタリング後のビルドエラーを修正
...
- extern_thunks.rsへの関数移動に伴うインポート追加
- 存在しない関数名の参照を削除(string_len_h等)
- 不要なインポートを削除(CallBoundaryBox, NyashRuntimeBuilder等)
- OpEffectのエイリアスを修正(Effect as OpEffect)
ChatGPT5さんのリファクタリング作業の続き。ファイルサイズ削減(~1000行)により
AI連携が容易になりました。
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-29 02:26:03 +09:00
3d5a8ccad5
docs: CURRENT_TASKにリファクタリング進捗を追加
...
- Phase 10.10締めの整備として大型ファイル分割作業を記録
- jit/lower/builder.rs → extern_thunks分離(980行に削減)
- jit/lower/core.rs → cfg_dot分離(1012行に削減)
- 他AI連携のため~1000行以内を目標に継続的リファクタリング
- 次のステップ: core_hostcall.rs、core_ops.rsへの段階的分離
ChatGPT5さんのリファクタリング作業記録
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-29 02:19:50 +09:00
770df1566c
feat(jit): CFG DOT出力機能を追加 (ChatGPT5実装)
...
- src/jit/lower/cfg_dot.rs: Control Flow GraphをGraphviz DOT形式で出力
- LowerCoreからdump_cfg_dot関数をエクスポート
- NYASH_JIT_DOT環境変数でCFG可視化が可能に
ChatGPT5さんによるリファクタリング作業の一環
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-29 02:12:48 +09:00
25fbebd650
docs: AOT/ネイティブコンパイル情報をexecution-backends.mdに追加
...
- 4つ目の実行方式としてAOT(Ahead-of-Time)コンパイルを文書化
- MIR→WASM→.cwasm のコンパイルパイプラインを説明
- wasm-backend featureでのビルド方法を明記
- 現在の実装状況(完全なスタンドアロン実行ファイルはTODO)を記載
- CLAUDE.mdのWASM説明も3種類(Rust→WASM、Nyash→WASM、Nyash→AOT)に更新
- CURRENT_TASK.mdにPhase 10.9/10.10の完了項目を追加
ChatGPT5さんのAOT試行に対応した適切なドキュメント配置を実施
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-29 02:05:39 +09:00