test-fun-0.1.0.0: src/Test/Fun.hs
{-# LANGUAGE TypeOperators #-}
-- | Testable representation of (higher-order) functions.
--
-- See the README for an introduction.
module Test.Fun
( -- * Testable functions
(:->)()
, applyFun
, applyFun2
, applyFun3
-- * Shrink and show
, shrinkFun
, showsPrecFun
, indent
, ShowsPrec
-- * Cogenerators
, Co
-- ** Main combinators
, cogenEmbed
, cogenIntegral
, cogenIntegral'
, cogenFun
, Concrete(..)
, FunName
, TypeName
-- ** Generic cogenerators
, cogenGeneric
, (:+)(..)
-- ** Secondary combinators
, cogenList
, cogenConst
, cogenApply
-- ** @CoArbitrary@
, CoArbitrary(..)
, coarbitraryGeneric
-- ** Generic classes
, GCoGen()
, GCoArbitrary()
, GSumCo
) where
import Test.Fun.Internal.Types
((:->), applyFun, applyFun2, applyFun3, Concrete(..), ShowsPrec, FunName, TypeName)
import Test.Fun.Internal.CoGen
import Test.Fun.Internal.Generic
import Test.Fun.Internal.Pretty (showsPrecFun, indent)
import Test.Fun.Internal.Shrink (shrinkFun)
import Test.Fun.Internal.Orphan ()