tasty-quickcheck-laws-0.0.2: src/Test/Tasty/QuickCheck/Laws/Class.hs
{- |
Module : Test.Tasty.QuickCheck.Laws.Class
Description : Convenience typeclass
Copyright : 2018, Automattic, Inc.
License : BSD3
Maintainer : Nathan Bloomfield (nbloomf@gmail.com)
Stability : experimental
Portability : POSIX
Convenience typeclass for type signatures.
-}
module Test.Tasty.QuickCheck.Laws.Class (
Checkable
) where
import Data.Typeable
( Typeable )
import Test.QuickCheck
( Arbitrary, CoArbitrary )
-- | Alias for convenience.
class (Eq a, Show a, Arbitrary a, CoArbitrary a, Typeable a) => Checkable a
instance Checkable ()
instance Checkable Bool
instance Checkable Int
instance Checkable Integer
instance Checkable Double
instance Checkable Char
instance (Checkable a) => Checkable [a]
instance (Checkable a) => Checkable (Maybe a)
instance (Checkable a, Checkable b) => Checkable (a,b)
instance (Checkable a, Checkable b) => Checkable (Either a b)
instance (Checkable a, Checkable b, Checkable c) => Checkable (a,b,c)