kwik
kwik copied to clipboard
Introduce lazy RoseTree to represent simplifyable values
It should be possible to
- create a rose-tree by combining a value with a simplifier.
- the result should be lazy in the sense that the simplifier function shouldn't be invoked until the rose-tree is searched.
- combine 2 rose-trees
- transform the value of a rose tree (
map
operator) - filter the values of a rose tree
- the filter doesn't have to be perfect, and may search only up to an arbitrary depth-limit when it needs to find a new root
Note: The name is to be defined. Maybe SimplificationTree
would be more appropriate since it serves the simplification process. Althought the datastructure is not specific to the simplification process and is really nothing more nor less than a rose-tree