gdiff-ig-0.1.1: Generic diff for the instant-generics library

Generics.Instant.GDiff

Synopsis

Documentation

diff :: GDiff a => a -> a -> EditScriptSource

Generic diff

patch :: GDiff a => EditScript -> a -> Maybe aSource

Generic diff

diffLen :: GDiff a => a -> a -> FloatSource

Edit distance

class (Typeable a, SEq a, Children a, Build a) => GDiff a Source

Tying the recursive knot

Instances

GDiff Char 
GDiff Int 
GDiff a => GDiff [a] 

class SEq a whereSource

Shallow equality: compare the constructor name only

Methods

shallowEq :: a -> a -> BoolSource

Instances

SEq Char 
SEq Int 
SEq [a] 

shallowEqDef :: (Representable a, SEq' (Rep a)) => a -> a -> BoolSource

class Build a whereSource

Rebuilds a term, replacing the children with elements from the list

Methods

build :: a -> [Ex] -> Maybe (a, [Ex])Source

Instances

buildDef :: (Representable a, Build' (Rep a)) => a -> [Ex] -> Maybe (a, [Ex])Source

class Children a whereSource

Gets all the immediate children of a term

Methods

children :: a -> [Ex]Source

Instances

childrenDef :: (Representable a, Children' (Rep a)) => a -> [Ex]Source

data Ex whereSource

Existentials

Constructors

Ex :: GDiff a => !a -> Ex 

Instances