Files
hakorune/examples/py_callKwR_ok_demo.nyash
Moe Charm 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

23 lines
635 B
Plaintext

// Python callKwR OK demo (returns Result.Ok(value))
// @env NYASH_PLUGIN_ONLY=1
// @env NYASH_PY_AUTODECODE=1
// Run:
// ./target/release/nyash --backend vm examples/py_callKwR_ok_demo.nyash
static box Main {
main() {
local py, bi, dictf, r
py = new PyRuntimeBox()
bi = py.import("builtins")
dictf = bi.getattr("dict")
// dict(a=1, b=2) => {'a': 1, 'b': 2}
r = dictf.callKwR("a", 1, "b", 2)
me.console.println(r) // expect Ok(PyObjectBox(...))
// For readability, also show string form via .str()
local s
s = dictf.callKw("a", 1, "b", 2).str()
me.console.println(s)
return 0
}
}