[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Project - Eliminating grob parents and outside-staff-priority
From: |
Han-Wen Nienhuys |
Subject: |
Re: Project - Eliminating grob parents and outside-staff-priority |
Date: |
Sat, 29 Sep 2012 10:59:53 +0200 |
On Wed, Sep 26, 2012 at 10:40 PM, David Kastrup <address@hidden> wrote:
> Han-Wen Nienhuys <address@hidden> writes:
>
>> In order to do cache invalidation, you will have to construct the
>> reverse graph. If A.x depends on B.y, now A points to B. For proper
>> cache invalidation, if B.y changes, then A.x becomes invalid. This
>> means that A has to store a back-reference to B. Hence all pointers
>> have to be stored both ways (including inverting 1-N relations into
>> N-1 relations), and the both-way links have to be rewritten correctly
>> during line breaking.
>
> You can assign a generational count to properties. If the generational
> count of any dependency is higher than that of the dependent property,
> it needs to get regenerated. As long as the dependencies don't get lost
> (and we use arbitrary size integers, resetting for each session), this
> should be pretty straightforward and not require backwards links. It
> "just" requires double-checking your dependencies for change.
But since the dependencies are also properties that could be
invalidated, you'd have to recurse , so each property access would
potentially expand into an almost infinite number of get_property
calls.
I think it is a much clearer abstraction to decide that each property
can only be evaluated once, and that everything should be driven by
callbacks. In fact, one thing I would suggest looking at is removing
{before,after}_line_breaking which breaks this model somewhat.
--
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen
Re: Project - Eliminating grob parents and outside-staff-priority, Joe Neeman, 2012/09/26
- Re: Project - Eliminating grob parents and outside-staff-priority, address@hidden, 2012/09/26
- Re: Project - Eliminating grob parents and outside-staff-priority, Keith OHara, 2012/09/29
- Re: Project - Eliminating grob parents and outside-staff-priority, address@hidden, 2012/09/29
- Re: Project - Eliminating grob parents and outside-staff-priority, Keith OHara, 2012/09/29
- Re: Project - Eliminating grob parents and outside-staff-priority, address@hidden, 2012/09/29
- Re: Project - Eliminating grob parents and outside-staff-priority, address@hidden, 2012/09/30
- Re: Project - Eliminating grob parents and outside-staff-priority, David Kastrup, 2012/09/30
- Re: Project - Eliminating grob parents and outside-staff-priority, David Kastrup, 2012/09/30
- Re: Project - Eliminating grob parents and outside-staff-priority, address@hidden, 2012/09/30