GNU bug report logs -
#10132
Help lilypond interleave scheme and lilypond code in guile 2.x
Previous Next
Reported by: Andy Wingo <wingo <at> pobox.com>
Date: Fri, 25 Nov 2011 11:18:02 UTC
Severity: normal
Done: Andy Wingo <wingo <at> pobox.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#10132: Help lilypond interleave scheme and lilypond code in guile 2.x
which was filed against the guile package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 10132 <at> debbugs.gnu.org.
--
10132: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10132
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi Ian and David,
On Fri 25 Nov 2011 12:15, Andy Wingo <wingo <at> pobox.com> writes:
> On Fri 25 Nov 2011 11:37, David Kastrup <dak <at> gnu.org> writes:
>
>> 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.
2.0 now has the-environment and local-eval again (though not
procedure-environment). Import the (ice-9 local-eval) module to have
access to these forms. Hopefully at this point we have solved this
issue; please give it a try, and open a new bug if something comes up.
Cheers,
Andy
--
http://wingolog.org/
[Message part 3 (message/rfc822, inline)]
Hi David,
This bug was forked from bug 10099, where David has a longer
explanation.
On Fri 25 Nov 2011 11:37, David Kastrup <dak <at> 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/
This bug report was last modified 13 years and 177 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.