Repository navigation
Ryn 0.1.5
Ryn 0.1.5 brings deterministic ownership to the native backend and a verified native compiler bootstrap. No garbage collector is introduced.
Native compiler and ownership
- Deterministically release String, Vec, Map, Option, Result and owning enum payloads, including temporaries, replacements, loop exits and early propagation.
- Clone nested enum payloads and unborrowed reference fields independently; invalidate moved owners to prevent repeated frees.
- Verify native seed → stage2 → stage3 bootstrap under a 1 GiB address limit, with byte-identical stage2 and stage3 binaries.
- Add live allocation/byte accounting and regressions for double-free, nested ownership and 30 million short-lived allocations.
Compiler and language improvements
- Shared Ryn frontend and middle end, with Rust analyzer parity checks.
- Updated output functions, compile-time constants/evaluation, metadata and derive support, nested patterns, generic extensions, C ABI handling and std::arena.
- 571-program language regression corpus, plus native ownership and compiler project parity tests.
Freestanding float text and math
- The native backend embeds the typed IR of the Ryn float runtime, so shortest round-tripping formatting and direct-width parsing (binary32 and binary64) need no libc:
f32parsing no longer rounds throughf64. std::mathruns without libm on SSE2 and x87: sqrt, rounding, logarithms, trigonometry withfprem1reduction, andpowwith full special-case classification.- The 17 known freestanding float-text declines of earlier notes are resolved: the native sweep is 424 passing cases, 0 declined.
Downloads
Linux x86_64 and Windows x86_64 archives are accompanied by SHA-256 checksums, plus a Linux rync-0.1.5-linux-x86_64 archive with the self-hosted compiler, its Ryn sources, the standard library and the native bootstrap script. The standard ryn executable uses the Rust/Cranelift backend.
Validation and limits
- Full Linux Cargo validation: 382 passing tests with a 16 MiB test-thread stack.
- Native sweep: 424 passing cases, 0 declined; the 17 former float declines are fixed.
- Native bootstrap peak RSS: 403528 KiB; the native stage2/stage3 fixpoint is byte-identical.
- Native/Rust stress program outputs match. The Rust-built full compiler comparison exceeded the same 1 GiB limit, so no completed Rust/native full-compiler binary comparison is claimed.
rync's own frontend pipeline still passes 303 of 424 corpus programs directly from source; the remaining cases are compile-time evaluation, compile-time function calls, metaprogramming, some pattern forms, module path lookup and C imports.
Exact measurements and reproduction commands: https://github.com/rynlanguage/Ryn/blob/v0.1.5/docs/native-ownership-validation.md and https://github.com/rynlanguage/Ryn/blob/v0.1.5/docs/native-float-validation.md