Skip to content

Releases: KHN190/Abrase

v0.2.0

14 Jun 13:10

Choose a tag to compare

Abrase v0.2.0

Highlights

  • Transpile to Rust. abrase transpile <file.abe> turns any cart into standalone Rust (or --lib to 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_file in .pk; richer execution traces.

Notes

  • Polka bytecode ISA unchanged — .pk cartridges remain compatible.
  • Transpiler output is a trusted-build target; link against the myriad runtime to run it.

v0.1.2

03 Jun 14:34

Choose a tag to compare

What's Changed

Full Changelog: v0.1.1...v0.1.2

v0.1.1-alpha.1

31 May 09:05

Choose a tag to compare

v0.1.1-alpha.1 Pre-release
Pre-release

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 to OpCode::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

22 May 16:08

Choose a tag to compare

What's Changed

Full Changelog: https://github.com/KHN190/Abrase/commits/v0.1.0

v0.1.1

22 May 16:14
46d97d7

Choose a tag to compare

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

19 May 07:53

Choose a tag to compare

v0.1.0-alpha.1 Pre-release
Pre-release

What's Changed

  • Myriad Architecture Change by @KHN190 in #1

New Contributors

  • @KHN190 made their first contribution in #1

Full Changelog: https://github.com/KHN190/Abrase/commits/v0.1.0-alpha.1