{-# LANGUAGE PatternSynonyms #-}
-- | QuickCheck extension for properties of higher-order values.
--
-- See the README for an introduction.
module Test.QuickCheck.HigherOrder
( -- * Constructible values
Constructible(..)
-- * Runners
, quickCheck'
, quickCheckWith'
-- * Testable properties
, Testable'(..)
-- ** Types of testable properties
, Equation(..)
, Implication(..)
, EqImpl
-- ** Decidable properties
, Decidable(..)
-- * Testable equality
, TestEq(..)
, decEq
-- * Helpers
, ok
, ko
, quickChecks
-- ** @Constructible@ wrappers
, forAll_
, Constructed()
, pattern Construct
-- * CoArbitrary
-- | See also the documentation of "Test.Fun".
, (:->)
, applyFun
, CoArbitrary(..)
, cogenEmbed
, cogenIntegral
, coarbitraryGeneric
) where
import Test.Fun
import Test.QuickCheck.HigherOrder.Internal.Testable
import Test.QuickCheck.HigherOrder.Internal.Testable.Class
import Test.QuickCheck.HigherOrder.Internal.TestEq
import Test.QuickCheck.HigherOrder.Internal.Constructible
import Test.QuickCheck.HigherOrder.Internal.Function ()