- class Diffable a b where
- diff :: a -> a -> b

- data DiffResult d
- type T0Diff = DiffResult (Term0 (T DiffResult))
- type F0Diff = DiffResult (Formula0 (T DiffResult) (F DiffResult))
- isSame :: forall t. DiffResult t -> Bool
- diffGenF :: Gen Formula
- diffGenT :: Gen Term
- printSampleDiffs :: IO ()

# Documentation

data DiffResult d Source

Same | Both arguments are the same. |

SameHead d | The arguments are recursive expressions of the same form, but their subterms differ. Return a "decorated" term that shows where the differences are |

Differ d d | The arguments differ and are not of similar form (don't recurse) |

DontCare |

Functor DiffResult | |

Typeable1 DiffResult | |

Diffable Term (T DiffResult) | |

Diffable Formula (F DiffResult) | |

Eq d => Eq (DiffResult d) | |

Data d => Data (DiffResult d) | |

Ord d => Ord (DiffResult d) | |

Read d => Read (DiffResult d) | |

Show (T DiffResult) | |

Show (F DiffResult) | |

Show d => Show (DiffResult d) | |

Pretty (T DiffResult) | |

Pretty (F DiffResult) | |

Pretty (WithEnclosing (T DiffResult)) | |

Pretty (WithEnclosing (F DiffResult)) |

type T0Diff = DiffResult (Term0 (T DiffResult))Source

type F0Diff = DiffResult (Formula0 (T DiffResult) (F DiffResult))Source

isSame :: forall t. DiffResult t -> BoolSource

Less random generator for generating formulae suitable for testing diff