On Tue 13 Dec 2011 17:54, David Kastrup <d...@gnu.org> 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/