Repository navigation
Aether 0.869.0
·
93 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
What's new in 0.869.0
Added
contrib.host.pythongains the #904 bidirectional tier. A persistent VM
the host owns (python.vm_new), Aether@c_callbackfunctions the script
calls (python.vm_register;"app.math.add"makes the modulesappand
app.math), injected globals, and typed values both ways (vm_result_*,
arg_*,push_*,raise_error), as Lua, Duktape, QuickJS and Tcl have.
Python adds two tags:PY_TBYTES, which crosses as astd.byteshandle with
embedded zeros intact and is never read as text, andPY_TFLOAT.Truetags
PY_TBOOL, not an int; an int past 64 bits tagsPY_TOTHERand reads 0,
never a wrapped value.vm_evalcompiles an expression, or failing that
statements, and runs the code once. A callback can evaluate on its own VM.
vm_set_instruction_limitis aPyEval_SetTracehook on the outermost eval,
re-raised at every later event so a script cannot catch it and carry on; it
does not bound a loop inside C. Every VM shares the one interpreter (and
sys.modules), and every call takes the GIL, so any thread can use a VM. A
host function that outlives its VM raises rather than reaching freed memory.
python.finalizenow restores the main thread state beforePy_Finalize,
never finalizes an interpreter it did not start, and a laterinitregisters
the shared-map helpers afresh.
Downloads
| Platform | Architecture | File | Notes |
|---|---|---|---|
| Linux | x86_64 | aether-0.869.0-linux-x86_64.tar.gz |
|
| macOS | x86_64 | aether-0.869.0-macos-x86_64.tar.gz |
|
| macOS | arm64 | aether-0.869.0-macos-arm64.tar.gz |
|
| Windows | x86_64 | aether-0.869.0-windows-x86_64.zip |
|
| FreeBSD | x86_64 | aether-0.869.0-freebsd-x86_64.tar.gz |
cross-built, not tested on FreeBSD |
Quick install
Linux / macOS
# Download the archive for your platform, then:
tar -xzf aether-0.869.0-<platform>.tar.gz
export PATH="$PWD/bin:$PATH"
ae versionWindows
Extract the .zip archive, then run bin\ae.exe version from the extracted folder.
Documentation: https://github.com/aether-lang-dev/aether#readme