https://codereview.appspot.com/244840043/diff/80001/Documentation/changes.tely File Documentation/changes.tely (right):
https://codereview.appspot.com/244840043/diff/80001/Documentation/changes.tely#newcode68 Documentation/changes.tely:68: as if they were proper Scheme functions. Argument checking will On 2015/06/07 22:49:05, Keith wrote:
On 2015/06/07 22:16:00, Keith wrote: > Skip "as if they were.." if they really are proper Scheme functions.
I guess the result of (define-music-function ... ) with all its type-checking and references to the source line-numbers
is
something more than a simple Scheme function, so I see why you say
"as if they
were"
Well, when called from Scheme there is not much in the line of "references to the source line-numbers". The result of define-music-function would now meet the predicate procedure?, had procedure-properties so it is sort of a function. But it is actually a GUILE data structure which has additional function-call semantics. And calling procedure-environment on it fails (no idea how this would behave in GUILEĀ 2 though: it seems like allowing capture of a procedure environment could be an interesting extension). The C++ equivalent would be something like being derived from a function class (actual C++ functions are not of a type that can be used as base class but there are some comparable constructs). Maybe I should not use "proper" but "genuine" here. I don't think GUILE has an established term for this we could use. https://codereview.appspot.com/244840043/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel