leancheck-0.6.3: Cholesterol-free property-based testing

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

Test.LeanCheck.Function.CoListable

Contents

Description

This module is part of LeanCheck, a simple enumerative property-based testing library.

This module exports a Listable instance for function enumeration by means of a CoListable typeclass. This is very similar to the coseries enumeration of SmallCheck.

This module does not currently work, it it just a sketch and a stub.

Documentation

(\+:/) :: [[a]] -> [[a]] -> [[a]] infixr 9 #

class CoListable a where #

Minimal complete definition

cotiers

Methods

cotiers :: [[b]] -> [[a -> b]] #

Instances

CoListable Bool # 

Methods

cotiers :: [[b]] -> [[Bool -> b]] #

CoListable Int # 

Methods

cotiers :: [[b]] -> [[Int -> b]] #

CoListable () # 

Methods

cotiers :: [[b]] -> [[() -> b]] #

CoListable Nat3 # 

Methods

cotiers :: [[b]] -> [[Nat3 -> b]] #

CoListable Nat2 # 

Methods

cotiers :: [[b]] -> [[Nat2 -> b]] #

CoListable Nat # 

Methods

cotiers :: [[b]] -> [[Nat -> b]] #

CoListable a => CoListable [a] # 

Methods

cotiers :: [[b]] -> [[[a] -> b]] #

CoListable a => CoListable (Maybe a) # 

Methods

cotiers :: [[b]] -> [[Maybe a -> b]] #

(CoListable a, CoListable b) => CoListable (Either a b) # 

Methods

cotiers :: [[b]] -> [[Either a b -> b]] #

(CoListable a, CoListable b) => CoListable (a, b) # 

Methods

cotiers :: [[b]] -> [[(a, b) -> b]] #

alts0 :: [[a]] -> [[a]] #

alts1 :: CoListable a => [[b]] -> [[a -> b]] #

alts2 :: (CoListable a, CoListable b) => [[c]] -> [[a -> b -> c]] #

alts3 :: (CoListable a, CoListable b, CoListable c) => [[d]] -> [[a -> b -> c -> d]] #

ftiers :: (CoListable a, Listable b) => [[a -> b]] #

Orphan instances

(CoListable a, Listable b) => Listable (a -> b) # 

Methods

tiers :: [[a -> b]] #

list :: [a -> b] #