packages feed

QuickCheck 2.16.0.0 → 2.17.0.0

raw patch · 14 files changed

+667/−129 lines, 14 filesdep +data-array-bytedep +hintdep +splitdep −ghc-primdep −old-localedep −old-timedep ~basedep ~randomdep ~template-haskellPVP ok

version bump matches the API change (PVP)

Dependencies added: data-array-byte, hint, split

Dependencies removed: ghc-prim, old-locale, old-time

Dependency ranges changed: base, random, template-haskell, transformers

API changes (from Hackage documentation)

- Test.QuickCheck.Arbitrary: instance (GHC.Real.Integral a, Test.QuickCheck.Arbitrary.CoArbitrary a) => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Real.Ratio a)
- Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.Arbitrary b) => Test.QuickCheck.Arbitrary.Arbitrary (Data.Either.Either a b)
- Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.CoArbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.Internal.Endo a)
- Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.CoArbitrary a) => Test.QuickCheck.Arbitrary.CoArbitrary (Data.Semigroup.Internal.Endo a)
- Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.CoArbitrary a, Test.QuickCheck.Arbitrary.CoArbitrary b) => Test.QuickCheck.Arbitrary.CoArbitrary (Data.Either.Either a b)
- Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.GSubtermsIncl f a, Test.QuickCheck.Arbitrary.GSubtermsIncl g a) => Test.QuickCheck.Arbitrary.GSubterms (f GHC.Generics.:*: g) a
- Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.GSubtermsIncl f a, Test.QuickCheck.Arbitrary.GSubtermsIncl g a) => Test.QuickCheck.Arbitrary.GSubterms (f GHC.Generics.:+: g) a
- Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.GSubtermsIncl f a, Test.QuickCheck.Arbitrary.GSubtermsIncl g a) => Test.QuickCheck.Arbitrary.GSubtermsIncl (f GHC.Generics.:*: g) a
- Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.GSubtermsIncl f a, Test.QuickCheck.Arbitrary.GSubtermsIncl g a) => Test.QuickCheck.Arbitrary.GSubtermsIncl (f GHC.Generics.:+: g) a
- Test.QuickCheck.Arbitrary: instance GHC.Real.Integral a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Real.Ratio a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Data.Semigroup.Internal.All
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Data.Semigroup.Internal.Any
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Data.Version.Version
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CChar
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CClock
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CDouble
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CFloat
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CInt
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CIntMax
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CIntPtr
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CLLong
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CLong
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CPtrdiff
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CSChar
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CSUSeconds
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CShort
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CSigAtomic
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CSize
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CTime
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CUChar
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CUInt
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CUIntMax
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CUIntPtr
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CULLong
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CULong
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CUSeconds
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CUShort
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Foreign.C.Types.CWchar
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.IO.Exception.ExitCode
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.IO.Handle.Types.Newline
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.IO.Handle.Types.NewlineMode
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Int.Int16
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Int.Int32
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Int.Int64
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Int.Int8
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Word.Word16
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Word.Word32
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Word.Word64
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Word.Word8
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Control.Applicative.ZipList a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Functor.Identity.Identity a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Monoid.First a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Monoid.Last a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.Internal.Dual a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.Internal.Product a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.Internal.Sum a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Maybe.Maybe a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary1 (Data.Either.Either a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary1 (Data.Functor.Const.Const a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.RecursivelyShrink (GHC.Generics.K1 i a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary1 Control.Applicative.ZipList
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary1 Data.Functor.Identity.Identity
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary1 GHC.Maybe.Maybe
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary2 Data.Either.Either
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary2 Data.Functor.Const.Const
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary Data.Semigroup.Internal.All
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary Data.Semigroup.Internal.Any
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary Data.Version.Version
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.IO.Handle.Types.Newline
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.IO.Handle.Types.NewlineMode
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Int.Int16
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Int.Int32
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Int.Int64
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Int.Int8
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Word.Word16
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Word.Word32
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Word.Word64
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Word.Word8
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (Control.Applicative.ZipList a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (Data.Functor.Identity.Identity a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (Data.Monoid.First a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (Data.Monoid.Last a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (Data.Semigroup.Internal.Dual a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (Data.Semigroup.Internal.Product a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (Data.Semigroup.Internal.Sum a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Maybe.Maybe a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.GCoArbitrary (GHC.Generics.K1 i a)
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GCoArbitrary GHC.Generics.U1
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubterms (GHC.Generics.K1 i a) b
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubterms GHC.Generics.U1 a
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubterms GHC.Generics.V1 a
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubterms f a => Test.QuickCheck.Arbitrary.GSubterms (GHC.Generics.M1 i c f) a
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubtermsIncl (GHC.Generics.K1 i a) a
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubtermsIncl (GHC.Generics.K1 i a) b
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubtermsIncl GHC.Generics.U1 a
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubtermsIncl GHC.Generics.V1 a
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubtermsIncl f a => Test.QuickCheck.Arbitrary.GSubtermsIncl (GHC.Generics.M1 i c f) a
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.RecursivelyShrink GHC.Generics.U1
- Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.RecursivelyShrink GHC.Generics.V1
- Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (a :: k). Test.QuickCheck.Arbitrary.Arbitrary (f a) => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.Internal.Alt f a)
- Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (a :: k). Test.QuickCheck.Arbitrary.CoArbitrary (f a) => Test.QuickCheck.Arbitrary.CoArbitrary (Data.Semigroup.Internal.Alt f a)
- Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Arbitrary.GCoArbitrary f, Test.QuickCheck.Arbitrary.GCoArbitrary g) => Test.QuickCheck.Arbitrary.GCoArbitrary (f GHC.Generics.:*: g)
- Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Arbitrary.GCoArbitrary f, Test.QuickCheck.Arbitrary.GCoArbitrary g) => Test.QuickCheck.Arbitrary.GCoArbitrary (f GHC.Generics.:+: g)
- Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Arbitrary.RecursivelyShrink f, Test.QuickCheck.Arbitrary.RecursivelyShrink g) => Test.QuickCheck.Arbitrary.RecursivelyShrink (f GHC.Generics.:*: g)
- Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Arbitrary.RecursivelyShrink f, Test.QuickCheck.Arbitrary.RecursivelyShrink g) => Test.QuickCheck.Arbitrary.RecursivelyShrink (f GHC.Generics.:+: g)
- Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) i (c :: GHC.Generics.Meta). Test.QuickCheck.Arbitrary.GCoArbitrary f => Test.QuickCheck.Arbitrary.GCoArbitrary (GHC.Generics.M1 i c f)
- Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) i (c :: GHC.Generics.Meta). Test.QuickCheck.Arbitrary.RecursivelyShrink f => Test.QuickCheck.Arbitrary.RecursivelyShrink (GHC.Generics.M1 i c f)
- Test.QuickCheck.Arbitrary: instance forall k a (b :: k). Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Functor.Const.Const a b)
- Test.QuickCheck.Arbitrary: instance forall k a (b :: k). Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (Data.Functor.Const.Const a b)
- Test.QuickCheck.Function: instance (GHC.Float.RealFloat a, Test.QuickCheck.Function.Function a) => Test.QuickCheck.Function.Function (Data.Complex.Complex a)
- Test.QuickCheck.Function: instance (GHC.Real.Integral a, Test.QuickCheck.Function.Function a) => Test.QuickCheck.Function.Function (GHC.Real.Ratio a)
- Test.QuickCheck.Function: instance (GHC.Show.Show a, GHC.Show.Show b) => GHC.Show.Show (Test.QuickCheck.Function.Fun a b)
- Test.QuickCheck.Function: instance (GHC.Show.Show a, GHC.Show.Show b) => GHC.Show.Show (a Test.QuickCheck.Function.:-> b)
- Test.QuickCheck.Function: instance (Test.QuickCheck.Function.Function a, Test.QuickCheck.Function.Function b) => Test.QuickCheck.Function.Function (Data.Either.Either a b)
- Test.QuickCheck.Function: instance GHC.Base.Functor ((Test.QuickCheck.Function.:->) a)
- Test.QuickCheck.Function: instance GHC.Base.Functor (Test.QuickCheck.Function.Fun a)
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function Data.Semigroup.Internal.All
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function Data.Semigroup.Internal.Any
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.IO.Handle.Types.Newline
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.IO.Handle.Types.NewlineMode
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Int.Int16
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Int.Int32
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Int.Int64
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Int.Int8
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Word.Word16
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Word.Word32
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Word.Word64
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Word.Word8
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (Data.Functor.Identity.Identity a)
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (Data.Monoid.First a)
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (Data.Monoid.Last a)
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (Data.Semigroup.Internal.Dual a)
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (Data.Semigroup.Internal.Product a)
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (Data.Semigroup.Internal.Sum a)
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (GHC.Maybe.Maybe a)
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.GFunction (GHC.Generics.K1 i a)
- Test.QuickCheck.Function: instance Test.QuickCheck.Function.GFunction GHC.Generics.U1
- Test.QuickCheck.Function: instance forall k (f :: k -> *) (a :: k). Test.QuickCheck.Function.Function (f a) => Test.QuickCheck.Function.Function (Data.Semigroup.Internal.Alt f a)
- Test.QuickCheck.Function: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Function.GFunction f, Test.QuickCheck.Function.GFunction g) => Test.QuickCheck.Function.GFunction (f GHC.Generics.:*: g)
- Test.QuickCheck.Function: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Function.GFunction f, Test.QuickCheck.Function.GFunction g) => Test.QuickCheck.Function.GFunction (f GHC.Generics.:+: g)
- Test.QuickCheck.Function: instance forall k (f :: k -> *) i (c :: GHC.Generics.Meta). Test.QuickCheck.Function.GFunction f => Test.QuickCheck.Function.GFunction (GHC.Generics.M1 i c f)
- Test.QuickCheck.Function: instance forall k a (b :: k). Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (Data.Functor.Const.Const a b)
- Test.QuickCheck.Gen: instance Control.Monad.Fix.MonadFix Test.QuickCheck.Gen.Gen
- Test.QuickCheck.Gen: instance GHC.Base.Applicative Test.QuickCheck.Gen.Gen
- Test.QuickCheck.Gen: instance GHC.Base.Functor Test.QuickCheck.Gen.Gen
- Test.QuickCheck.Gen: instance GHC.Base.Monad Test.QuickCheck.Gen.Gen
- Test.QuickCheck.Modifiers: instance (GHC.Num.Num a, GHC.Classes.Eq a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.NonZero a)
- Test.QuickCheck.Modifiers: instance (GHC.Num.Num a, GHC.Classes.Ord a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.Negative a)
- Test.QuickCheck.Modifiers: instance (GHC.Num.Num a, GHC.Classes.Ord a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.NonNegative a)
- Test.QuickCheck.Modifiers: instance (GHC.Num.Num a, GHC.Classes.Ord a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.NonPositive a)
- Test.QuickCheck.Modifiers: instance (GHC.Num.Num a, GHC.Classes.Ord a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.Positive a)
- Test.QuickCheck.Modifiers: instance (GHC.Real.Integral a, GHC.Enum.Bounded a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.Large a)
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor (Test.QuickCheck.Modifiers.Shrinking s)
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.Blind
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.Fixed
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.Large
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.Negative
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.NoShrink
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.NonEmptyList
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.NonNegative
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.NonPositive
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.NonZero
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.OrderedList
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.Positive
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.Shrink2
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.Small
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.Smart
- Test.QuickCheck.Modifiers: instance GHC.Base.Functor Test.QuickCheck.Modifiers.SortedList
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.Blind a)
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.Fixed a)
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.Large a)
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.Negative a)
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.NoShrink a)
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.NonNegative a)
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.NonPositive a)
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.NonZero a)
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.Positive a)
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.Shrink2 a)
- Test.QuickCheck.Modifiers: instance GHC.Enum.Enum a => GHC.Enum.Enum (Test.QuickCheck.Modifiers.Small a)
- Test.QuickCheck.Modifiers: instance GHC.Ix.Ix a => GHC.Ix.Ix (Test.QuickCheck.Modifiers.Large a)
- Test.QuickCheck.Modifiers: instance GHC.Ix.Ix a => GHC.Ix.Ix (Test.QuickCheck.Modifiers.NoShrink a)
- Test.QuickCheck.Modifiers: instance GHC.Ix.Ix a => GHC.Ix.Ix (Test.QuickCheck.Modifiers.Small a)
- Test.QuickCheck.Modifiers: instance GHC.Num.Num a => GHC.Num.Num (Test.QuickCheck.Modifiers.Blind a)
- Test.QuickCheck.Modifiers: instance GHC.Num.Num a => GHC.Num.Num (Test.QuickCheck.Modifiers.Fixed a)
- Test.QuickCheck.Modifiers: instance GHC.Num.Num a => GHC.Num.Num (Test.QuickCheck.Modifiers.Large a)
- Test.QuickCheck.Modifiers: instance GHC.Num.Num a => GHC.Num.Num (Test.QuickCheck.Modifiers.NoShrink a)
- Test.QuickCheck.Modifiers: instance GHC.Num.Num a => GHC.Num.Num (Test.QuickCheck.Modifiers.Shrink2 a)
- Test.QuickCheck.Modifiers: instance GHC.Num.Num a => GHC.Num.Num (Test.QuickCheck.Modifiers.Small a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read Test.QuickCheck.Modifiers.ASCIIString
- Test.QuickCheck.Modifiers: instance GHC.Read.Read Test.QuickCheck.Modifiers.PrintableString
- Test.QuickCheck.Modifiers: instance GHC.Read.Read Test.QuickCheck.Modifiers.UnicodeString
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.Fixed a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.Large a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.Negative a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.NoShrink a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.NonEmptyList a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.NonNegative a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.NonPositive a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.NonZero a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.OrderedList a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.Positive a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.Shrink2 a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.Small a)
- Test.QuickCheck.Modifiers: instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Modifiers.SortedList a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Integral a => GHC.Real.Integral (Test.QuickCheck.Modifiers.Blind a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Integral a => GHC.Real.Integral (Test.QuickCheck.Modifiers.Fixed a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Integral a => GHC.Real.Integral (Test.QuickCheck.Modifiers.Large a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Integral a => GHC.Real.Integral (Test.QuickCheck.Modifiers.NoShrink a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Integral a => GHC.Real.Integral (Test.QuickCheck.Modifiers.Shrink2 a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Integral a => GHC.Real.Integral (Test.QuickCheck.Modifiers.Small a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Integral a => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.Small a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Real a => GHC.Real.Real (Test.QuickCheck.Modifiers.Blind a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Real a => GHC.Real.Real (Test.QuickCheck.Modifiers.Fixed a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Real a => GHC.Real.Real (Test.QuickCheck.Modifiers.Large a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Real a => GHC.Real.Real (Test.QuickCheck.Modifiers.NoShrink a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Real a => GHC.Real.Real (Test.QuickCheck.Modifiers.Shrink2 a)
- Test.QuickCheck.Modifiers: instance GHC.Real.Real a => GHC.Real.Real (Test.QuickCheck.Modifiers.Small a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show (Test.QuickCheck.Modifiers.Blind a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show Test.QuickCheck.Modifiers.ASCIIString
- Test.QuickCheck.Modifiers: instance GHC.Show.Show Test.QuickCheck.Modifiers.PrintableString
- Test.QuickCheck.Modifiers: instance GHC.Show.Show Test.QuickCheck.Modifiers.UnicodeString
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.Fixed a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.InfiniteList a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.Large a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.Negative a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.NoShrink a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.NonEmptyList a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.NonNegative a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.NonPositive a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.NonZero a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.OrderedList a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.Positive a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.Shrink2 a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.Shrinking s a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.Small a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.Smart a)
- Test.QuickCheck.Modifiers: instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Modifiers.SortedList a)
- Test.QuickCheck.Monadic: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Test.QuickCheck.Monadic.PropertyM m)
- Test.QuickCheck.Monadic: instance GHC.Base.Applicative (Test.QuickCheck.Monadic.PropertyM m)
- Test.QuickCheck.Monadic: instance GHC.Base.Functor (Test.QuickCheck.Monadic.PropertyM m)
- Test.QuickCheck.Monadic: instance GHC.Base.Monad m => Control.Monad.Fail.MonadFail (Test.QuickCheck.Monadic.PropertyM m)
- Test.QuickCheck.Monadic: instance GHC.Base.Monad m => GHC.Base.Monad (Test.QuickCheck.Monadic.PropertyM m)
- Test.QuickCheck.Monoids: instance GHC.Base.Monoid Test.QuickCheck.Monoids.Every
- Test.QuickCheck.Monoids: instance GHC.Base.Monoid Test.QuickCheck.Monoids.Some
- Test.QuickCheck.Monoids: instance GHC.Base.Semigroup Test.QuickCheck.Monoids.Every
- Test.QuickCheck.Monoids: instance GHC.Base.Semigroup Test.QuickCheck.Monoids.Some
- Test.QuickCheck.Poly: instance GHC.Num.Num Test.QuickCheck.Poly.OrdA
- Test.QuickCheck.Poly: instance GHC.Num.Num Test.QuickCheck.Poly.OrdB
- Test.QuickCheck.Poly: instance GHC.Num.Num Test.QuickCheck.Poly.OrdC
- Test.QuickCheck.Poly: instance GHC.Show.Show Test.QuickCheck.Poly.A
- Test.QuickCheck.Poly: instance GHC.Show.Show Test.QuickCheck.Poly.B
- Test.QuickCheck.Poly: instance GHC.Show.Show Test.QuickCheck.Poly.C
- Test.QuickCheck.Poly: instance GHC.Show.Show Test.QuickCheck.Poly.OrdA
- Test.QuickCheck.Poly: instance GHC.Show.Show Test.QuickCheck.Poly.OrdB
- Test.QuickCheck.Poly: instance GHC.Show.Show Test.QuickCheck.Poly.OrdC
+ Test.QuickCheck: ($dmcoarbitrary) :: (CoArbitrary a, Generic a, GCoArbitrary (Rep a)) => a -> Gen b -> Gen b
+ Test.QuickCheck: ($dmfunction) :: (Function a, Generic a, GFunction (Rep a)) => (a -> b) -> a :-> b
+ Test.QuickCheck.All: runQuickCheckAll :: [(String, Property)] -> (Property -> IO Result) -> IO Bool
+ Test.QuickCheck.Arbitrary: ($dmcoarbitrary) :: (CoArbitrary a, Generic a, GCoArbitrary (Rep a)) => a -> Gen b -> Gen b
+ Test.QuickCheck.Arbitrary: instance (GHC.Internal.Real.Integral a, Test.QuickCheck.Arbitrary.CoArbitrary a) => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Real.Ratio a)
+ Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.Arbitrary b) => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.Arg a b)
+ Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.Arbitrary b) => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Either.Either a b)
+ Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.CoArbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Semigroup.Internal.Endo a)
+ Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.CoArbitrary a) => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Data.Semigroup.Internal.Endo a)
+ Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.CoArbitrary b) => Test.QuickCheck.Arbitrary.Arbitrary (Data.Functor.Contravariant.Op a b)
+ Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.CoArbitrary a, Test.QuickCheck.Arbitrary.CoArbitrary b) => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Data.Either.Either a b)
+ Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.GSubtermsIncl f a, Test.QuickCheck.Arbitrary.GSubtermsIncl g a) => Test.QuickCheck.Arbitrary.GSubterms (f GHC.Internal.Generics.:*: g) a
+ Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.GSubtermsIncl f a, Test.QuickCheck.Arbitrary.GSubtermsIncl g a) => Test.QuickCheck.Arbitrary.GSubterms (f GHC.Internal.Generics.:+: g) a
+ Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.GSubtermsIncl f a, Test.QuickCheck.Arbitrary.GSubtermsIncl g a) => Test.QuickCheck.Arbitrary.GSubtermsIncl (f GHC.Internal.Generics.:*: g) a
+ Test.QuickCheck.Arbitrary: instance (Test.QuickCheck.Arbitrary.GSubtermsIncl f a, Test.QuickCheck.Arbitrary.GSubtermsIncl g a) => Test.QuickCheck.Arbitrary.GSubtermsIncl (f GHC.Internal.Generics.:+: g) a
+ Test.QuickCheck.Arbitrary: instance GHC.Internal.Real.Integral a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Real.Ratio a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Data.Array.Byte.ByteArray
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Data.Semigroup.Internal.All
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Data.Semigroup.Internal.Any
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Data.Version.Version
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CChar
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CClock
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CDouble
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CFloat
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CInt
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CIntMax
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CIntPtr
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CLLong
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CLong
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CPtrdiff
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CSChar
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CSUSeconds
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CShort
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CSigAtomic
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CSize
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CTime
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CUChar
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CUInt
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CUIntMax
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CUIntPtr
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CULLong
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CULong
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CUSeconds
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CUShort
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Foreign.C.Types.CWchar
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.IO.Device.SeekMode
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.IO.Encoding.Types.TextEncoding
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.IO.Exception.ExitCode
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.IO.Handle.Types.BufferMode
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.IO.Handle.Types.Newline
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.IO.Handle.Types.NewlineMode
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.IO.IOMode.IOMode
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Int.Int16
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Int.Int32
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Int.Int64
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Int.Int8
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Unicode.GeneralCategory
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Word.Word16
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Word.Word32
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Word.Word64
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Internal.Word.Word8
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary GHC.Num.Natural.Natural
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Text.Printf.FieldFormat
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Text.Printf.FormatAdjustment
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Text.Printf.FormatParse
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Text.Printf.FormatSign
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.First a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.Last a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.Max a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.Min a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Semigroup.WrappedMonoid a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Base.NonEmpty a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Bits.And a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Bits.Iff a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Bits.Ior a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Bits.Xor a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Functor.Identity.Identity a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Monoid.First a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Monoid.Last a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Ord.Down a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Semigroup.Internal.Dual a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Semigroup.Internal.Product a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Semigroup.Internal.Sum a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Functor.ZipList.ZipList a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Maybe.Maybe a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Tuple.Solo a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (System.Console.GetOpt.ArgDescr a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (System.Console.GetOpt.ArgOrder a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (System.Console.GetOpt.OptDescr a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary1 (GHC.Internal.Data.Either.Either a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary1 (GHC.Internal.Data.Functor.Const.Const a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.RecursivelyShrink (GHC.Internal.Generics.K1 i a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary1 GHC.Internal.Base.NonEmpty
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary1 GHC.Internal.Data.Functor.Identity.Identity
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary1 GHC.Internal.Functor.ZipList.ZipList
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary1 GHC.Internal.Maybe.Maybe
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary2 GHC.Internal.Data.Either.Either
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary2 GHC.Internal.Data.Functor.Const.Const
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Data.Semigroup.Internal.All
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Data.Semigroup.Internal.Any
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Data.Version.Version
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.IO.Handle.Types.Newline
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.IO.Handle.Types.NewlineMode
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Int.Int16
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Int.Int32
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Int.Int64
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Int.Int8
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Word.Word16
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Word.Word32
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Word.Word64
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary GHC.Internal.Word.Word8
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Functor.Contravariant.Comparison a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Functor.Contravariant.Equivalence a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.Functor.Contravariant.Predicate a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Data.Functor.Identity.Identity a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Data.Monoid.First a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Data.Monoid.Last a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Data.Semigroup.Internal.Dual a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Data.Semigroup.Internal.Product a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Data.Semigroup.Internal.Sum a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Functor.ZipList.ZipList a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Maybe.Maybe a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.GCoArbitrary (GHC.Internal.Generics.K1 i a)
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GCoArbitrary GHC.Internal.Generics.U1
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubterms (GHC.Internal.Generics.K1 i a) b
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubterms GHC.Internal.Generics.U1 a
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubterms GHC.Internal.Generics.V1 a
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubterms f a => Test.QuickCheck.Arbitrary.GSubterms (GHC.Internal.Generics.M1 i c f) a
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubtermsIncl (GHC.Internal.Generics.K1 i a) a
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubtermsIncl (GHC.Internal.Generics.K1 i a) b
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubtermsIncl GHC.Internal.Generics.U1 a
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubtermsIncl GHC.Internal.Generics.V1 a
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.GSubtermsIncl f a => Test.QuickCheck.Arbitrary.GSubtermsIncl (GHC.Internal.Generics.M1 i c f) a
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.RecursivelyShrink GHC.Internal.Generics.U1
+ Test.QuickCheck.Arbitrary: instance Test.QuickCheck.Arbitrary.RecursivelyShrink GHC.Internal.Generics.V1
+ Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (a :: k). Test.QuickCheck.Arbitrary.Arbitrary (f a) => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Semigroup.Internal.Alt f a)
+ Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (a :: k). Test.QuickCheck.Arbitrary.CoArbitrary (f a) => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Data.Semigroup.Internal.Alt f a)
+ Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Arbitrary.GCoArbitrary f, Test.QuickCheck.Arbitrary.GCoArbitrary g) => Test.QuickCheck.Arbitrary.GCoArbitrary (f GHC.Internal.Generics.:*: g)
+ Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Arbitrary.GCoArbitrary f, Test.QuickCheck.Arbitrary.GCoArbitrary g) => Test.QuickCheck.Arbitrary.GCoArbitrary (f GHC.Internal.Generics.:+: g)
+ Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Arbitrary.RecursivelyShrink f, Test.QuickCheck.Arbitrary.RecursivelyShrink g) => Test.QuickCheck.Arbitrary.RecursivelyShrink (f GHC.Internal.Generics.:*: g)
+ Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Arbitrary.RecursivelyShrink f, Test.QuickCheck.Arbitrary.RecursivelyShrink g) => Test.QuickCheck.Arbitrary.RecursivelyShrink (f GHC.Internal.Generics.:+: g)
+ Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) i (c :: GHC.Internal.Generics.Meta). Test.QuickCheck.Arbitrary.GCoArbitrary f => Test.QuickCheck.Arbitrary.GCoArbitrary (GHC.Internal.Generics.M1 i c f)
+ Test.QuickCheck.Arbitrary: instance forall k (f :: k -> *) i (c :: GHC.Internal.Generics.Meta). Test.QuickCheck.Arbitrary.RecursivelyShrink f => Test.QuickCheck.Arbitrary.RecursivelyShrink (GHC.Internal.Generics.M1 i c f)
+ Test.QuickCheck.Arbitrary: instance forall k a (b :: k). Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (GHC.Internal.Data.Functor.Const.Const a b)
+ Test.QuickCheck.Arbitrary: instance forall k a (b :: k). Test.QuickCheck.Arbitrary.CoArbitrary a => Test.QuickCheck.Arbitrary.CoArbitrary (GHC.Internal.Data.Functor.Const.Const a b)
+ Test.QuickCheck.Function: ($dmfunction) :: (Function a, Generic a, GFunction (Rep a)) => (a -> b) -> a :-> b
+ Test.QuickCheck.Function: instance (GHC.Internal.Float.RealFloat a, Test.QuickCheck.Function.Function a) => Test.QuickCheck.Function.Function (Data.Complex.Complex a)
+ Test.QuickCheck.Function: instance (GHC.Internal.Real.Integral a, Test.QuickCheck.Function.Function a) => Test.QuickCheck.Function.Function (GHC.Internal.Real.Ratio a)
+ Test.QuickCheck.Function: instance (GHC.Internal.Show.Show a, GHC.Internal.Show.Show b) => GHC.Internal.Show.Show (Test.QuickCheck.Function.Fun a b)
+ Test.QuickCheck.Function: instance (GHC.Internal.Show.Show a, GHC.Internal.Show.Show b) => GHC.Internal.Show.Show (a Test.QuickCheck.Function.:-> b)
+ Test.QuickCheck.Function: instance (Test.QuickCheck.Function.Function a, Test.QuickCheck.Function.Function b) => Test.QuickCheck.Function.Function (GHC.Internal.Data.Either.Either a b)
+ Test.QuickCheck.Function: instance GHC.Internal.Base.Functor ((Test.QuickCheck.Function.:->) a)
+ Test.QuickCheck.Function: instance GHC.Internal.Base.Functor (Test.QuickCheck.Function.Fun a)
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.Data.Semigroup.Internal.All
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.Data.Semigroup.Internal.Any
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.IO.Handle.Types.Newline
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.IO.Handle.Types.NewlineMode
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.Int.Int16
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.Int.Int32
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.Int.Int64
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.Int.Int8
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.Word.Word16
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.Word.Word32
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.Word.Word64
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function GHC.Internal.Word.Word8
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (GHC.Internal.Data.Functor.Identity.Identity a)
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (GHC.Internal.Data.Monoid.First a)
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (GHC.Internal.Data.Monoid.Last a)
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (GHC.Internal.Data.Semigroup.Internal.Dual a)
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (GHC.Internal.Data.Semigroup.Internal.Product a)
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (GHC.Internal.Data.Semigroup.Internal.Sum a)
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (GHC.Internal.Maybe.Maybe a)
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.GFunction (GHC.Internal.Generics.K1 i a)
+ Test.QuickCheck.Function: instance Test.QuickCheck.Function.GFunction GHC.Internal.Generics.U1
+ Test.QuickCheck.Function: instance forall k (f :: k -> *) (a :: k). Test.QuickCheck.Function.Function (f a) => Test.QuickCheck.Function.Function (GHC.Internal.Data.Semigroup.Internal.Alt f a)
+ Test.QuickCheck.Function: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Function.GFunction f, Test.QuickCheck.Function.GFunction g) => Test.QuickCheck.Function.GFunction (f GHC.Internal.Generics.:*: g)
+ Test.QuickCheck.Function: instance forall k (f :: k -> *) (g :: k -> *). (Test.QuickCheck.Function.GFunction f, Test.QuickCheck.Function.GFunction g) => Test.QuickCheck.Function.GFunction (f GHC.Internal.Generics.:+: g)
+ Test.QuickCheck.Function: instance forall k (f :: k -> *) i (c :: GHC.Internal.Generics.Meta). Test.QuickCheck.Function.GFunction f => Test.QuickCheck.Function.GFunction (GHC.Internal.Generics.M1 i c f)
+ Test.QuickCheck.Function: instance forall k a (b :: k). Test.QuickCheck.Function.Function a => Test.QuickCheck.Function.Function (GHC.Internal.Data.Functor.Const.Const a b)
+ Test.QuickCheck.Gen: instance GHC.Internal.Base.Applicative Test.QuickCheck.Gen.Gen
+ Test.QuickCheck.Gen: instance GHC.Internal.Base.Functor Test.QuickCheck.Gen.Gen
+ Test.QuickCheck.Gen: instance GHC.Internal.Base.Monad Test.QuickCheck.Gen.Gen
+ Test.QuickCheck.Gen: instance GHC.Internal.Control.Monad.Fix.MonadFix Test.QuickCheck.Gen.Gen
+ Test.QuickCheck.Modifiers: instance (GHC.Internal.Num.Num a, GHC.Classes.Eq a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.NonZero a)
+ Test.QuickCheck.Modifiers: instance (GHC.Internal.Num.Num a, GHC.Classes.Ord a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.Negative a)
+ Test.QuickCheck.Modifiers: instance (GHC.Internal.Num.Num a, GHC.Classes.Ord a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.NonNegative a)
+ Test.QuickCheck.Modifiers: instance (GHC.Internal.Num.Num a, GHC.Classes.Ord a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.NonPositive a)
+ Test.QuickCheck.Modifiers: instance (GHC.Internal.Num.Num a, GHC.Classes.Ord a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.Positive a)
+ Test.QuickCheck.Modifiers: instance (GHC.Internal.Real.Integral a, GHC.Internal.Enum.Bounded a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.Large a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor (Test.QuickCheck.Modifiers.Shrinking s)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.Blind
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.Fixed
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.Large
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.Negative
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.NoShrink
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.NonEmptyList
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.NonNegative
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.NonPositive
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.NonZero
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.OrderedList
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.Positive
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.Shrink2
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.Small
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.Smart
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Base.Functor Test.QuickCheck.Modifiers.SortedList
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.Blind a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.Fixed a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.Large a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.Negative a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.NoShrink a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.NonNegative a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.NonPositive a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.NonZero a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.Positive a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.Shrink2 a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Test.QuickCheck.Modifiers.Small a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Ix.Ix a => GHC.Internal.Ix.Ix (Test.QuickCheck.Modifiers.Large a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Ix.Ix a => GHC.Internal.Ix.Ix (Test.QuickCheck.Modifiers.NoShrink a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Ix.Ix a => GHC.Internal.Ix.Ix (Test.QuickCheck.Modifiers.Small a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Num.Num a => GHC.Internal.Num.Num (Test.QuickCheck.Modifiers.Blind a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Num.Num a => GHC.Internal.Num.Num (Test.QuickCheck.Modifiers.Fixed a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Num.Num a => GHC.Internal.Num.Num (Test.QuickCheck.Modifiers.Large a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Num.Num a => GHC.Internal.Num.Num (Test.QuickCheck.Modifiers.NoShrink a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Num.Num a => GHC.Internal.Num.Num (Test.QuickCheck.Modifiers.Shrink2 a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Num.Num a => GHC.Internal.Num.Num (Test.QuickCheck.Modifiers.Small a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read Test.QuickCheck.Modifiers.ASCIIString
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read Test.QuickCheck.Modifiers.PrintableString
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read Test.QuickCheck.Modifiers.UnicodeString
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.Fixed a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.Large a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.Negative a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.NoShrink a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.NonEmptyList a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.NonNegative a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.NonPositive a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.NonZero a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.OrderedList a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.Positive a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.Shrink2 a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.Small a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Test.QuickCheck.Modifiers.SortedList a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Integral a => GHC.Internal.Real.Integral (Test.QuickCheck.Modifiers.Blind a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Integral a => GHC.Internal.Real.Integral (Test.QuickCheck.Modifiers.Fixed a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Integral a => GHC.Internal.Real.Integral (Test.QuickCheck.Modifiers.Large a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Integral a => GHC.Internal.Real.Integral (Test.QuickCheck.Modifiers.NoShrink a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Integral a => GHC.Internal.Real.Integral (Test.QuickCheck.Modifiers.Shrink2 a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Integral a => GHC.Internal.Real.Integral (Test.QuickCheck.Modifiers.Small a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Integral a => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Modifiers.Small a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Real a => GHC.Internal.Real.Real (Test.QuickCheck.Modifiers.Blind a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Real a => GHC.Internal.Real.Real (Test.QuickCheck.Modifiers.Fixed a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Real a => GHC.Internal.Real.Real (Test.QuickCheck.Modifiers.Large a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Real a => GHC.Internal.Real.Real (Test.QuickCheck.Modifiers.NoShrink a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Real a => GHC.Internal.Real.Real (Test.QuickCheck.Modifiers.Shrink2 a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Real.Real a => GHC.Internal.Real.Real (Test.QuickCheck.Modifiers.Small a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.Blind a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show Test.QuickCheck.Modifiers.ASCIIString
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show Test.QuickCheck.Modifiers.PrintableString
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show Test.QuickCheck.Modifiers.UnicodeString
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.Fixed a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.InfiniteList a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.Large a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.Negative a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.NoShrink a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.NonEmptyList a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.NonNegative a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.NonPositive a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.NonZero a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.OrderedList a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.Positive a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.Shrink2 a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.Shrinking s a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.Small a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.Smart a)
+ Test.QuickCheck.Modifiers: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Test.QuickCheck.Modifiers.SortedList a)
+ Test.QuickCheck.Monadic: instance GHC.Internal.Base.Applicative (Test.QuickCheck.Monadic.PropertyM m)
+ Test.QuickCheck.Monadic: instance GHC.Internal.Base.Functor (Test.QuickCheck.Monadic.PropertyM m)
+ Test.QuickCheck.Monadic: instance GHC.Internal.Base.Monad m => GHC.Internal.Base.Monad (Test.QuickCheck.Monadic.PropertyM m)
+ Test.QuickCheck.Monadic: instance GHC.Internal.Base.Monad m => GHC.Internal.Control.Monad.Fail.MonadFail (Test.QuickCheck.Monadic.PropertyM m)
+ Test.QuickCheck.Monadic: instance GHC.Internal.Control.Monad.IO.Class.MonadIO m => GHC.Internal.Control.Monad.IO.Class.MonadIO (Test.QuickCheck.Monadic.PropertyM m)
+ Test.QuickCheck.Monoids: instance GHC.Internal.Base.Monoid Test.QuickCheck.Monoids.Every
+ Test.QuickCheck.Monoids: instance GHC.Internal.Base.Monoid Test.QuickCheck.Monoids.Some
+ Test.QuickCheck.Monoids: instance GHC.Internal.Base.Semigroup Test.QuickCheck.Monoids.Every
+ Test.QuickCheck.Monoids: instance GHC.Internal.Base.Semigroup Test.QuickCheck.Monoids.Some
+ Test.QuickCheck.Poly: instance GHC.Internal.Num.Num Test.QuickCheck.Poly.OrdA
+ Test.QuickCheck.Poly: instance GHC.Internal.Num.Num Test.QuickCheck.Poly.OrdB
+ Test.QuickCheck.Poly: instance GHC.Internal.Num.Num Test.QuickCheck.Poly.OrdC
+ Test.QuickCheck.Poly: instance GHC.Internal.Show.Show Test.QuickCheck.Poly.A
+ Test.QuickCheck.Poly: instance GHC.Internal.Show.Show Test.QuickCheck.Poly.B
+ Test.QuickCheck.Poly: instance GHC.Internal.Show.Show Test.QuickCheck.Poly.C
+ Test.QuickCheck.Poly: instance GHC.Internal.Show.Show Test.QuickCheck.Poly.OrdA
+ Test.QuickCheck.Poly: instance GHC.Internal.Show.Show Test.QuickCheck.Poly.OrdB
+ Test.QuickCheck.Poly: instance GHC.Internal.Show.Show Test.QuickCheck.Poly.OrdC
- Test.QuickCheck: class Arbitrary1 f
+ Test.QuickCheck: class Arbitrary1 (f :: Type -> Type)
- Test.QuickCheck: class Arbitrary2 f
+ Test.QuickCheck: class Arbitrary2 (f :: Type -> Type -> Type)
- Test.QuickCheck: coarbitrary :: (CoArbitrary a, Generic a, GCoArbitrary (Rep a)) => a -> Gen b -> Gen b
+ Test.QuickCheck: coarbitrary :: CoArbitrary a => a -> Gen b -> Gen b
- Test.QuickCheck: function :: (Function a, Generic a, GFunction (Rep a)) => (a -> b) -> a :-> b
+ Test.QuickCheck: function :: Function a => (a -> b) -> a :-> b
- Test.QuickCheck: functionVoid :: (forall b. void -> b) -> void :-> c
+ Test.QuickCheck: functionVoid :: (forall b. () => void -> b) -> void :-> c
- Test.QuickCheck.Arbitrary: class Arbitrary1 f
+ Test.QuickCheck.Arbitrary: class Arbitrary1 (f :: Type -> Type)
- Test.QuickCheck.Arbitrary: class Arbitrary2 f
+ Test.QuickCheck.Arbitrary: class Arbitrary2 (f :: Type -> Type -> Type)
- Test.QuickCheck.Arbitrary: class GSubterms f a
+ Test.QuickCheck.Arbitrary: class GSubterms (f :: Type -> Type) a
- Test.QuickCheck.Arbitrary: class RecursivelyShrink f
+ Test.QuickCheck.Arbitrary: class RecursivelyShrink (f :: k -> Type)
- Test.QuickCheck.Arbitrary: coarbitrary :: (CoArbitrary a, Generic a, GCoArbitrary (Rep a)) => a -> Gen b -> Gen b
+ Test.QuickCheck.Arbitrary: coarbitrary :: CoArbitrary a => a -> Gen b -> Gen b
- Test.QuickCheck.Function: function :: (Function a, Generic a, GFunction (Rep a)) => (a -> b) -> a :-> b
+ Test.QuickCheck.Function: function :: Function a => (a -> b) -> a :-> b
- Test.QuickCheck.Function: functionVoid :: (forall b. void -> b) -> void :-> c
+ Test.QuickCheck.Function: functionVoid :: (forall b. () => void -> b) -> void :-> c
- Test.QuickCheck.Gen.Unsafe: Capture :: (forall a. Gen a -> a) -> Capture
+ Test.QuickCheck.Gen.Unsafe: Capture :: (forall a. () => Gen a -> a) -> Capture
- Test.QuickCheck.Monadic: MkPropertyM :: ((a -> Gen (m Property)) -> Gen (m Property)) -> PropertyM m a
+ Test.QuickCheck.Monadic: MkPropertyM :: ((a -> Gen (m Property)) -> Gen (m Property)) -> PropertyM (m :: Type -> Type) a
- Test.QuickCheck.Monadic: [unPropertyM] :: PropertyM m a -> (a -> Gen (m Property)) -> Gen (m Property)
+ Test.QuickCheck.Monadic: [unPropertyM] :: PropertyM (m :: Type -> Type) a -> (a -> Gen (m Property)) -> Gen (m Property)
- Test.QuickCheck.Monadic: assert :: Monad m => Bool -> PropertyM m ()
+ Test.QuickCheck.Monadic: assert :: forall (m :: Type -> Type). Monad m => Bool -> PropertyM m ()
- Test.QuickCheck.Monadic: assertWith :: Monad m => Bool -> String -> PropertyM m ()
+ Test.QuickCheck.Monadic: assertWith :: forall (m :: Type -> Type). Monad m => Bool -> String -> PropertyM m ()
- Test.QuickCheck.Monadic: forAllM :: (Monad m, Show a) => Gen a -> (a -> PropertyM m b) -> PropertyM m b
+ Test.QuickCheck.Monadic: forAllM :: forall (m :: Type -> Type) a b. (Monad m, Show a) => Gen a -> (a -> PropertyM m b) -> PropertyM m b
- Test.QuickCheck.Monadic: monadicST :: Testable a => (forall s. PropertyM (ST s) a) -> Property
+ Test.QuickCheck.Monadic: monadicST :: Testable a => (forall s. () => PropertyM (ST s) a) -> Property
- Test.QuickCheck.Monadic: monitor :: Monad m => (Property -> Property) -> PropertyM m ()
+ Test.QuickCheck.Monadic: monitor :: forall (m :: Type -> Type). Monad m => (Property -> Property) -> PropertyM m ()
- Test.QuickCheck.Monadic: newtype PropertyM m a
+ Test.QuickCheck.Monadic: newtype PropertyM (m :: Type -> Type) a
- Test.QuickCheck.Monadic: pick :: (Monad m, Show a) => Gen a -> PropertyM m a
+ Test.QuickCheck.Monadic: pick :: forall (m :: Type -> Type) a. (Monad m, Show a) => Gen a -> PropertyM m a
- Test.QuickCheck.Monadic: pre :: Monad m => Bool -> PropertyM m ()
+ Test.QuickCheck.Monadic: pre :: forall (m :: Type -> Type). Monad m => Bool -> PropertyM m ()
- Test.QuickCheck.Monadic: runSTGen :: (forall s. Gen (ST s a)) -> Gen a
+ Test.QuickCheck.Monadic: runSTGen :: (forall s. () => Gen (ST s a)) -> Gen a
- Test.QuickCheck.Monadic: stop :: (Testable prop, Monad m) => prop -> PropertyM m a
+ Test.QuickCheck.Monadic: stop :: forall prop (m :: Type -> Type) a. (Testable prop, Monad m) => prop -> PropertyM m a

Files

QuickCheck.cabal view
@@ -1,5 +1,5 @@ Name: QuickCheck-Version: 2.16.0.0+Version: 2.17.0.0 Cabal-Version: >= 1.10 Build-type: Simple License: BSD3@@ -8,9 +8,7 @@ Author: Koen Claessen <koen@chalmers.se> Maintainer: Nick Smallbone <nick@smallbone.se> Bug-reports: https://github.com/nick8325/quickcheck/issues-Tested-with: GHC == 7.10.3 ||-                 == 8.0.2  ||-                 >= 8.2.2 && < 9.11+Tested-with: GHC >= 8.10 && < 9.13, hugs Homepage: https://github.com/nick8325/quickcheck Category:       Testing Synopsis:       Automatic testing of Haskell programs@@ -51,6 +49,7 @@   examples/Simple.hs   make-hugs   test-hugs+  test-mhs  source-repository head   type:     git@@ -73,7 +72,7 @@  library   Hs-source-dirs: src-  Build-depends: base >=4.3 && <5, containers+  Build-depends: base >=4.9 && <5, containers   Default-language: Haskell2010    -- New vs old random.@@ -114,57 +113,41 @@     Test.QuickCheck.Features    -- GHC-specific modules.-  if impl(ghc)+  if impl(ghc) || impl(mhs)     Exposed-Modules: Test.QuickCheck.Function     Build-depends: transformers >= 0.3, deepseq >= 1.1.0.0-  else-    cpp-options: -DNO_TRANSFORMERS -DNO_DEEPSEQ    if impl(ghc) && flag(templateHaskell)     Build-depends: template-haskell >= 2.4-    if impl(ghc >=8.0)-      Other-Extensions: TemplateHaskellQuotes-    else-      Other-Extensions: TemplateHaskell+    Other-Extensions: TemplateHaskellQuotes     Exposed-Modules: Test.QuickCheck.All   else     cpp-options: -DNO_TEMPLATE_HASKELL -  if !impl(ghc >= 8.0)-    cpp-options: -DNO_CALLSTACK -DNO_SEMIGROUP--  if !impl(ghc >= 7.4)-    cpp-options: -DNO_CTYPES_CONSTRUCTORS -DNO_FOREIGN_C_USECONDS--  -- The new generics appeared in GHC 7.2...-  if impl(ghc < 7.2)-    cpp-options: -DNO_GENERICS-  -- ...but in 7.2-7.4 it lives in the ghc-prim package.-  if impl(ghc >= 7.2) && impl(ghc < 7.6)-    Build-depends: ghc-prim--  -- Safe Haskell appeared in GHC 7.2, but GHC.Generics isn't safe until 7.4.-  if impl (ghc < 7.4)-    cpp-options: -DNO_SAFE_HASKELL+  if !impl(ghc) && !impl(mhs)+    cpp-options: -DNO_CALLSTACK+                 -DNO_SEMIGROUP+                 -DNO_CTYPES_CONSTRUCTORS+                 -DNO_FOREIGN_C_USECONDS+                 -DNO_POLYKINDS+                 -DNO_MONADFAIL+                 -DNO_TRANSFORMERS+                 -DNO_DEEPSEQ    -- random is explicitly Trustworthy since 1.0.1.0   -- similar constraint for containers-  if impl(ghc >= 7.2)+  if impl(ghc)     Build-depends: random >=1.0.1.0-  if impl(ghc >= 7.4)-    Build-depends: containers >=0.4.2.1--  if !impl(ghc >= 7.6)-      cpp-options: -DNO_POLYKINDS--  if !impl(ghc >= 8.0)-    cpp-options: -DNO_MONADFAIL+                 , containers >=0.4.2.1    if impl(ghc >= 9.8)     ghc-options: -Wno-x-partial +  if impl(ghc < 9.4)+    Build-depends: data-array-byte+   -- Switch off most optional features on non-GHC systems.-  if !impl(ghc)+  if !impl(ghc) && !impl(mhs)     -- If your Haskell compiler can cope without some of these, please     -- send a message to the QuickCheck mailing list!     cpp-options: -DNO_TIMEOUT -DNO_NEWTYPE_DERIVING -DNO_GENERICS@@ -173,17 +156,14 @@     if !impl(hugs) && !impl(uhc)       cpp-options: -DNO_ST_MONAD -DNO_MULTI_PARAM_TYPE_CLASSES +  if impl(mhs)+    cpp-options: -DNO_GENERICS -DNO_TEMPLATE_HASKELL -DNO_CTYPES_CONSTRUCTORS+                 -DNO_EXISTENTIAL_FIELD_SELECTORS+   -- LANGUAGE pragmas don't have any effect in Hugs.   if impl(hugs)     Default-Extensions: CPP -  if impl(uhc)-    -- Cabal under UHC needs pointing out all the dependencies of the-    -- random package.-    Build-depends: old-time, old-locale-    -- Plus some bits of the standard library are missing.-    cpp-options: -DNO_FIXED -DNO_EXCEPTIONS- Test-Suite test-quickcheck     type: exitcode-stdio-1.0     Default-language: Haskell2010@@ -200,10 +180,8 @@     hs-source-dirs: tests     main-is: GCoArbitraryExample.hs     build-depends: base, QuickCheck-    if !flag(templateHaskell) || !impl(ghc >= 7.2)+    if !flag(templateHaskell)         buildable: False-    if impl(ghc >= 7.2) && impl(ghc < 7.6)-        build-depends: ghc-prim  Test-Suite test-quickcheck-generators     type: exitcode-stdio-1.0@@ -220,10 +198,8 @@     hs-source-dirs: tests     main-is: GShrinkExample.hs     build-depends: base, QuickCheck-    if !flag(templateHaskell) || !impl(ghc >= 7.2)+    if !flag(templateHaskell)         buildable: False-    if impl(ghc >= 7.2) && impl(ghc < 7.6)-        build-depends: ghc-prim  Test-Suite test-quickcheck-terminal     type: exitcode-stdio-1.0@@ -231,7 +207,7 @@     hs-source-dirs: tests     main-is: Terminal.hs     build-depends: base, process, deepseq >= 1.1.0.0, QuickCheck-    if !flag(templateHaskell) || !impl(ghc >= 7.10)+    if !flag(templateHaskell)         buildable: False  Test-Suite test-quickcheck-monadfix@@ -240,7 +216,7 @@     hs-source-dirs: tests     main-is: MonadFix.hs     build-depends: base, QuickCheck-    if !flag(templateHaskell) || !impl(ghc >= 7.10)+    if !flag(templateHaskell)         buildable: False  Test-Suite test-quickcheck-split@@ -258,7 +234,7 @@     hs-source-dirs: tests     main-is: Strictness.hs     build-depends: base, QuickCheck, containers-    if !flag(templateHaskell) || !impl(ghc >= 7.10)+    if !flag(templateHaskell)         buildable: False  Test-Suite test-quickcheck-misc@@ -267,7 +243,7 @@     hs-source-dirs: tests     main-is: Misc.hs     build-depends: base, QuickCheck, containers-    if !flag(templateHaskell) || !impl(ghc >= 7.10)+    if !flag(templateHaskell)         buildable: False  Test-Suite test-quickcheck-discard@@ -283,10 +259,6 @@     hs-source-dirs: tests     main-is: Monoids.hs     build-depends: base, QuickCheck-    if !impl(ghc >= 8.4)-      cpp-options: -DNO_SEMIGROUP_SUPERCLASS-    if !impl(ghc >= 8.0)-      cpp-options: -DNO_SEMIGROUP_CLASS  Test-Suite test-quickcheck-withprogress     type: exitcode-stdio-1.0@@ -294,3 +266,20 @@     hs-source-dirs: tests     main-is: WithProgress.hs     build-depends: base, QuickCheck++Test-Suite test-quickcheck-instances+    type: exitcode-stdio-1.0+    Default-language: Haskell2010+    hs-source-dirs: tests+    other-modules: CollectDataTypes+    main-is: RunCollectDataTypes.hs+    build-depends:+      base,+      QuickCheck,+      transformers,+      split,+      process,+      template-haskell,+      hint+    if !flag(templateHaskell) || impl(ghc <= 8.10)+        buildable: False
changelog view
@@ -1,3 +1,10 @@+QuickCheck 2.17+	* Lower the memory use of `arbitrary` for `Double` and `Float` (thanks+	ChickenProp)+	* BREAKING: Remove `Gen.Class`+	* BREAKING: Add `Arbitrary` instances for most of the types in `base`+	* Add microHS support (thanks Lennart)+ QuickCheck 2.16 	* Add a `Safe` declaration to `Test.QuickCheck.Monoids` 	* Fix `Test.QuickCheck.Features` to not depend on the internal testing loop
src/Test/QuickCheck/All.hs view
@@ -20,6 +20,7 @@   verboseCheckAll,   forAllProperties,   allProperties,+  runQuickCheckAll,   -- ** Testing polymorphic properties   polyQuickCheck,   polyVerboseCheck,
src/Test/QuickCheck/Arbitrary.hs view
@@ -89,10 +89,20 @@  import Control.Applicative import Data.Foldable(toList)+#if MIN_VERSION_random(1,3,0)+import System.Random(Random, uniformByteArray)+#else import System.Random(Random)+#endif import Test.QuickCheck.Gen import Test.QuickCheck.Random import Test.QuickCheck.Gen.Unsafe+#if defined(__MHS__)+-- These two are not exported by Control.Applicative.+-- Why should they be?  They are just bloat.+import Data.ZipList+import Control.WrappedMonad+#endif  {- import Data.Generics@@ -136,16 +146,25 @@   , nub   ) + import Data.Version (Version (..))  #if defined(MIN_VERSION_base)-#if MIN_VERSION_base(4,2,0)+import Numeric.Natural++import Data.List.NonEmpty (NonEmpty)+import qualified Data.List.NonEmpty as NonEmpty+ import System.IO   ( Newline(..)   , NewlineMode(..)+  , SeekMode(..)+  , BufferMode(..)+  , TextEncoding+  , latin1, utf8, utf8_bom, utf16, utf16le, utf16be, utf32, utf32le, utf32be, localeEncoding, char8+  , IOMode(..)   ) #endif-#endif  import Control.Monad   ( liftM@@ -175,7 +194,6 @@ #endif import qualified Data.Sequence as Sequence import qualified Data.Tree as Tree-import Data.Bits  import qualified Data.Monoid as Monoid @@ -186,6 +204,30 @@ import Data.Functor.Product #endif +#if defined(MIN_VERSION_base)+#if MIN_VERSION_base(4,16,0)+--import Data.Type.Ord+#endif++import qualified Data.Semigroup as Semigroup+import Data.Ord++import System.Console.GetOpt+    ( ArgDescr(..), ArgOrder(..), OptDescr(..) )++import Data.Functor.Contravariant++import Data.Array.Byte+import qualified GHC.Exts as Exts++#if MIN_VERSION_base(4,16,0)+import Data.Tuple+#endif+#endif++import Data.Bits+import Text.Printf+ -------------------------------------------------------------------------- -- ** class Arbitrary @@ -493,14 +535,16 @@     xs1 = take k xs     xs2 = drop k xs -{--  -- "standard" definition for lists:-  shrink []     = []-  shrink (x:xs) = [ xs ]-               ++ [ x:xs' | xs' <- shrink xs ]-               ++ [ x':xs | x'  <- shrink x ]--}+#if defined(MIN_VERSION_base)+instance Arbitrary1 NonEmpty where+  liftArbitrary arb = NonEmpty.fromList <$> listOf1 arb+  liftShrink shr xs = [ NonEmpty.fromList xs' | xs' <- liftShrink shr (NonEmpty.toList xs), not (null xs') ] +instance Arbitrary a => Arbitrary (NonEmpty a) where+  arbitrary = arbitrary1+  shrink = shrink1+#endif+ instance Integral a => Arbitrary (Ratio a) where   arbitrary = sized $ \ n -> do     denom <- chooseInt (1, max 1 n)@@ -513,7 +557,8 @@     pure $ fromI numer % fromI denom   shrink = shrinkRealFrac -#if defined(MIN_VERSION_base) && MIN_VERSION_base(4,4,0)++#if defined(MIN_VERSION_base) instance Arbitrary a => Arbitrary (Complex a) where #else instance (RealFloat a, Arbitrary a) => Arbitrary (Complex a) where@@ -645,6 +690,12 @@   arbitrary = arbitrarySizedIntegral   shrink    = shrinkIntegral +#if defined(MIN_VERSION_base)+instance Arbitrary Natural where+  arbitrary = arbitrarySizedNatural+  shrink    = shrinkIntegral+#endif+ instance Arbitrary Int where   arbitrary = arbitrarySizedIntegral   shrink    = shrinkIntegral@@ -722,7 +773,7 @@     ]     where       smallDenominators = sized $ \n -> do-        i <- chooseInt (0, n)+        i <- chooseInt (0, min n 256)         pure (fromRational (streamNth i rationalUniverse))        uniform = sized $ \n -> do@@ -748,7 +799,7 @@     ]     where       smallDenominators = sized $ \n -> do-        i <- chooseInt (0, n)+        i <- chooseInt (0, min n 256)         pure (fromRational (streamNth i rationalUniverse))        uniform = sized $ \n -> do@@ -1020,7 +1071,6 @@   shrink = map Monoid.Product  . shrink . Monoid.getProduct  #if defined(MIN_VERSION_base)-#if MIN_VERSION_base(3,0,0) instance Arbitrary a => Arbitrary (Monoid.First a) where   arbitrary = fmap Monoid.First arbitrary   shrink = map Monoid.First . shrink . Monoid.getFirst@@ -1028,15 +1078,170 @@ instance Arbitrary a => Arbitrary (Monoid.Last a) where   arbitrary = fmap Monoid.Last arbitrary   shrink = map Monoid.Last . shrink . Monoid.getLast-#endif -#if MIN_VERSION_base(4,8,0) instance Arbitrary (f a) => Arbitrary (Monoid.Alt f a) where   arbitrary = fmap Monoid.Alt arbitrary   shrink = map Monoid.Alt . shrink . Monoid.getAlt++instance Arbitrary a => Arbitrary (Semigroup.Min a) where+  arbitrary = fmap Semigroup.Min arbitrary+  shrink = map Semigroup.Min . shrink . Semigroup.getMin++instance Arbitrary a => Arbitrary (Semigroup.Max a) where+  arbitrary = fmap Semigroup.Max arbitrary+  shrink = map Semigroup.Max . shrink . Semigroup.getMax++instance Arbitrary a => Arbitrary (Semigroup.First a) where+  arbitrary = fmap Semigroup.First arbitrary+  shrink = map Semigroup.First . shrink . Semigroup.getFirst++instance Arbitrary a => Arbitrary (Semigroup.Last a) where+  arbitrary = fmap Semigroup.Last arbitrary+  shrink = map Semigroup.Last . shrink . Semigroup.getLast++instance (Arbitrary a, Arbitrary b) => Arbitrary (Semigroup.Arg a b) where+  arbitrary = Semigroup.Arg <$> arbitrary <*> arbitrary+  shrink (Semigroup.Arg a b) = uncurry Semigroup.Arg <$> shrink (a, b)++instance Arbitrary a => Arbitrary (Semigroup.WrappedMonoid a) where+  arbitrary = Semigroup.WrapMonoid <$> arbitrary+  shrink = map Semigroup.WrapMonoid . shrink . Semigroup.unwrapMonoid++#if !MIN_VERSION_base(4,15,0)+instance Arbitrary a => Arbitrary (Semigroup.Option a) where+  arbitrary = Semigroup.Option <$> arbitrary+  shrink = map Semigroup.Option . shrink . Semigroup.getOption #endif++#if MIN_VERSION_base(4,16,0)+instance Arbitrary a => Arbitrary (Iff a) where+  arbitrary = Iff <$> arbitrary+  shrink = map Iff . shrink . getIff++instance Arbitrary a => Arbitrary (Ior a) where+  arbitrary = Ior <$> arbitrary+  shrink = map Ior . shrink . getIor++instance Arbitrary a => Arbitrary (Xor a) where+  arbitrary = Xor <$> arbitrary+  shrink = map Xor . shrink . getXor++instance Arbitrary a => Arbitrary (And a) where+  arbitrary = And <$> arbitrary+  shrink = map And . shrink . getAnd #endif +#if !defined(__MHS__)+instance Arbitrary ByteArray where+#if MIN_VERSION_random(1,3,0)+  arbitrary = do+    pin <- arbitrary+    len <- abs <$> arbitrary+    MkGen $ \ qcGen _ -> fst $ uniformByteArray pin len qcGen+#else+  arbitrary = Exts.fromList <$> arbitrary+#endif+  shrink = map Exts.fromList . shrink . Exts.toList+#else+-- MicroHs does not have Exts.fromList+#endif /* !defined(__MHS__) */++#if MIN_VERSION_base(4,16,0)++#if !MIN_VERSION_base(4,18,0)++getSolo :: Solo a -> a+getSolo (Solo a) = a++mkSolo :: a -> Solo a+mkSolo = Solo++#elif !MIN_VERSION_base(4,19,0)++getSolo :: Solo a -> a+getSolo (MkSolo a) = a++mkSolo :: a -> Solo a+mkSolo = MkSolo++#else++mkSolo :: a -> Solo a+mkSolo = MkSolo++#endif++instance Arbitrary a => Arbitrary (Solo a) where+  arbitrary = mkSolo <$> arbitrary+  shrink = map mkSolo . shrink . getSolo+#endif++instance Arbitrary a => Arbitrary (Down a) where+  arbitrary = fmap Down arbitrary+  shrink = map Down . shrink . getDown+#endif++#ifdef __GLASGOW_HASKELL__++instance Arbitrary a => Arbitrary (ArgDescr a) where+  arbitrary = oneof [ NoArg <$> arbitrary+                    , ReqArg <$> arbitrary <*> arbitrary+                    , OptArg <$> arbitrary <*> arbitrary+                    ]++  shrink (NoArg i) = [ NoArg i' | i' <- shrink i ]+  shrink (ReqArg a1 a2) = [ ReqArg a1' a2 | a1' <- shrink a1 ] +++                          [ ReqArg a1 a2' | a2' <- shrink a2 ]+  shrink (OptArg a1 a2) = [ OptArg a1' a2 | a1' <- shrink a1 ] +++                          [ OptArg a1 a2' | a2' <- shrink a2 ]++instance Arbitrary a => Arbitrary (ArgOrder a) where+  arbitrary = oneof [ return RequireOrder+                    , return Permute+                    , ReturnInOrder <$> arbitrary+                    ]++  shrink RequireOrder      = []+  shrink Permute           = []+  shrink (ReturnInOrder a) = [ ReturnInOrder a' | a' <- shrink a ]++instance Arbitrary a => Arbitrary (OptDescr a) where+  arbitrary = Option+                <$> arbitrary+                <*> arbitrary+                <*> arbitrary+                <*> arbitrary++  shrink (Option a b c d) = [ Option a' b c d | a' <- shrink a ] +++                            [ Option a b' c d | b' <- shrink b ] +++                            [ Option a b c' d | c' <- shrink c ] +++                            [ Option a b c d' | d' <- shrink d ]++-- Data.Functor.Contravariant++-- can maybe use Arbitrary1/2 for these+instance CoArbitrary a => Arbitrary (Predicate a) where+  arbitrary = Predicate <$> arbitrary++  shrink (Predicate p) = [ Predicate p' | p' <- shrink p ]++instance (Arbitrary a, CoArbitrary b) => Arbitrary (Op a b) where+  arbitrary = Op <$> arbitrary++  shrink (Op f) = [ Op f' | f' <- shrink f ]++instance CoArbitrary a => Arbitrary (Equivalence a) where+  arbitrary = Equivalence <$> arbitrary++  shrink (Equivalence e) = [ Equivalence e' | e' <- shrink e ]++instance CoArbitrary a => Arbitrary (Comparison a) where+  arbitrary = Comparison <$> arbitrary++  shrink (Comparison c) = [ Comparison c' | c' <- shrink c ]++#endif+ -- | Generates 'Version' with non-empty non-negative @versionBranch@, and empty @versionTags@ instance Arbitrary Version where   arbitrary = sized $ \n ->@@ -1065,7 +1270,6 @@   shrink _        = []  #if defined(MIN_VERSION_base)-#if MIN_VERSION_base(4,2,0) instance Arbitrary Newline where   arbitrary = elements [LF, CRLF] @@ -1081,7 +1285,52 @@   arbitrary = NewlineMode <$> arbitrary <*> arbitrary    shrink (NewlineMode inNL outNL) = [NewlineMode inNL' outNL' | (inNL', outNL') <- shrink (inNL, outNL)]-#endif++instance Arbitrary GeneralCategory where+  arbitrary = arbitraryBoundedEnum+  shrink = shrinkBoundedEnum++instance Arbitrary SeekMode where+  arbitrary = elements [ AbsoluteSeek, RelativeSeek, SeekFromEnd ]+  shrink x = takeWhile (x /=) [ AbsoluteSeek, RelativeSeek, SeekFromEnd ]++instance Arbitrary TextEncoding where+  arbitrary = elements [ latin1, utf8, utf8_bom, utf16, utf16le, utf16be, utf32, utf32le, utf32be, localeEncoding, char8 ]++instance Arbitrary BufferMode where+  arbitrary = oneof [ pure NoBuffering, pure LineBuffering, BlockBuffering <$> arbitrary ]+  shrink NoBuffering = []+  shrink LineBuffering = [ NoBuffering ]+  shrink (BlockBuffering m) = [ NoBuffering, LineBuffering ] ++ map BlockBuffering (shrink m)++instance Arbitrary IOMode where+  arbitrary = elements [ReadMode, WriteMode, AppendMode, ReadWriteMode]+  shrink x = takeWhile (/=x) [ReadMode, WriteMode, AppendMode, ReadWriteMode]++instance Arbitrary FormatSign where+  arbitrary = elements [SignPlus, SignSpace]+  shrink SignPlus = []+  shrink SignSpace = [SignPlus]++instance Arbitrary FormatAdjustment where+  arbitrary = elements [LeftAdjust, ZeroPad]+  shrink LeftAdjust = []+  shrink ZeroPad = [LeftAdjust]++instance Arbitrary FormatParse where+  arbitrary = FormatParse <$> arbitrary <*> arbitrary <*> arbitrary+  shrink (FormatParse a b c) = [ FormatParse a' b' c' | (a', b', c') <- shrink (a, b, c) ]++instance Arbitrary FieldFormat where+  arbitrary = FieldFormat <$> arbitrary+                          <*> arbitrary+                          <*> arbitrary+                          <*> arbitrary+                          <*> arbitrary+                          <*> arbitrary+                          <*> arbitrary+  shrink (FieldFormat a b c d e f g) = [ FieldFormat a' b' c' d' e' f' g' | (a', b', c', d', e', f', g') <- shrink (a, b, c, d, e, f, g) ]+ #endif  -- ** Helper functions for implementing arbitrary@@ -1433,7 +1682,7 @@   coarbitrary = coarbitraryReal #endif -#if defined(MIN_VERSION_base) && MIN_VERSION_base(4,4,0)+#if defined(MIN_VERSION_base) instance CoArbitrary a => CoArbitrary (Complex a) where #else instance (RealFloat a, CoArbitrary a) => CoArbitrary (Complex a) where@@ -1565,25 +1814,20 @@   coarbitrary = coarbitrary . Monoid.getProduct  #if defined(MIN_VERSION_base)-#if MIN_VERSION_base(3,0,0) instance CoArbitrary a => CoArbitrary (Monoid.First a) where   coarbitrary = coarbitrary . Monoid.getFirst  instance CoArbitrary a => CoArbitrary (Monoid.Last a) where   coarbitrary = coarbitrary . Monoid.getLast-#endif -#if MIN_VERSION_base(4,8,0) instance CoArbitrary (f a) => CoArbitrary (Monoid.Alt f a) where   coarbitrary = coarbitrary . Monoid.getAlt #endif-#endif  instance CoArbitrary Version where   coarbitrary (Version a b) = coarbitrary (a, b)  #if defined(MIN_VERSION_base)-#if MIN_VERSION_base(4,2,0) instance CoArbitrary Newline where   coarbitrary LF = variant 0   coarbitrary CRLF = variant 1@@ -1591,7 +1835,6 @@ instance CoArbitrary NewlineMode where   coarbitrary (NewlineMode inNL outNL) = coarbitrary inNL . coarbitrary outNL #endif-#endif  -- ** Helpers for implementing coarbitrary @@ -1639,8 +1882,9 @@ streamNth n (x :< xs) | n <= 0    = x                       | otherwise = streamNth (n - 1) xs --- We read into this stream only with ~size argument,--- so it's ok to have it as CAF.+-- We read into this stream only with ~size argument, capped to 256,+-- so it's ok to have it as CAF. (256 chosen somewhat arbitrarily, the+-- point is just to stop this blowing up.) -- rationalUniverse :: Stream Rational rationalUniverse = 0 :< 1 :< (-1) :< go leftSideStream
src/Test/QuickCheck/Exception.hs view
@@ -10,7 +10,7 @@ #endif module Test.QuickCheck.Exception where -#if !defined(__GLASGOW_HASKELL__) || (__GLASGOW_HASKELL__ < 700)+#if (!defined(__GLASGOW_HASKELL__) || (__GLASGOW_HASKELL__ < 700)) && !defined(__MHS__) #define OLD_EXCEPTIONS #endif @@ -63,7 +63,7 @@ tryEvaluateIO m = E.tryJust notAsync (m >>= E.evaluate)   where     notAsync :: AnException -> Maybe AnException-#if MIN_VERSION_base(4,7,0)+#if defined(MIN_VERSION_base)     notAsync e = case E.fromException e of         Just (E.SomeAsyncException _) -> Nothing         Nothing                       -> Just e
src/Test/QuickCheck/Function.hs view
@@ -86,13 +86,11 @@ import qualified Data.Monoid as Monoid  #if defined(MIN_VERSION_base)-#if MIN_VERSION_base(4,2,0) import System.IO   ( Newline(..)   , NewlineMode(..)   ) #endif-#endif  #ifndef NO_FIXED import Data.Fixed@@ -137,7 +135,14 @@  -- turning a concrete function into an abstract function (with a default result) abstract :: (a :-> c) -> c -> (a -> c)+#if defined(__MHS__)+{- This is a temporary fix for a deficiency in the MicroHs type checker. -}+abstract (Pair p)    d xy    =+  case xy of+    (x,y) -> abstract (fmap (\q -> abstract q d y) p) d x+#else abstract (Pair p)    d (x,y) = abstract (fmap (\q -> abstract q d y) p) d x+#endif abstract (p :+: q)   d exy   = either (abstract p d) (abstract q d) exy abstract (Unit c)    _ _     = c abstract Nil         d _     = d@@ -383,7 +388,6 @@   function = functionIntegral  #if defined(MIN_VERSION_base)-#if MIN_VERSION_base(4,2,0) instance Function Newline where   function = functionMap g h     where@@ -399,7 +403,6 @@       g (NewlineMode inNL outNL) = (inNL,outNL)       h (inNL,outNL) = NewlineMode inNL outNL #endif-#endif  -- instances for Data.Monoid newtypes @@ -424,10 +427,8 @@ instance Function a => Function (Monoid.Last a) where   function = functionMap Monoid.getLast Monoid.Last -#if MIN_VERSION_base(4,8,0) instance Function (f a) => Function (Monoid.Alt f a) where   function = functionMap Monoid.getAlt Monoid.Alt-#endif  -- poly instances @@ -522,6 +523,7 @@  where   shrXy (x,y) = [(x,y') | y' <- shr y] +  table :: Eq aa => [(aa,cc)] -> (aa :-> cc) -- MicroHs needs this   table []  = Nil   table xys = Table xys 
src/Test/QuickCheck/Gen.hs view
@@ -21,7 +21,6 @@   ( Random   , random   , randomR-  , split   )  import Control.Monad@@ -89,7 +88,7 @@    MkGen m >>= k =     MkGen (\r n ->-      case split r of+      case splitImpl r of         (r1, r2) ->           let MkGen m' = k (m r1 n)           in m' r2 n
src/Test/QuickCheck/Monadic.hs view
@@ -1,11 +1,7 @@ {-# LANGUAGE CPP #-} #ifndef NO_SAFE_HASKELL-#if !defined(NO_ST_MONAD) && !(MIN_VERSION_base(4,8,0))-{-# LANGUAGE Trustworthy #-}-#else {-# LANGUAGE Safe #-} #endif-#endif #ifndef NO_ST_MONAD {-# LANGUAGE Rank2Types #-} #endif@@ -142,9 +138,6 @@ instance Monad m => Monad (PropertyM m) where   return = pure   (>>=) = bind-#if !MIN_VERSION_base(4,13,0)-  fail = fail_-#endif  #ifndef NO_MONADFAIL instance Monad m => Fail.MonadFail (PropertyM m) where
src/Test/QuickCheck/Property.hs view
@@ -25,7 +25,7 @@ #endif import Data.Maybe import Control.Applicative-#if MIN_VERSION_base(4,8,0)+#if defined(MIN_VERSION_base) import Control.Exception (displayException) #endif import Control.Monad@@ -322,7 +322,7 @@                         theException = Just err }  formatException :: String -> AnException -> String-#if MIN_VERSION_base(4,8,0)+#if defined(MIN_VERSION_base) formatException msg err = msg ++ ":" ++ format (displayException err) #else formatException msg err = msg ++ ":" ++ format (show err)@@ -886,7 +886,8 @@ onTimeout timeoutResult n = mapRoseResult f   where     f rose = ioRose $ do-      let m `orError` x = fmap (fromMaybe x) m+      let orError :: IO (Maybe a) -> a -> IO a+          m `orError` x = fmap (fromMaybe x) m       MkRose res roses <- timeout n (reduceRose rose) `orError`         return timeoutResult       res' <- timeout n (protectResult (return res)) `orError`
src/Test/QuickCheck/Random.hs view
@@ -26,17 +26,25 @@ instance Read QCGen where   readsPrec n xs = [(QCGen g, ys) | (g, ys) <- readsPrec n xs] -instance RandomGen QCGen where+splitImpl :: QCGen -> (QCGen, QCGen) #ifdef NO_SPLITMIX-  split (QCGen g) =+splitImpl (QCGen g) =     case split g of       (g1, g2) -> (QCGen g1, QCGen g2)-  genRange (QCGen g) = genRange g-  next = wrapQCGen next #else-  split (QCGen g) =+splitImpl (QCGen g) =     case splitSMGen g of       (g1, g2) -> (QCGen g1, QCGen g2)+#endif++instance RandomGen QCGen where+#ifdef OLD_RANDOM+  split = splitImpl+#endif+#ifdef NO_SPLITMIX+  genRange (QCGen g) = genRange g+  next = wrapQCGen next+#else   genRange _ = (minBound, maxBound)   next = wrapQCGen nextInt @@ -47,10 +55,15 @@   genWord64 = wrapQCGen genWord64   genWord32R r = wrapQCGen (genWord32R r)   genWord64R r = wrapQCGen (genWord64R r)-  genShortByteString n = wrapQCGen (genShortByteString n)+  genShortByteString n = wrapQCGen (uniformShortByteString n) #endif #endif +#ifndef OLD_RANDOM+instance SplitGen QCGen where+  splitGen = splitImpl+#endif+ {-# INLINE wrapQCGen #-} #ifdef NO_SPLITMIX wrapQCGen :: (StdGen -> (a, StdGen)) -> (QCGen -> (a, QCGen))@@ -80,8 +93,8 @@   left, right :: a -> a  instance Splittable QCGen where-  left = fst . split-  right = snd . split+  left = fst . splitImpl+  right = snd . splitImpl  -- The logic behind 'variant'. Given a random number seed, and an integer, uses -- splitting to transform the seed according to the integer. We use a
src/Test/QuickCheck/Test.hs view
@@ -21,7 +21,6 @@ import qualified Test.QuickCheck.State as S import Test.QuickCheck.Exception import Test.QuickCheck.Random-import System.Random(split) #if defined(MIN_VERSION_containers) #if MIN_VERSION_containers(0,5,0) import qualified Data.Map.Strict as Map@@ -299,9 +298,9 @@  test :: State -> Property -> IO Result test st prop-  | finishedSuccessfully st         = doneTesting st prop-  | finishedInsufficientCoverage st = failCoverage st prop-  | tooManyDiscards st              = giveUp st prop+  | finishedSuccessfully st         = doneTesting st+  | finishedInsufficientCoverage st = failCoverage st+  | tooManyDiscards st              = giveUp st   | otherwise                       = runATest st prop  finishedSuccessfully :: State -> Bool@@ -352,8 +351,8 @@      | (_, _, tot, n, p) <- allCoverage st ] coverageKnownInsufficient _ = False -failCoverage :: State -> Property -> IO Result-failCoverage st prop =+failCoverage :: State -> IO Result+failCoverage st =              -- The last test wasn't actually successful, as the coverage failed              -- also this prevents an off-by-one error in the printing     runATest st{numSuccessTests = numSuccessTests st - 1}@@ -361,8 +360,8 @@                                     (paragraphs [theLabels, theTables])     where (theLabels, theTables) = labelsAndTables st -doneTesting :: State -> Property -> IO Result-doneTesting st _f+doneTesting :: State -> IO Result+doneTesting st   | expected st == False = do       putPart (terminal st)         ( bold ("*** Failed!")@@ -383,8 +382,8 @@       theOutput <- terminalOutput (terminal st)       return (k (numSuccessTests st) (numDiscardedTests st) (S.labels st) (S.classes st) (S.tables st) theOutput) -giveUp :: State -> Property -> IO Result-giveUp st _f =+giveUp :: State -> IO Result+giveUp st =   do -- CALLBACK gave_up?      putPart (terminal st)        ( bold ("*** Gave up!")@@ -426,9 +425,10 @@      MkRose res ts <- protectRose (reduceRose (unProp (unGen (unProperty prop) rnd1 size)))      res <- callbackPostTest st res -     let continue break st'+     let continue :: (State -> IO Result) -> State -> IO Result+         continue break st'            | abort res = break $ updateState st'-           | otherwise = test $ updateState st'+           | otherwise = test (updateState st') prop           updateState st0 = addNewOptions $ st0{ randomSeed = rnd2 } @@ -459,14 +459,14 @@          do continue doneTesting               stC{ numSuccessTests           = numSuccessTests st + 1                  , numRecentlyDiscardedTests = 0-                 } prop+                 }         MkResult{ok = Nothing} -> -- discarded test          do continue giveUp               -- Don't add coverage info from this test               st{ numDiscardedTests         = numDiscardedTests st + 1                 , numRecentlyDiscardedTests = numRecentlyDiscardedTests st + 1-                } prop+                }         MkResult{ok = Just False} -> -- failed test          do (numShrinks, totFailed, lastFailed, res) <- foundFailure (addNewOptions stC) res ts@@ -498,7 +498,7 @@ #endif                             }  where-  (rnd1,rnd2) = split (randomSeed st)+  (rnd1,rnd2) = splitImpl (randomSeed st)  failureSummary :: State -> P.Result -> String failureSummary st res = fst (failureSummaryAndReason st res)
+ test-mhs view
@@ -0,0 +1,25 @@+#!/bin/sh++set -e++mcabal -r install++die() {+    echo "TEST FAILED"+    exit 1+}++dotest() {+  cat >Main.hs <<EOF+import $1+main = $2+EOF+  mhs Main.hs -oMain && ./Main | tee mhs.output+  grep -q "$3" mhs.output || die+}++# Simple tests+dotest Test.QuickCheck 'quickCheck $ \xs -> reverse (reverse xs) === (xs :: [Int])' "OK, passed 100 tests."+dotest Test.QuickCheck 'quickCheck $ \xs -> reverse xs === (xs :: [Int])' "\[0,1\]"+echo+echo 'All tests passed!'
+ tests/CollectDataTypes.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE TemplateHaskell, RecordWildCards, DeriveLift, TupleSections, CPP #-}+module CollectDataTypes where++import Language.Haskell.TH+import Language.Haskell.TH.Syntax+import Language.Haskell.TH.Ppr+import Language.Haskell.Interpreter hiding (lift)+import Data.Maybe+import Data.List+import System.Process+import Data.List.Split+import Control.Monad+import Control.Monad.Trans.Maybe+import Control.Monad.IO.Class+import Text.Printf+import Data.Either+import Data.Char+import Data.Function++data DataType =+  DataType {+    dt_package :: String,+    dt_module :: String,+    dt_type :: String }+  deriving (Show, Lift)++getPackageDataTypes :: String -> IO [DataType]+getPackageDataTypes pkg = do+  mods <- filter isValidModule <$> getPackageModules pkg+  typess <- mapM getModuleDataTypes mods+  return [DataType pkg mod typ | (mod, types) <- zip mods typess, typ <- types]++getPackageModules :: String -> IO [String]+getPackageModules pkg =+  concatMap (parseWords . words) . splitOn ", " . unwords . words <$> readProcess cmd args ""+  where+    cmd:args = ["ghc-pkg", "field", pkg, "exposed-modules", "--simple-output"]+    parseWords [mod, "from", _] = [mod]+    parseWords xs = xs++getModuleDataTypes :: String -> IO [String]+getModuleDataTypes mod = do+  putStrLn mod+  Right names <- runInterpreter $ getModuleExports mod+  return [x | Data x _ <- names]++haskellName :: DataType -> String+haskellName DataType{..} = printf "%s.%s" dt_module (stripParens dt_type)+  where+    stripParens = reverse . dropWhile (== ')') . reverse . dropWhile (== '(')++dataTypeType :: DataType -> Q (Maybe Type)+dataTypeType dt = do+  mname <- lookupTypeName (haskellName dt)+  case mname of+    Nothing -> return Nothing+    Just name -> Just <$> reifyType name++typeArity :: Type -> Maybe Int+typeArity (AppT (AppT ArrowT StarT) kind) = succ <$> typeArity kind+typeArity StarT = return 0+typeArity _ = Nothing++createProperties :: String -> Q [Dec]+createProperties pkg = do+  datatypes0 <- runIO (getPackageDataTypes pkg)+  let datatypes = [ dt | dt <- datatypes0, not $ haskellName dt `elem` typeBlacklist ]+  let mkImport dt = printf "import %s -- for %s" (dt_module dt) (dt_type dt)+  missingModules <- fmap (map mkImport . nubBy ((==) `on` dt_module)) $ filterM (\ dt -> isNothing <$> dataTypeType dt) datatypes+  unless (null missingModules) $ error ("Missing the following imports:\n" ++ unlines missingModules)+  namesAndDecs <- fmap concat $ mapM createProperty datatypes+  let (allNames, props) = unzip namesAndDecs+  allPropsDec <- [d| allProps =+                        $(pure $ ListE [ TupE [Just (LitE (StringL $ nameBase name)), Just (VarE name)]+                                              | name <- allNames ]+                         )+                 |]+  return $ allPropsDec ++ props++createProperty :: DataType -> Q [(Name, Dec)]+createProperty dt = do+  mtype <- dataTypeType dt+  -- TODO: monad?!+  case mtype of+    Nothing -> error $ "Can't find type in scope " ++ show dt+    Just typ -> case typeArity typ of+      Nothing -> pure []+      Just arity -> do+        Just name <- lookupTypeName (haskellName dt)+        Just int <- lookupTypeName "Int"+        Just gen <- lookupTypeName "Gen"+        nm <- newName ("prop_" ++ filter isAlphaNum (haskellName dt))+        let propName = pure $ VarP nm+        let ty = pure $ AppT (ConT gen) $ foldl AppT (ConT name) $ replicate arity (ConT int)+        map (nm,) <$> [d| $propName = forAllBlind (arbitrary :: $ty) (\ x -> x `seq` True) |]++typeBlacklist :: [String]+typeBlacklist = [ "Prelude.IO"+                , "Prelude.ReadS"+                , "Prelude.ShowS"+                , "System.IO.IO"+                , "System.IO.Error.IOError"+                , "Prelude.IOError"+                , "Data.Kind.Type"+                , "Data.Array.Byte.MutableByteArray"+                , "Data.IORef.IORef"+                , "Data.Kind.Constraint"+                , "Data.Unique.Unique"+                , "Data.STRef.STRef"+                , "Data.STRef.Lazy.STRef"+                , "Data.STRef.Strict.STRef"+                , "Data.Void.Void"+                , "Data.Proxy.KProxy"+                , "Data.Monoid.Endo"+                , "Data.Semigroup.Endo"+                , "Data.List.[]" -- This is buggy and annoying+                , "System.IO.HandlePosn"+                , "System.IO.Handle"+                , "Text.Printf.FieldFormatter" -- This is a function type and it+                                               -- requires an annoying coarbitrary instance+                ] +++                -- These are phantom types used for indexing+                [ "Data.Fixed.E" ++ show i | i <- [0,1,2,3,6,9,12] ] +++#if MIN_VERSION_base(4,15,0)+                -- Exists but is deprecated+                [ "Data.Semigroup.Option" ] +++#endif+                -- TODO: Some controversial ones?+                [ "System.IO.Error.IOErrorType" ]+++modulePrefixBlacklist :: [String]+modulePrefixBlacklist = [ "GHC"+                        , "Foreign"+                        , "Control.Exception"+                          -- Exports things like MVar etc+                        , "Control.Concurrent"+                          -- Exports ST and RealWorld that we can't support+                        , "Control.Monad.ST"+                          -- Existential wrapper around a Typeable thing, could+                          -- be supported but would be a bit artificially+                          -- limited to wrapping a bunch of types we can list+                        , "Data.Dynamic"+                          -- We _could_ support this, but it would result in+                          -- the same problem as with Dynamic+                        , "Data.Typeable"+                        , "Type.Reflection"+                          -- System.Mem.Weak and System.Mem.Stable export+                          -- pointer types we don't support+                        , "System.Mem"+                          -- Exports an exception+                        , "System.Timeout"+                        -- Exports types, but not the constructors (or ways of+                        -- creating them, e.g. Number).  No feasible way to+                        -- create meaningful generator+                        , "Text.Read"+                        -- Old generics implementation that doesn't fit nicely+                        -- with arbitrary, as it has the same kind of problem+                        -- that Typeable and Dynamic face+                        , "Data.Data"+                        -- Platform specific types that one could implement but+                        -- would be tricky to keep consistent and correct+                        -- across a number of platforms, esp. since we don't+                        -- have good CI tests for them+                        , "System.Posix"+                        -- This exports a bunch of combinators whose only real+                        -- role is to build a parser of an opaque type,+                        -- consequently there isn't some super-interesting+                        -- useful work you can do with it and it should be OK+                        -- not to provide instances for it+                        , "Text.ParserCombinators.ReadP"+                        ]++isValidModule :: String -> Bool+isValidModule mod = not $ any (`isPrefixOf` mod) modulePrefixBlacklist
+ tests/RunCollectDataTypes.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE TemplateHaskell, CPP #-}+{-# OPTIONS_GHC -ddump-splices #-}+import CollectDataTypes+import Language.Haskell.TH+import Test.QuickCheck.All+import Test.QuickCheck++import Control.Applicative+import Control.Arrow+import Control.Concurrent+import Control.Concurrent.Chan+import Control.Concurrent.MVar+import Control.Concurrent.QSem+import Control.Concurrent.QSemN+import Control.Exception+import Control.Exception.Base+import Control.Monad.ST+import Control.Monad.ST.Lazy+import Control.Monad.ST.Strict+#if defined(MIN_VERSION_base)+#if MIN_VERSION_base(4,17,0)+import Data.Array.Byte+#endif+#endif+import Data.Bits+import Data.Bool+import Data.Char+import Data.Complex+import Data.Data+import Data.Dynamic+import Data.Either+import Data.Fixed+import Data.Functor.Compose+import Data.Functor.Const+import Data.Functor.Contravariant+import Data.Functor.Identity+import Data.Functor.Product+import Data.Functor.Sum+import Data.IORef+import Data.Int+import Data.Kind+import Data.List.NonEmpty+import Data.Maybe+import Data.Monoid+import Data.Ord+import Data.Proxy+import Data.Ratio+import Data.STRef+import Data.STRef.Lazy+import Data.STRef.Strict+import Data.Semigroup+import Data.String+import Data.Tuple+import Data.Type.Bool+import Data.Type.Coercion+import Data.Type.Equality+#if defined(MIN_VERSION_base)+#if MIN_VERSION_base(4,16,0)+import Data.Type.Ord+#endif+#endif+import Data.Typeable+import Data.Unique+import Data.Version+import Data.Void+import Data.Word+import Numeric.Natural+import System.Console.GetOpt+import System.Exit+import System.IO+import System.IO.Error+import System.Mem.StableName+import System.Mem.Weak+import System.Posix.Internals+import System.Posix.Types+import System.Timeout+import Text.ParserCombinators.ReadP+import Text.ParserCombinators.ReadPrec+import Text.Printf+import Text.Read+import Text.Read.Lex+import Text.Show+import Type.Reflection+import Type.Reflection.Unsafe+import Unsafe.Coerce++$(createProperties "base")++main = runQuickCheckAll allProps quickCheckResult