{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE PatternSynonyms #-}
module Constrained (
Specification (..),
Pred,
Term,
HasSpec (..),
HasSimpleRep (..),
NumLike (..),
OrdLike (..),
Forallable (..),
Foldy (..),
MaybeBounded (..),
FunctionLike (..),
Functions (..),
HOLE (..),
BaseUniverse,
Member,
BaseFn,
BaseFns,
Fix,
OneofL,
IsPred,
IsNormalType,
Value (..),
SOP,
(:::),
MapFn,
FunFn,
PairSpec (..),
NumSpec (..),
MapSpec (..),
FoldSpec (..),
Sized (..),
simplifySpec,
addToErrorSpec,
genFromSpecT,
genFromSpec,
genFromSpecWithSeed,
shrinkWithSpec,
conformsToSpec,
conformsToSpecProp,
monitorSpec,
forAllSpec,
forAllSpecShow,
giveHint,
typeSpec,
con,
isCon,
onCon,
sel,
caseBoolSpec,
constrained,
constrained',
name,
satisfies,
letBind,
match,
assert,
assertExplain,
caseOn,
branch,
branchW,
chooseSpec,
ifElse,
whenTrue,
onJust,
isJust,
reify,
reify',
reifies,
assertReified,
explanation,
monitor,
genHint,
dependsOn,
forAll,
forAll',
exists,
unsafeExists,
fst_,
snd_,
pair_,
(<=.),
(>=.),
(<.),
(>.),
(==.),
(/=.),
(||.),
member_,
subset_,
disjoint_,
singleton_,
union_,
fromList_,
elem_,
not_,
foldMap_,
sum_,
(++.),
singletonList_,
size_,
rng_,
dom_,
lookup_,
flip_,
left_,
right_,
toGeneric_,
fromGeneric_,
sizeOf_,
length_,
cNothing_,
cJust_,
null_,
rangeSize,
hasSize,
injectFn,
app,
lit,
emptyNumSpec,
combineNumSpec,
genFromNumSpec,
shrinkWithNumSpec,
conformsToNumSpec,
toPredsNumSpec,
cardinalNumSpec,
addFn,
toSimpleRepSpec,
fromSimpleRepSpec,
algebra,
inject,
toPred,
printPlan,
module X,
)
where
import Constrained.GenT as X
import Constrained.Internals
import Constrained.List as X
import Constrained.Properties
import Constrained.Spec.Tree as X
import Constrained.Syntax as X