[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Lilypond-auto] Issue 4085 in lilypond: Redo the whole pure/unpure folde
From: |
lilypond |
Subject: |
[Lilypond-auto] Issue 4085 in lilypond: Redo the whole pure/unpure folderol/caching |
Date: |
Sun, 31 Aug 2014 10:15:43 +0000 |
Status: Accepted
Owner: ----
Labels: Type-Maintainability
New issue 4085 by address@hidden: Redo the whole pure/unpure folderol/caching
https://code.google.com/p/lilypond/issues/detail?id=4085
The whole pure/unpure calculation and its effects on cross-staff and
whatever else is pretty shaky.
Here is a sketch of how it may be possible to redo a considerable part of
the whole: start and end, the indexes into line-breaking for the "pure"
calculations are no longer passed as arguments to callbacks. Instead they
are available on demand by calling a parameter-like function (see srfi-39
for a description of parameter). The actual parameter call would be
additionally rigged in order to record whether the line ends have been
queried and what value resulted. The set of queried parameters as well as
the resulting value will be cached in something more general than an
unpure/pure container so that any query with the same settings will be
answered without repeating the calculation.
In that manner, the effort for cross-staff-like redoings of calculations of
usually-but-not-quite-line-break-independent properties would be reduced to
the necessary level. Also users would not need to be aware of the details
of call chain purities and stuff: the calculations would be cached and
redone based on the amount of settings that actually were involved.
Also "pure" calculations would be cached as well: I assume that the amount
of stored parameter/value pairings would be limited.
At the current point of time, interactions between properties tend to fall
apart and need fixing at the rate they are added: that does not bode well
for making LilyPond extensible in that area. Tracking the dependencies
dynamically would make it a lot safer to add new stuff without breaking
existing use.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Lilypond-auto] Issue 4085 in lilypond: Redo the whole pure/unpure folderol/caching,
lilypond <=