Releases: KHN190/Abrase
Releases · KHN190/Abrase
v0.2.0
Abrase v0.2.0
Highlights
- Transpile to Rust.
abrase transpile <file.abe>turns any cart into standalone Rust (or--libto embed in your own host). Effectful carts run on an embedded VM, pure hot functions compile to native — measured ~10–15× CPython on compute. Close to JIT. - Web playground. Abrase runs in the browser via WebAssembly.
- Optimizations by default. Drop elision, inlining, copy coalescing/propagation, typed loads, and tail-resumptive handlers ship enabled; the interpreter now tracks ≈CPython ±30%, 2–4× faster on short tasks.
- Source-level debugging. Per-instruction line tables and
src_filein.pk; richer execution traces.
Notes
- Polka bytecode ISA unchanged —
.pkcartridges remain compatible. - Transpiler output is a trusted-build target; link against the
myriadruntime to run it.
v0.1.2
What's Changed
- Release v0.1.0 by @KHN190 in #10
- Support 32-bit by @KHN190 in #11
- Add Export Section in Polka. by @KHN190 in #12
- Myriad resolve export functions. by @KHN190 in #13
- Change Native Fn Import Signature. by @KHN190 in #14
- Add byte array. by @KHN190 in #15
- v0.1.1-alpha.1 by @KHN190 in #16
Full Changelog: v0.1.1...v0.1.2
v0.1.1-alpha.1
Pre-release for experimental / posara testing.
Install:
cargo install abrase-cli --version 0.1.1-alpha.1(pre-release requires explicit --version.)
Changes since 0.1.0
.clone()now compiles toOpCode::Copy(handle rc-inc / scalar bit-copy), works on any type.- Effect handlers documented as frame-scoped: a handler cannot outlive its body; cross-frame side effects belong to host devices (wiki 04 + Runtime-Spec §3.1).
- Multi-module span overwrite fix; trace mode; freed cell-buffer pooling; perf fixes.
- examples regression tests; parser / mem-safety fuzz.
Known limitations
- String interpolation: simple paths only (intentional).
- Move-type cross-region copy: no deep-copy path (intentional).
- Nested handlers, multi-shot resume: not implemented.
v0.1.0
What's Changed
- Myriad Architecture Change by @KHN190 in #1
- Pre-Release by @KHN190 in #2
- Update README. by @KHN190 in #3
- Update Readme about Installation by @KHN190 in #4
- Update README. by @KHN190 in #5
- Merge Dev Branch by @KHN190 in #6
- Add Cart (.pk) Export by @KHN190 in #8
Full Changelog: https://github.com/KHN190/Abrase/commits/v0.1.0
v0.1.1
Feature: destructuring. Add closure tests. (#9) * Update readme. * Pre-release. * Version number. * Github workflow & release. * Crates rename. Github release. * Update version badge. * Update ci. * Update readme. * Rename myriad → myriad-rs for crates.io publish. * Cross-compile x86_64-darwin from macos-latest. * Update readme for install. * Update wiki & ensure leak free. * Move env at last-use instead of Copy + scope-end Drop. * Update readme. (#4) * Refactor interpreter rc helpers; flatten device port match.. * Update CI. Add codecov. * Add unit tests for snapshot.. * Simplify Myriad runtime. Use wasm-style imports. * Optimize runtime perf. * Optimize str op. * Align region impl with wiki. * Optimize native fn. * Split ci. * Update README. Add Installation. (#5) * Pre-release. * Version number. * Github workflow & release. * Crates rename. Github release. * Update version badge. * Update ci. * Update readme. * Update readme. * Rename myriad → myriad-rs for crates.io publish. * Readme * Cross-compile x86_64-darwin from macos-latest. * Update readme. * Update readme for install. * Allow mut capture in move closures.. * Minify myriad core design. Strip clock/random from myriad core. * Feature: Export cart. * Add tests. Remove dead code. * Upload codecov in ci. * Closure capture/call fixes, nullary ||, destructure RFC, reject inline nested handle. * Feature: destructuring. * Update readme.
v0.1.0-alpha.1
What's Changed
New Contributors
Full Changelog: https://github.com/KHN190/Abrase/commits/v0.1.0-alpha.1