A naïve but simple implementation of views.
It always recomputes the value of views and recursively (by function calls) computes view chains.
Based on feature/int-view (#14) implementation and tests.
In order for propagation to work, the engine either has to be aware of views when notifying about changes in order to notify the correct newValue, or notification has to be newValue independent.
I decided to go with the latter, I think this will also be good for some other features like delayed notification (computation).
This PR also includes #17 as it greatly simplifies the modifications to Store. Maybe we should merge #17 first so that the diff to develop is not as massive.
A naïve but simple implementation of views. It always recomputes the value of views and recursively (by function calls) computes view chains.
Based on feature/int-view (#14) implementation and tests.
In order for propagation to work, the engine either has to be aware of views when notifying about changes in order to notify the correct newValue, or notification has to be newValue independent. I decided to go with the latter, I think this will also be good for some other features like delayed notification (computation).
This PR also includes #17 as it greatly simplifies the modifications to Store. Maybe we should merge #17 first so that the diff to develop is not as massive.
This also fixes some bugs in engine.