Commit Graph

687 Commits

Author SHA1 Message Date
df88296d97 Merge branch 'main' of https://github.com/moe-charm/nyash 2025-09-08 01:41:05 +09:00
193050cba3 fix: finalize extern registry and docs dir after merge 2025-09-08 01:39:58 +09:00
df21e9e137 runner: align mod.rs with cranelift-dev (remove using/modules flow, JSON v0 via MIR interpreter) 2025-09-08 01:30:59 +09:00
864473336e merge: resolve conflicts (prefer cranelift-dev for Core-13 defaults; drop modules/using, add env.local/env.box shims) 2025-09-08 01:28:39 +09:00
1aad0479e7 merge: bring cranelift-dev into selfhosting-dev (VM stable, AOT/JIT smokes passing) 2025-09-08 01:24:13 +09:00
5ab3cc6688 vm: stabilize plugin-first VM output + TLV decode\n\n- runtime(plugin_loader_v2): decode plugin TLV generically (tag 1/2/3/5/6/7/8/9)\n- vm(print): coerce plugin-backed results via semantics (i64/string) for consistent output\n- vm(plugin_invoke): add decode debug; align return handling\n- bin/lib: expose runner_plugin_init in bin; fix call sites to init plugin host\n- tools(build_aot.sh): disable legacy-forbid diag and toml env for object emit\n- add VM/JIT smoke scripts (counter, filebox, jit-compare)\n\nResult: VM plugin smokes PASS; jit-direct compare PASS. AOT emit still needs CLIF block init tweak. 2025-09-08 01:08:59 +09:00
1069f558a5 selfhost/tools: add dep_tree_simple.nyash (single-box functional) and run dep_tree.sh with interpreter + plugin builtins; groundwork for include+using/module JSON deps 2025-09-07 20:59:18 +09:00
caf0e922ef selfhosting: move ny-parser-nyash into apps/selfhost/, add Ny-only dev loop and initial dep tree tools; add docs plan; make dev/dev-watch 2025-09-07 20:23:39 +09:00
1bb2d2db5b docs(current_task): add handoff plan (worktree setup, lower TODOs, commands) 2025-09-07 18:09:47 +09:00
21d2543e33 docs(current_task): update egui AOT/JIT status, scripts, and next actions (2025-09-07) 2025-09-07 17:53:48 +09:00
4a8691014f docs/private: convert to git submodule (nyash-private-docs) (#128)
Co-authored-by: Tomoaki <tomoaki@example.com>
2025-09-07 08:49:36 +09:00
b8bdb867d8 Merge selfhosting-dev into main (Core-13 pure CI/tests + LLVM bridge) (#126)
* WIP: sync before merging origin/main

* fix: unify using/module + build CLI; add missing helper in runner; build passes; core smokes green; jit any.len string now returns 3

* Apply local changes after merging main; keep docs/phase-15 removed per main; add phase-15.1 docs and tests

* Remove legacy docs/phase-15/README.md to align with main

* integration: add Core-13 pure CI, tests, and minimal LLVM execute bridge (no docs) (#125)

Co-authored-by: Tomoaki <tomoaki@example.com>

---------

Co-authored-by: Selfhosting Dev <selfhost@example.invalid>
Co-authored-by: Tomoaki <tomoaki@example.com>
2025-09-07 07:36:15 +09:00
d62114c705 Core-13 pure: add CI workflows, VM e2e tests, LLVM parity bridge (minimal); do not touch private docs 2025-09-07 07:28:53 +09:00
07350c5dd9 windows/llvm: add build script (build_nyash_llvm.ps1); fix nyash.toml LLVM task paths; add screenshots dir placeholder; add which dep 2025-09-06 22:08:58 +09:00
0076a2eec1 tests: ignore instance get/set slots (ABI_STRICT vtable) and plugin ConsoleBox/FileBox e2e under default env; keep cranelift suite green 2025-09-06 21:47:14 +09:00
80fe676cd4 cranelift: fix FB block-switch panic by safe switch wrapper; add Array.set(H,H) thunk + lowering; route all builder switching via safe path; pass identical_exec add/console_log/string_len/array_map_string 2025-09-06 21:25:03 +09:00
9e6b77226e docs: add --build (MVP) usage to READMEs; guide updated with WSL tips. cli/runner: wire minimal --build to produce EXE (plugins→core→AOT→link). 2025-09-06 16:53:12 +09:00
c5c3a2624c Merge remote-tracking branch 'origin/main' into cranelift-dev 2025-09-06 16:45:39 +09:00
07f270b966 aot: enable plugin invokes in ObjectBuilder (tagged by-id), add generic NewBox birth via nyash.instance.birth_name_u64x2; egui(plugin): cross-platform run + debug logs; docs: WSL Wayland→X11 troubleshooting and one‑shot scripts; CURRENT_TASK + READMEs updated (JIT runtime sealed). 2025-09-06 16:18:46 +09:00
7a4f5052f1 jit: P3 jit-direct-only hardening; stub JitManager; guard VM/JIT identical tests under jit-only 2025-09-06 13:07:57 +09:00
4a110c1674 vm: when jit-direct-only, disable VM-side JIT manager (set None) and keep VM compiling; continue P3 guard path 2025-09-06 12:33:00 +09:00
6ec88590e7 jit: P2 shrink legacy dependencies in jit-only mode; guard legacy VM-args fallbacks with cfg(jit-direct-only); keep handle-only paths 2025-09-06 12:29:15 +09:00
f4dea3354b jit: P1 jit-direct-only feature; disable plugin-builtins branch; stub legacy VM-args TLS for JIT-only builds 2025-09-06 12:20:27 +09:00
e4c7a36e35 merge: cranelift-dev fixes (MIR return type inference, JIT return materialization, diagnostics, console bridge) 2025-09-06 12:09:04 +09:00
be8593fb02 jit/mir: fix String.len return-type inference; stabilize jit-direct returns; add CLIF/sig/call tracing; host-bridge console thunks; update AGENTS.md for Cranelift focus 2025-09-06 12:05:35 +09:00
355fcedb02 cleanup: remove accidentally added nested git repos (not submodules) 2025-09-06 11:01:30 +09:00
a2f2aaaef6 merge: bring Return materialization + JIT diag + dev scaffolds 2025-09-06 11:00:29 +09:00
da81958e2d wip: save working tree before merge 2025-09-06 11:00:15 +09:00
d631beba37 dev: add selfhosting/cranelift workspaces; jit: add return materialization, ret_slot, hostcall arity pad, and dbg imports for diagnosis 2025-09-06 10:59:33 +09:00
f6e0d5111e Phase A リファクタリング: String.length デバッグ基盤の強化
## 実装内容(振る舞い変更なし)

A-1: Hostcall シンボルの定数化
- 直書き文字列を SYM_* 定数に統一
- nyash.handle.of / nyash.string.len_h / nyash.console.birth_h

A-2: string_len ヘルパー抽出(共通化)
- src/jit/lower/core/string_len.rs 新設
- emit_len_with_fallback_{param,local_handle,literal} を移設
- 二段フォールバック(string.len_h → any.length_h)の集約

A-3: 観測の統一
- import 呼び出しトレース機能を追加(NYASH_JIT_TRACE_IMPORT=1)
- CraneliftBuilder/ObjectBuilder の emit_host_call に構造化イベント
- observe::lower_hostcall で len_h/any.length_h の追跡

## 今後の道筋(CURRENT_TASK.md に記載)
- P0: フェイルセーフ(NYASH_LEN_FORCE_BRIDGE=1)
- P1: シンボル解決の可視化
- P2: リテラル最優先の安定化
- P3: Return 材化の後方走査

バグは手強いけど、デバッグ基盤が整ったにゃ!

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 08:09:46 +09:00
8c02093cfe AOT/JIT: StringBox.length デバッグ追跡とローカル材化強化
- ops_ext: StringBox.len/lengthの結果を必ずローカルに保存
  - param/local/literal/handle.of全経路で dst があれば local_index に格納
  - Returnが確実に値を拾えるよう修正

- デバッグ計測追加:
  - NYASH_JIT_TRACE_LOWER: BoxCall処理の追跡
  - NYASH_JIT_TRACE_RET: Return時の値解決追跡
  - NYASH_JIT_TRACE_LOCAL: ローカルslot I/O追跡
  - NYASH_JIT_TRACE_LEN: string.len_h thunk実行追跡

- 診断用プローブ追加: tmp_len_stringbox_probe.nyash
- CURRENT_TASK更新: 3rdハンドオフ進捗記録

現状: lowering/Return/ローカル材化は正しく配線されているが、
hostcall実行時に0を返している疑い。シンボル解決の追跡継続中。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 07:45:20 +09:00
4c5301e700 wip(jit): AOTコア機能の継続的改善
JIT/AOTシステムのコア部分の改修を継続。
ChatGPTによる詳細な実装作業。

主な変更点:
- extern/collections.rs: 外部関数コレクション管理の改善
- lower/builder/cranelift.rs: Craneliftビルダーの最適化
- lower/core.rs: コア lowering ロジックの改修
- lower/core/ops_ext.rs: 拡張演算子のlowering処理
- lower/extern_thunks.rs: 外部関数サンクの実装改善

AOTビルドの安定性向上に向けた継続的な作業。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 06:46:04 +09:00
7d88c04c0e wip(phase15): AOT修正作業中 - Nyプラグインと標準ライブラリ実装
Phase 15のAOT/ネイティブビルド修正作業を継続中。
ChatGPTによるstd実装とプラグインシステムの改修を含む。

主な変更点:
- apps/std/: string.nyashとarray.nyashの標準ライブラリ追加
- apps/smokes/: stdライブラリのスモークテスト追加
- プラグインローダーv2の実装改修
- BoxCallのハンドル管理改善
- JIT hostcall registryの更新
- ビルドスクリプト(build_aot.sh, build_llvm.sh)の調整

まだ修正作業中のため、一部の機能は不完全な状態。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 06:24:08 +09:00
020990463d feat(papers): AI先生レビューを反映した論文改訂版
MIR13論文とNyash言語論文について、Gemini先生とCodex先生の
詳細レビューを受けて大幅改訂:

MIR13論文の改善:
- 「完全な」→「実用的な」に表現を適正化
- 57命令からの削減経緯を議論セクションに追加
- Python/Go/Rustとの絶対性能比較を追加
- BoxCallのオーバーヘッド分析を追加
- ランタイムシステムの役割を明記
- 関連研究に比較表とメッセージパッシング系譜を追加

Nyash言語論文の改善:
- マイクロベンチマーク追加(Python/Lua/Swift比較)
- HTTPサーバーベンチマーク追加
- メモリ管理モデル比較表追加
- 循環参照への対応方針(weak参照導入計画)を明記
- MIR13との相互作用を説明
- 関連研究の比較表で位置付けを明確化

また、AI先生方のレビュー記録をアーカイブに保存。
開発は2025-08-09開始、約1ヶ月での成果。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 05:48:56 +09:00
b68b4a4c89 docs: codex-keep-two無限ループ暴走問題の調査記録
ChatGPTのstring_smoke.nyash実行が無限ループ(CPU 99.9%)に
陥る問題を調査。原因はarchive/codex-keep-two-loop.shの
while trueによる無限監視ループだったことを確認。

現在は安全な単発実行版(codex-keep-two.sh)に置き換え済み。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 19:06:08 +09:00
e323120c59 phase15: update CLAUDE.md with Phase 15 enhancements from AGENTS.md
- Add JIT Self-Host Quickstart section for Phase 15
- Include important flags reference (plugins, parsers, debugging)
- Add Codex async workflow documentation for parallel tasks
- Update test execution with Phase 15 smoke tests
- Improve build time notes (JIT vs LLVM)
- Align with current Phase 15 progress and tooling

🎉 Bootstrap (c0→c1→c1') test confirmed working\!

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 15:18:13 +09:00
a2b89fae7e phase15: update CLAUDE.md and sync with current progress
- Update phase indicator to Phase 15 (Self-Hosting)
- Update documentation links to Phase 15 resources
- Reflect completion of R1-R5 tasks and ongoing work
- Fix CURRENT_TASK.md location to root directory

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 13:29:17 +09:00
e05a385524 phase15: add Cranelift AOT design, LinkerBox spec, and smoke skeleton docs (handoff) 2025-09-05 05:49:26 +09:00
19f775c34d feat(phase12.7): 糖衣構文Phase 12.7-B完了 + 自律型AI開発システム制御機能
🚀 Phase 12.7-B: ChatGPT5糖衣構文(基本実装完了)
- パイプライン演算子(|>)実装
- セーフアクセス(?.)とデフォルト値(??)実装
- sugar gateによる段階的有効化機能
- 糖衣構文テストスイート追加

🤖 自律型AI開発システム改善
- codex-async-notify.sh: タスク制御指示追加
  - "下の箱を積み過ぎないように先に進んでください"
  - "フェーズが終わったと判断したら止まってください"
- プロセス数表示機能の改善(count_running_codex_display)
- 自動停止機能が正常動作(Phase 12.7-C前で停止確認)

📚 ドキュメント更新
- Paper 13: 自律型AI協調開発システムの革新性を文書化
- ANCP可逆マッピング仕様追加
- nyfmt PoC(フォーマッター)計画追加

🧱 箱理論の体現
- 74k行のコードベース(Phase 15で20k行を目指す)
- ANCP適用で最終的に6k行相当を狙う
- 世界最小の実用コンパイラへの道

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 05:16:21 +09:00
c45866073d cleanup: 不要なレガシーファイルを削除
- src/interpreter/method_dispatch.rs.legacy: 旧実装を削除
- tests/e2e_plugin_net.rs: archiveディレクトリに移動済み

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 20:16:48 +09:00
9a1db62238 feat: プラグインFFIとTypeBox/TLVテストの拡張
- plugin_ffi_common: デバッグ情報とコメント追加
- typebox_tlv_diff: 差分テストの詳細化

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 20:16:34 +09:00
c7a7ac61b7 test: E2Eテストの小規模な改善とクリーンアップ
- 各プラグインテストにTODOコメント追加
- integration_testsのasync関連調整
- MIRフェーズテストのコメント更新

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 20:16:13 +09:00
d601324b4e docs(p2p): P2PBoxにTODOコメントを追加
- 将来的な機能拡張の計画を記載

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 20:15:50 +09:00
20428dc6e7 refactor(plugin): プラグインローダーv2のコード整理
- 重複コードの削除
- エラーハンドリングの簡素化
- デバッグログの整理

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 20:15:32 +09:00
9f32b47041 fix(vm): VMリファクタリング - 小規模な改善
- execute_module_old_movedメソッドのプレースホルダー調整
- コメント整理とコード可読性向上

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 20:15:20 +09:00
c5637b4de5 docs: AGENTS.mdにCodex非同期ワークフローの実運用メモを追加
- codex-async-notify.shとcodex-keep-two.shの使い方
- プロセス制御と上限設定の詳細
- tmux通知の4行フォーマット説明
- 日本語メモで実際の運用方法を記載

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 20:15:07 +09:00
0ed3c6a919 refactor(mir): MIR builder.rsのサブモジュール分割完了 - ChatGPT5による自動リファクタリング成功
- builder.rsを12個の機能別モジュールに分割
  - decls.rs: 宣言処理
  - exprs*.rs: 式処理(call, lambda, peek, qmark, include)
  - fields.rs: フィールドアクセス
  - stmts.rs: 文処理
  - utils.rs: 共通ユーティリティ
- セルフホスティング前の糖衣構文圧縮フェーズ開始
- CURRENT_TASK.md: Phase 12.7進捗更新

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 20:14:26 +09:00
13907292e9 feat(tools): 自律型AI開発システムの実装完了 - Codex非同期実行とプロセス制御
- codex-async-notify.sh: tmux paste-buffer方式で安定化
- codex-keep-two.sh: 正確なプロセスカウント実装
- デフォルト2プロセス制限で暴走防止
- 日本語プロンプト「まだタスクがあれば次のタスクお願いします」で無限ループ実現
- count_running_codex_display()でcomm+argsによる正確な検出

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 20:14:00 +09:00
2ab30ee5d0 feat: Codex完了通知に実行中プロセス数を表示
- 通知メッセージに '(実行中: N)' を追加
- 現在のcodexプロセス数が一目で分かるように改善

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 15:49:45 +09:00
1e43063904 fix: Codex並列実行数をデフォルト2個に制限
- CODEX_MAX_CONCURRENTのデフォルト値を0(無制限)から2に変更
- 暴走防止のためのセーフガード

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 15:39:04 +09:00