extrapolate-0.3.2: generalize counter-examples of test properties

Copyright(c) 2017 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.

Synopsis

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 #

typesIn :: TypeRep -> [TypeRep] Source #

For a given type, return all *-kinded types. (all non-function types)

typesIn (typeOf (undefined :: (Int -> Int) -> Int -> Bool))
  == [Bool,Int]

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

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

(.:) :: (c -> d) -> (a -> b -> c) -> a -> b -> d Source #