Koru v0.1.4

· 2 min read

v0.1.4 is out. A focused release built on top of v0.1.3’s infrastructure — tightening phantom type semantics, expanding the kernel stdlib, and crossing 506 passing regression tests.

npm install -g @korulang/koru@0.1.4


v0.1.4

Phantom Types

  • Per-member ! discharge markers in union types. [!opened|!closing] now means each member carries its own obligation discharge — ! attaches to the state it precedes, not the whole union. [!opened|closing] is a valid mixed union: discharge opened, just accept closing. The old union-level ! prefix has been removed entirely, eliminating a class of silent semantic bugs. (e1c48bb)

Kernel & Standard Library

Koru’s kernel is a high-performance computation kernel — think numerical/SIMD workloads, not OS kernel.

  • kernel.self comptime transform for per-element iteration over kernel data (373bd31)
  • pairwise outer-range support with ForeachNode fusion (b82e8d0)
  • noalias inline fn wrapper for pairwise codegen — better aliasing guarantees for the optimizer (1e811c0)
  • Library-owned loops are now tappable from user code (cfe6427)
  • :f format specifier added; time stdlib simplified (d1cbf60)
  • Bare expressions auto-wrapped in print_ln (dbe8631)

Compiler

  • Optional ?Expression params in comptime transforms (3a5abab)

Fixes

  • All-optional catch-all branch in continuation emitter (3be1495)
  • parseEventInvocation reused for source block arg parsing (a80ed2c)

506 regression tests passing — all-time high.


Koru is an event-continuation language. Read the source, or start with Introducing Koru.