Copyright | (c) 2017-2019 Rudy Matela |
---|---|

License | 3-Clause BSD (see the file LICENSE) |

Maintainer | Rudy Matela <rudy@matela.com.br> |

Safe Haskell | Safe |

Language | Haskell2010 |

This module is part of Extrapolate, a library for generalization of counter-examples.

Miscellaneous utility functions.

This is not intended to be used by users of Extrapolate, only by modules of Extrapolate itself. Expect symbols exported here to come and go with every minor version.

# Documentation

nubMergeOn :: Ord b => (a -> b) -> [a] -> [a] -> [a] Source #

nubMergeBy :: (a -> a -> Ordering) -> [a] -> [a] -> [a] Source #

tripleEq :: (a -> a -> Bool) -> (b -> b -> Bool) -> (c -> c -> Bool) -> (a, b, c) -> (a, b, c) -> Bool Source #

tripleOrd :: (a -> a -> Bool) -> (b -> b -> Bool) -> (c -> c -> Bool) -> (a, b, c) -> (a, b, c) -> Bool Source #

quadrupleEq :: (a -> a -> Bool) -> (b -> b -> Bool) -> (c -> c -> Bool) -> (d -> d -> Bool) -> (a, b, c, d) -> (a, b, c, d) -> Bool Source #

quadrupleOrd :: (a -> a -> Bool) -> (b -> b -> Bool) -> (c -> c -> Bool) -> (d -> d -> Bool) -> (a, b, c, d) -> (a, b, c, d) -> Bool Source #

nubMergeMap :: Ord b => (a -> [b]) -> [a] -> [b] Source #

compareIndex :: Eq a => [a] -> a -> a -> Ordering Source #