Got the new #Clojure interpreter installed in the LispyTunes #chiptune editor!
By using static analysis, it increased performance by 3000x. No, that's not a typo.
Up until now, I'd been getting by using a simple tree-walk interpreter that was only designed for teaching how to make a Lisp, and never meant for use in production.
What this means, practically, is that now the composer will be able to implement many functions in the editor which would have been impractical, for example, a custom multiplexing function which will take 2 music parts and merge them using an arbitrary strategy, or fun stuff like randomizing music using Markov chains. I've done things like that before, but it always involved implementing it in JavaScript and providing it as a built-in function in the project code. Now it will bring that possibility to the user.
LispyTunes editor: https://codeberg.org/bobbicodes/lispytunes-squint
Lisp interpreter project: https://codeberg.org/bobbicodes/nomad-vite