David Kastrup <[email protected]> writes:

> David Kastrup <[email protected]> writes:
>
>> Ian Hulin <[email protected]> writes:
>>
>>> Hi all,
>>>
>>> The latest git now dies on my V2 Guile system with
>>> .../lily/parse-scm.cc:59:64: error 'scm_local_eval' was not declared in
>>> this scope.
>>
>> Related.  #{ ... #} is evaluated in the lexical context of the
>> surrounding function.  Is there anything that made Guile a flexible
>> tool left in Guile V2?  "compilation" gives us all the disadvantages
>> and rigidity of C at a fraction of its speed, it seems.
>>
>> I'll have to see whether I can come up with something working even
>> half as nicely.  Probably will have to be rather close to the kludge
>> we had before.
>
> Ok, I have a scheme for doing this in a likely V2-compatible way.  Not
> really pretty, though.  I just compile all # and $ expressions in #{ #}
> into anonymous lambda functions at compile time of #{ ... #}, and when
> the content of #{ ... #} is actually parsed for real, I call the lambda
> functions in sequence for getting the corresponding values.  There may
> be a possible alternative implementation using continuations, but I have
> my doubts about the efficiency or even viability of doing this with V2.
>
> But it does not make sense to do this change on current master before
> some additional changes now in countdown are in.  So you'll be a few
> more days without working setup.  Sorry for that.

<URL:http://code.google.com/p/lilypond/issues/detail?id=2043>

Accompanying patch is relative to staging currently.  This should get
you going again.  I don't particularly like this approach, and it is
more complex and error-prone, and likely slower than the original
version.  But without access to procedure-environments, I see no simpler
way out here.

-- 
David Kastrup


_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to