Copyright | (c) 2017 Rudy Matela |
---|---|
License | 3-Clause BSD (see the file LICENSE) |
Maintainer | Rudy Matela <rudy@matela.com.br> |
Safe Haskell | None |
Language | Haskell2010 |
This module is part of Extrapolate, a library for generalization of counter-examples.
This is the core of extrapolate.
- module Test.LeanCheck
- module Test.LeanCheck.Utils.TypeBinding
- module Test.Extrapolate.Exprs
- class (Listable a, Typeable a, Show a) => Generalizable a where
- this :: (Typeable a, Listable a, Show a) => String -> a -> (Instances -> Instances) -> Instances -> Instances
- these :: (Typeable a, Listable a, Show a) => String -> a -> [Expr] -> (Instances -> Instances) -> Instances -> Instances
- usefuns :: Typeable a => a -> [Expr] -> Instances
- (+++) :: Ord a => [a] -> [a] -> [a]
- nameOf :: Generalizable a => a -> String
- data Option
- options :: Testable a => a -> Options
- data WithOption a = With {}
- maxTests :: Testable a => a -> Int
- extraInstances :: Testable a => a -> Instances
- maxConditionSize :: Testable a => a -> Int
- counterExampleGen :: Testable a => Int -> a -> Maybe ([Expr], Maybe [Expr])
- counterExampleGens :: Testable a => Int -> a -> Maybe ([Expr], [[Expr]])
- generalizationsCE :: Testable a => Int -> a -> [Expr] -> [[Expr]]
- generalizationsCEC :: Testable a => Int -> a -> [Expr] -> [(Expr, [Expr])]
- generalizationsCounts :: Testable a => Int -> a -> [Expr] -> [([Expr], Int)]
- conditionalGeneralization :: Testable a => Int -> a -> [Expr] -> [Expr] -> Maybe ([Expr], [Expr])
- matchList :: [Expr] -> [Expr] -> Maybe Binds
- newMatches :: [Expr] -> [Expr] -> Maybe Binds
- class Testable a where
- results :: Testable a => a -> [([Expr], Bool)]
- areInstancesOf :: [Expr] -> [Expr] -> Bool
- expressionsT :: [Expr] -> [[Expr]]
Documentation
module Test.LeanCheck
module Test.Extrapolate.Exprs
class (Listable a, Typeable a, Show a) => Generalizable a where Source #
Generalizable Bool Source # | |
Generalizable Char Source # | |
Generalizable Int Source # | |
Generalizable Integer Source # | |
Generalizable () Source # | |
Generalizable a => Generalizable [a] Source # | |
Generalizable a => Generalizable (Maybe a) Source # | |
(Generalizable a, Generalizable b) => Generalizable (a, b) Source # | |
(Generalizable a, Generalizable b, Generalizable c) => Generalizable (a, b, c) Source # | |
this :: (Typeable a, Listable a, Show a) => String -> a -> (Instances -> Instances) -> Instances -> Instances Source #
these :: (Typeable a, Listable a, Show a) => String -> a -> [Expr] -> (Instances -> Instances) -> Instances -> Instances Source #
nameOf :: Generalizable a => a -> String Source #
data WithOption a Source #
Testable a => Testable (WithOption a) Source # | |
extraInstances :: Testable a => a -> Instances Source #
maxConditionSize :: Testable a => a -> Int Source #
conditionalGeneralization :: Testable a => Int -> a -> [Expr] -> [Expr] -> Maybe ([Expr], [Expr]) Source #
matchList :: [Expr] -> [Expr] -> Maybe Binds Source #
List matches of lists of expressions if possible
[0,1] `matchList` [x,y] = Just [x=0, y=1] [0,1+2] `matchList` [x,y+y] = Nothing
expressionsT :: [Expr] -> [[Expr]] Source #