-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Simple type-level combinators for augmenting -- QuickCheck instances. -- -- Simply wrap the type you want to generate (assuming it satisfies all -- the necessary constraints) to refine the terms generated: -- --
--   {-# LANGUAGE DataKinds #-}
--   
--   import Data.Set (Set)
--   import Test.QuickCheck
--   import Test.QuickCheck.Instances
--   import GHC.TypeLits
--   
--   instance Arbitrary LinearEquation where
--     arbitrary = do
--       vars <- arbitrary :: Gen (AtLeast 3 Set String)
--       -- ...
--   
@package quickcheck-combinators @version 0.0.0 module Test.QuickCheck.Combinators -- | Generate with a minimum, inclusive size as n :: Nat newtype AtLeast (n :: Nat) t a AtLeast :: (t a) -> AtLeast t a -- | Generate with a maximum, inclusive size as n :: Nat newtype AtMost (n :: Nat) t a AtMost :: (t a) -> AtMost t a -- | Generate between the inclusive range of n :: Nat and m :: -- Nat newtype Between (n :: Nat) (m :: Nat) t a Between :: (t a) -> Between t a -- | Convenience for AtLeast 1 type NonMempty = AtLeast 1 instance GHC.Enum.Enum (t a) => GHC.Enum.Enum (Test.QuickCheck.Combinators.Between n m t a) instance GHC.Classes.Ord (t a) => GHC.Classes.Ord (Test.QuickCheck.Combinators.Between n m t a) instance GHC.Classes.Eq (t a) => GHC.Classes.Eq (Test.QuickCheck.Combinators.Between n m t a) instance GHC.Read.Read (t a) => GHC.Read.Read (Test.QuickCheck.Combinators.Between n m t a) instance GHC.Show.Show (t a) => GHC.Show.Show (Test.QuickCheck.Combinators.Between n m t a) instance GHC.Enum.Enum (t a) => GHC.Enum.Enum (Test.QuickCheck.Combinators.AtMost n t a) instance GHC.Classes.Ord (t a) => GHC.Classes.Ord (Test.QuickCheck.Combinators.AtMost n t a) instance GHC.Classes.Eq (t a) => GHC.Classes.Eq (Test.QuickCheck.Combinators.AtMost n t a) instance GHC.Read.Read (t a) => GHC.Read.Read (Test.QuickCheck.Combinators.AtMost n t a) instance GHC.Show.Show (t a) => GHC.Show.Show (Test.QuickCheck.Combinators.AtMost n t a) instance GHC.Enum.Enum (t a) => GHC.Enum.Enum (Test.QuickCheck.Combinators.AtLeast n t a) instance GHC.Classes.Ord (t a) => GHC.Classes.Ord (Test.QuickCheck.Combinators.AtLeast n t a) instance GHC.Classes.Eq (t a) => GHC.Classes.Eq (Test.QuickCheck.Combinators.AtLeast n t a) instance GHC.Read.Read (t a) => GHC.Read.Read (Test.QuickCheck.Combinators.AtLeast n t a) instance GHC.Show.Show (t a) => GHC.Show.Show (Test.QuickCheck.Combinators.AtLeast n t a) instance (Data.Unfoldable.Restricted.UnfoldableR p t, GHC.Base.Monoid (t a), Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.Arbitrary (t a), GHC.TypeLits.KnownNat n, p a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.AtLeast n t a) instance (Data.Unfoldable.Restricted.UnfoldableR p t, GHC.Base.Monoid (t a), Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.Arbitrary (t a), GHC.TypeLits.KnownNat m, p a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.AtMost m t a) instance (Data.Unfoldable.Restricted.UnfoldableR p t, GHC.Base.Monoid (t a), Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.Arbitrary (t a), GHC.TypeLits.KnownNat n, GHC.TypeLits.KnownNat m, p a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.Between n m t a)