- 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>
21 lines
547 B
Plaintext
21 lines
547 B
Plaintext
// Python math.sqrt demo via plugin (autodecode on)
|
|
// @env NYASH_PLUGIN_ONLY=1
|
|
// @env NYASH_PY_AUTODECODE=1
|
|
// @env NYASH_DEBUG_PLUGIN=1
|
|
// Build:
|
|
// cargo build --release && (cd plugins/nyash-python-plugin && cargo build --release)
|
|
// Run:
|
|
// ./target/release/nyash --backend vm examples/py_math_sqrt_demo.nyash
|
|
|
|
static box Main {
|
|
main() {
|
|
local py, math, sqrt, r
|
|
py = new PyRuntimeBox()
|
|
math = py.import("math")
|
|
sqrt = math.getattr("sqrt")
|
|
r = sqrt.call(9)
|
|
me.console.println(r) // expects 3.0
|
|
return 0
|
|
}
|
|
}
|