axiom
axiom copied to clipboard
Maxim code upgrade infrastructure
Since it is useful to be able to modify Maxim function names and signatures, it should actually be possible to setup some sort of upgrade system for code that automatically applies changes to get the code working as expected.
E.g. in the recent case of the adsr
function's return type being changed from num
to (num, num)
, we could automatically modify code that uses it:
out:num = adsr(trig:num, a:num, d:num, s:num, r:num)
# becomes
(out:num, _) = adsr(trig:num, a:num, d:num, s:num, r:num)
And similar modifications could be made to function parameters (modifying them to pass in some default value).
Of course, this is would be a rather complicated undertaking, and since we're still in version 0.x I'm not too worried about it yet.