Lyric v2.14.0

Lyric

A statically typed application language with a bytecode VM — standalone, and embeddable in a host with a capability-based sandbox.

What changed in v2.14.0 — 2026-08-22

The second link of the patch train. std.io.file had three conventions for "it did not work", and one of them could not be told from success.

Added

The rule, written down

Two shapes, and each says what it is for:

A predicate (exists, isFile, isDirectory) answers bool as well, and there false is an answer rather than a failure.

What none of them carries is a REASON: a missing file and a permission denied look the same. That gap is real and left open deliberately — carrying reasons means an error type and a decision about throws, which is the larger question this release deliberately did not answer.

The full changelog →