Wed Feb 20 09:03:35 EST 2019
Event driven systems and smart updates are a central problem to
everything I do. Get a better handle on it.
There is a constant tension between two viewpoints:
- push: change a value and propagate upward
- pull: recompute the entire data structure
Both can be combined with caching.
Usually a system is implemented as a combination of these. If a push
is not implemented at a certain level (lack of reified inverted
dependencies), it is often possible to go up one level of hierarchy
and perform a pull.
Maybe it is a good idea to create this as a data structure in Haskell,
and then try to relate several things to it. Redo redo?