Skip to content

v0.4.4

Choose a tag to compare

@mlaass mlaass released this 06 Jul 12:44

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/key
    pattern 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.