All posts
v0.4.4
v0.4.4
Added
- Builtin overload resolution. Builtins and user-defined functions can now be overloaded across multiple forms; operators participate as named builtins in the same resolution pass.
- Scale/key quantization with user-defined scales. New
scale/keypattern support plus a documented reference (pattern/scale-key). - Parameter type annotations. Type names are PascalCase —
Signal,Number,Pattern,Record,Array,String,Function,Stream— parsed contextually, so they remain usable as identifiers. - Windows / MSVC build support. Source-level readiness for the Cedar engine and the Akkado/nkido CLI tools (ctrl-c handling, binary stdio, UTF-8 init, app manifests).
- Session state save/restore round-trip. A state-init codec on the web side serializes and restores live DSP state across reloads.
- EBNF grammar references for the core language, mini-notation, and
chord symbols (
docs/grammar/). - Top-level MIT LICENSE.
Changed
- Audio arena memory is reclaimed during GC. Long live-coding sessions no longer grow the audio arena without bound; untouched buffers are reclaimed on sweep.
Fixed
- Hot-swapped patterns join in phase. Pattern alternation position is now derived from the global clock, so a hot-swap keeps the new pattern aligned instead of restarting its cycle.