Major Changes in mimium v4#

Breaking Changes#

  • Slider! has been replaced with Control!. Control! is a generic function. If you pass a record or tuple as the initial value, multiple sliders are grouped together. Minimum and maximum values are inferred automatically.
  • Probe! is now generic as well.
  • lift_f has been replaced with a generic lift function. Arrays and records can now be lifted too.
  • length_array has been replaced with len.
  • Sampler_mono now returns `{player:(float)->float,length:float}

New Features / Improvements#

  • Introduced module syntax and rewrote the standard libraries to follow it (#180). include is still available, but it is no longer recommended going forward.
  • Introduced the WASM backend and dynamic plugin loading (#185).
  • Introduced generics (parametric polymorphism) (#188).
  • Introduced basic operations and auto expansion between tuples (#187). For tuples made of numeric values, you can use standard arithmetic operators to perform element-wise computation.
  • Introduced variant types (ADT) and type aliases (#183, #184).
  • Added OSC control support for GUI sliders (#189).
  • Added Signature Help and Completion Provider support to the Language Server (#190).
  • Added a pattern library that includes a mini-notation subset interpreter based on parser combinators (examples/uzulang.mmm).
  • Improved WASM backend hot swapping so global-context evaluation does not block audio.
  • Improved macro execution performance by running macros on the VM.

Bug Fixes#

  • Fixed an issue on Windows where file change event watching during live coding did not work correctly.
  • Fixed glitch noise when delay time is modulated.
(c) mimium development community(2026)