Safe Haskell | None |
---|---|
Language | Haskell98 |
- diff :: forall a. Transform a => a -> a -> Transformation a
- apply :: Transform a => Transformation a -> a -> Maybe a
- type Transformation a = [(Path a, Fix (WithRef a))]
- data WithRef a b
- type Path a = [Dir (PF a)]
- class (Regular a, Children (PF a), Functor (PF a), ZipChildren (PF a), SEq (PF a), ExtractP (PF a), MapP (PF a), GMap (PF a), GOrd (PF a), Eq (PF a)) => Transform a
- class HasRef a where
- type NiceTransformation a = [(Path a, RefRep a)]
- toNiceTransformation :: (Functor (PF a), HasRef a) => Transformation a -> NiceTransformation a
- fromNiceTransformation :: (Functor (PF a), HasRef a) => NiceTransformation a -> Transformation a
Documentation
diff :: forall a. Transform a => a -> a -> Transformation a Source
Find a set of edits to transform the first into the second tree
apply :: Transform a => Transformation a -> a -> Maybe a Source
Apply the edits to the given tree
type Transformation a = [(Path a, Fix (WithRef a))] Source
class (Regular a, Children (PF a), Functor (PF a), ZipChildren (PF a), SEq (PF a), ExtractP (PF a), MapP (PF a), GMap (PF a), GOrd (PF a), Eq (PF a)) => Transform a Source
type NiceTransformation a = [(Path a, RefRep a)] Source
toNiceTransformation :: (Functor (PF a), HasRef a) => Transformation a -> NiceTransformation a Source
fromNiceTransformation :: (Functor (PF a), HasRef a) => NiceTransformation a -> Transformation a Source