leancheck-0.9.10: Enumerative property-based testing
Copyright(c) 2015-2020 Rudy Matela
License3-Clause BSD (see the file LICENSE)
MaintainerRudy Matela <rudy@matela.com.br>
Safe HaskellNone



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

This module exports means to enumerate functions via lists of pairs.

This module considers functions as a finite list of exceptional input-output cases to a default value (list of pairs of arguments and results).



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

Given tiers of argument and result values, return tiers of functional values.

exceptionPairs :: [[a]] -> [[b]] -> [[[(a, b)]]] Source #

Given tiers of input values and tiers of output values, return tiers with all possible lists of input-output pairs. These represent functional relations. In the implementation of -->>, they represent exceptions to a constant function, hence the name exceptionPairs.