hdiff-0.0.1: Pattern-Expression-based differencing of arbitrary types.

Safe HaskellNone
LanguageHaskell2010

Data.HDiff.Diff.Modes

Contents

Synopsis

Documentation

type CanShare ki codes phi = forall a ix. PrepFix a ki codes phi ix -> Bool Source #

A predicate indicating whether a tree can be shared.

extractHoles :: DiffMode -> CanShare ki codes phi -> IsSharedMap -> Delta (PrepFix a ki codes phi) at -> Delta (Holes ki codes (Sum phi (MetaVarIK ki))) at Source #

Proper Shares

extractProperShare :: CanShare ki codes phi -> IsSharedMap -> PrepFix a ki codes phi at -> Holes ki codes (Sum phi (MetaVarIK ki)) at Source #

tagProperShare :: forall a ki codes phi at. IsSharedMap -> PrepFix a ki codes phi at -> PrepFix (Int, Bool) ki codes phi at Source #

properShare :: forall ki codes phi at. CanShare ki codes phi -> IsSharedMap -> PrepFix (Int, Bool) ki codes phi at -> Holes ki codes (Sum phi (MetaVarIK ki)) at Source #

Patience

extractPatience :: CanShare ki codes phi -> IsSharedMap -> PrepFix a ki codes phi at -> Holes ki codes (Sum phi (MetaVarIK ki)) at Source #

patience :: forall ki codes phi at a. CanShare ki codes phi -> IsSharedMap -> PrepFix a ki codes phi at -> Holes ki codes (Sum phi (MetaVarIK ki)) at Source #

No Nested

extractNoNested :: CanShare ki codes phi -> IsSharedMap -> Delta (PrepFix a ki codes phi) at -> Delta (Holes ki codes (Sum phi (MetaVarIK ki))) at Source #

noNested :: forall ki codes phi at a. CanShare ki codes phi -> IsSharedMap -> PrepFix a ki codes phi at -> Holes ki codes (Sum phi (Const Int :*: PrepFix a ki codes phi)) at Source #