On Tue 13 Dec 2011 17:54, David Kastrup <[email protected]> writes:
>> Am I missing something?
>
> Performance, space, simplicity, robustness. Compiling five closures
> that do nothing except accessing a single variable each is a bit
> wasteful.
Sure.
Let me see if I finally understand the issue here:
You have a function:
(define-music-function (foo bar)
(ly:something? bar)
#{ /la /la /la
$bar $bar $bar
#(scheme-expression!)
/ok }#)
Before, you could turn the #{}# into a lambda and get at the $vars and
evaluate the #(expressions) in the procedure-environment of the lambda.
Now, you have to munge around in the expression and, in this case,
produce 4 closures: (lambda () bar), 3 times, and (lambda ()
(scheme-expression!)).
Is that right?
Andy
--
http://wingolog.org/