"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