Skip to content

v1.0.18 — JIT no longer panics, it just vibes

Choose a tag to compare

@murphsicles murphsicles released this 21 May 00:30
· 11 commits to main since this release

🛠️ v1.0.18 — The Stability Release

The Problem

The JIT had a personality disorder. It would happily generate 3,646 lines of flawless LLVM IR, pat itself on the back, and then immediately segfault when trying to execute anything with a closure, a function pointer, or an original thought.

The Fix

Two changes. No more panic.

Before After
parse_zeta().unwrap() — crash on bad input match with helpful error message
finalize_and_jit().unwrap() — segfault on complex code match with graceful skip + report

The compiler now handles JIT failure like an adult. It prints what it can, skips what it cant, and keeps its dignity intact.

What This Means

  • Test files with closures now compile to LLVM IR successfully (even if JIT skips execution)
  • No more core dumps when compiling complex Zeta source
  • The nour test suite compiles clean on every module

Patch Details

  • src/main.z: replaced .unwrap() with match arms on both parse_zeta and finalize_and_jit
  • Bootstrap compiler updated on the bootstrap branch
  • Zeta source merged to main at cd021424

This release contains 0% segfaults, 100% graceful degradation.