Lyric
A statically typed application language with a bytecode VM — standalone, and embeddable in a host with a capability-based sandbox.
What changed in v3.2.0 — 2026-08-23
Added
A host can read and write a module's globals:
LoadedProgram.GlobalCount,ReadGlobal(int)andWriteGlobal(int, LyrValue).For a TOOL. A program reaches its own globals with an instruction and needs none of this; a debugger's Globals scope, or an editor showing a running game what it is holding, had no way in at all. The names and types were already there —
GlobalNamesfrom the debug section,Globalsfor the types,FieldNamesfor what is inside an object — so this is the one piece that was missing.Nothing checks the type on write. A slot is a bit pattern and the program reads it as whatever its instructions expect, so writing a float where an integer stands produces a number nobody can explain rather than an error.
Module.Globalscarries the types; a tool is expected to have looked.