Updates:
Labels: -Bounty
Comment #5 on issue 2072 by [email protected]: Add proper complex variables to
Lilypond
http://code.google.com/p/lilypond/issues/detail?id=2072
Ok, I have created some sketch implementation for this, basically allowing
the function stored inside of a music function and accessed by
ly:music-function-extract to be a procedure with setter. There are
syntactical ambiguities with octave checks, with \tempo, and a timing
problem with music in output definitions. But the main stumbling block is
that using such a construct means that it must be strongly typed. It is
possible to have a vector of music variables, but you need your own
defining command with it, and you can't just replace _some_ of those music
variables with another vector or data structure, so things like
movement2 in parallel to movement3a and movement3b don't work out. So this
construct will be reasonably useful only once we can get rid of rigid
typing for music functions: if the syntactic class of a music function does
not need to get hardwired into the function, and Scheme, music and event
functions are all identical to the parser, this concept has a reasonable
chance to work in a reasonably natural manner.
That's a long-term perspective I _am_ working on in the parser, but it is
not going to be finished by tomorrow or next week.