extrapolate-0.4.0: generalize counter-examples of test properties

Copyright(c) 2017-2019 Rudy Matela
License3-Clause BSD (see the file LICENSE)
MaintainerRudy Matela <rudy@matela.com.br>
Safe HaskellSafe
LanguageHaskell2010

Test.Extrapolate.Utils

Description

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

(+++) :: Ord a => [a] -> [a] -> [a] infixr 5 Source #

nubMerge :: Ord a => [a] -> [a] -> [a] Source #

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

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

foldr0 :: (a -> a -> a) -> a -> [a] -> a Source #

fromLeft :: Either a b -> a Source #

fromRight :: Either a b -> b Source #

elemBy :: (a -> a -> Bool) -> a -> [a] -> Bool Source #

listEq :: (a -> a -> Bool) -> [a] -> [a] -> Bool Source #

listOrd :: (a -> a -> Bool) -> [a] -> [a] -> Bool Source #

maybeEq :: (a -> a -> Bool) -> Maybe a -> Maybe a -> Bool Source #

maybeOrd :: (a -> a -> Bool) -> Maybe a -> Maybe a -> Bool Source #

eitherEq :: (a -> a -> Bool) -> (b -> b -> Bool) -> Either a b -> Either a b -> Bool Source #

eitherOrd :: (a -> a -> Bool) -> (b -> b -> Bool) -> Either a b -> Either a b -> Bool Source #

pairEq :: (a -> a -> Bool) -> (b -> b -> Bool) -> (a, b) -> (a, b) -> Bool Source #

pairOrd :: (a -> a -> Bool) -> (b -> b -> Bool) -> (a, b) -> (a, b) -> Bool 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 #

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

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

takeBound :: Maybe Int -> [a] -> [a] Source #

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

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