"m...@mikesolomon.org" <m...@mikesolomon.org> writes:

> On 30 sept. 2012, at 14:16, Janek Warchoł <janek.lilyp...@gmail.com> wrote:
>
>> Hi,
>> 
>> interesting discussion, i learn a lot.
>> 
>> On Sun, Sep 30, 2012 at 11:39 AM, David Kastrup <d...@gnu.org> wrote:
>>> Basically, a grob says "I want to have this and that information for
>>> making my positioning" and LilyPond says "You can't get it right now".
>>> Then the grob says "ok, I'll do a tentative positioning", and LilyPond
>>> will come back with more information later and ask again.
>
> Just to clarify things for anyone following the thread: this is not
> currently how LilyPond works, but I'm assuming what you're proposing
> is a suggestion for a model.
>
> It's an interesting idea for grobs to ping a sort of central hive
> ("LilyPond" in your text above) to know what information they can
> access and when.  This'd require a major change to the architecture -
> currently, grobs specify in their request whether they want tentative
> or permanent information via the use of functions like
> Grob::pure_relative_y_coordinate versus Grob::relative_coordinate.
> I'm worried about having a sort of centralized brain that tells grobs
> what they can and can't know - sounds Kafka-esque.  I like the
> decentralized model where grobs, via their callbacks, self-police for
> what information they need from other grobs and when it's ok to get
> it.

I have my doubts that you can do a sensible circular dependency
resolution strategy in a purely local manner.  In fact, the current
pure/unpure distinction is based on before/after linebreaking, a
centralized operation.

-- 
David Kastrup

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to