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 HaskellNone
LanguageHaskell2010

Test.Extrapolate.Exprs

Description

This module is part of Extrapolate, a library for generalization of counter-examples.

This module re-exports some functionality from Test.Speculate.Expr, but instead of working on single expressions it works in lists of expressions (the choosen representation for counter-examples).

Synopsis

Documentation

type Exprs = [Expr] Source #

type TypeRep = SomeTypeRep #

A quantified type representation.

arity :: Expr -> Int #

constant :: Typeable a => String -> a -> Expr #

consts :: Expr -> [Expr] #

eval :: Typeable a => a -> Expr -> a #

hole :: (Listable a, Typeable a) => a -> Expr #

isSub :: Expr -> Expr -> Bool #

showConstant :: (Typeable a, Show a) => a -> Expr #

var :: (Listable a, Typeable a) => String -> a -> Expr #

condEqualM :: Instances -> Int -> Int -> Expr -> Expr -> Expr -> Bool #

equal :: Instances -> Int -> Expr -> Expr -> Bool #

less :: Instances -> Int -> Expr -> Expr -> Bool #

true :: Instances -> Int -> Expr -> Bool #

eq :: (Typeable a, Eq a) => a -> Instances #

eqOrd :: (Typeable a, Eq a, Ord a) => a -> Instances #

eqWith :: (Typeable a, Eq a) => (a -> a -> Bool) -> Instances #

listable :: (Typeable a, Show a, Listable a) => a -> Instances #

listableWith :: (Typeable a, Show a) => [[a]] -> Instances #

ord :: (Typeable a, Ord a) => a -> Instances #

ordWith :: (Typeable a, Ord a) => (a -> a -> Bool) -> Instances #

assign :: String -> Expr -> Expr -> Expr #

fill :: Expr -> [Expr] -> Expr #

match2 :: (Expr, Expr) -> (Expr, Expr) -> Maybe Binds #

sub :: Expr -> Expr -> Expr -> Expr #

data Expr #

Instances
Eq Expr 
Instance details

Defined in Test.Speculate.Expr.Core

Methods

(==) :: Expr -> Expr -> Bool #

(/=) :: Expr -> Expr -> Bool #

Ord Expr 
Instance details

Defined in Test.Speculate.Expr.Core

Methods

compare :: Expr -> Expr -> Ordering #

(<) :: Expr -> Expr -> Bool #

(<=) :: Expr -> Expr -> Bool #

(>) :: Expr -> Expr -> Bool #

(>=) :: Expr -> Expr -> Bool #

max :: Expr -> Expr -> Expr #

min :: Expr -> Expr -> Expr #

Show Expr 
Instance details

Defined in Test.Speculate.Expr.Core

Methods

showsPrec :: Int -> Expr -> ShowS #

show :: Expr -> String #

showList :: [Expr] -> ShowS #

type Binds = [(String, Expr)] #