Safe Haskell | None |
---|---|

Language | Haskell98 |

- diff :: forall phi top. (Transform phi, Children phi (PF phi) top, EmptyMemo phi top (Ixs phi), ChildrenTable phi top (Ixs phi), GetChildrenTable phi (Ixs phi) top, Eq top) => phi top -> top -> top -> Transformation phi top
- apply :: forall phi ix. Transform phi => phi ix -> ix -> Transformation phi ix -> Maybe ix
- type family Ixs phi :: [*]
- type Transformation phi top = [Insert phi top top]

# Documentation

diff :: forall phi top. (Transform phi, Children phi (PF phi) top, EmptyMemo phi top (Ixs phi), ChildrenTable phi top (Ixs phi), GetChildrenTable phi (Ixs phi) top, Eq top) => phi top -> top -> top -> Transformation phi top Source

Find a set of insertions to transform the first into the second tree

apply :: forall phi ix. Transform phi => phi ix -> ix -> Transformation phi ix -> Maybe ix Source

Apply the transformation to the given tree

type Transformation phi top = [Insert phi top top] Source

Transformations are just sequences of insertions