Hi David, This bug was forked from bug 10099, where David has a longer explanation.
On Fri 25 Nov 2011 11:37, David Kastrup <d...@gnu.org> writes: > So much for that. The next quote is for a totally different issue, the > availability of local environments and evaluation in them. Lilypond has > an input syntax of its own, and it allows interspersing Scheme code. $ > or # switches to the Scheme interpreter (for one sexp) when in Lilypond > syntax, and #{ ... #} switches to Lilypond inside. Aaah. Thanks for this explanation; I had never seen this code before. Do you use a read-hash-extend reader for #{#} ? What do you use to parse the lilypond code? What does it parse to? I agree that the-environment and local-eval were nice solutions for this. In Guile 2.0 it's not as nice for you, because if you implement another evaluator, you don't get backtraces that are as nice. > As I said: for this particular application, I have coded a rather > inelegant and resource-grabbing workaround that really is not going to > help performance since the intertwined Lilypond interpreter does not > benefit from precompilation of mostly trivial lambda functions when the > actual procedure-environment is unlikely to ever reference more than > five variables. Understood. Let's work to find a good solution in 2.0. Andy -- http://wingolog.org/