Safe Haskell | Safe-Inferred |
---|
- diff :: forall phi ix. Transform phi => phi ix -> ix -> ix -> Transformation phi
- apply :: forall phi ix. Transform phi => phi ix -> ix -> Transformation phi -> Maybe ix
- type Transformation phi = [AnyInsert phi]
- data AnyInsert phi where
- data WithRef phi f a
- type Path = [Int]
- class (Fam phi, Children phi (PF phi), CountI phi (PF phi), HFunctor phi (PF phi), SEq phi (PF phi), ExtractN phi (PF phi), MapN phi (PF phi), EqS phi, HEq phi (PF phi), HOrd phi (PF phi), OrdI phi) => Transform phi
- class OrdI phi where
- class HasRef phi where
- type NiceTransformation phi = [NiceInsert phi]
- data NiceInsert phi where
- NiceInsert :: phi ix -> Path -> RefRep phi ix -> NiceInsert phi
- toNiceTransformation :: HasRef phi => Transformation phi -> NiceTransformation phi
- fromNiceTransformation :: HasRef phi => NiceTransformation phi -> Transformation phi
Documentation
diff :: forall phi ix. Transform phi => phi ix -> ix -> ix -> Transformation phiSource
Find a set of insertions to transform the first into the second tree
apply :: forall phi ix. Transform phi => phi ix -> ix -> Transformation phi -> Maybe ixSource
Apply the transformation to the given tree
type Transformation phi = [AnyInsert phi]Source
class (Fam phi, Children phi (PF phi), CountI phi (PF phi), HFunctor phi (PF phi), SEq phi (PF phi), ExtractN phi (PF phi), MapN phi (PF phi), EqS phi, HEq phi (PF phi), HOrd phi (PF phi), OrdI phi) => Transform phi Source
Comparing index of different types
type NiceTransformation phi = [NiceInsert phi]Source
data NiceInsert phi whereSource
NiceInsert :: phi ix -> Path -> RefRep phi ix -> NiceInsert phi |
toNiceTransformation :: HasRef phi => Transformation phi -> NiceTransformation phiSource
fromNiceTransformation :: HasRef phi => NiceTransformation phi -> Transformation phiSource