HORIZON HASKELLDocslts/ghc-9.14.xd82dee82026-10-12Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · d82dee8 · 2026-10-12

Modulequickcheck-transformer-0.3.1.3Haskell2010

Test.QuickCheck.GenT

Most of the code is borrowed from a mailing list discussion. Therefor, credits go to Paul Johnson and Felix Martini.

  • 1 type
  • 1 class
  • 14 values
newtypenewtype GenT (m :: Type -> Type) a
#

Constructors

Instances7MonadTrans, Monad, Functor, MonadFail, Applicative, MonadIO, …
  • MonadTrans GenTDefined in quickcheck-transformer-0.3.1.3 · Test.QuickCheck.GenT.Private
  • Monad m => Monad (GenT m)Defined in quickcheck-transformer-0.3.1.3 · Test.QuickCheck.GenT.Private
  • Functor m => Functor (GenT m)Defined in quickcheck-transformer-0.3.1.3 · Test.QuickCheck.GenT.Private
  • MonadFail m => MonadFail (GenT m)Defined in quickcheck-transformer-0.3.1.3 · Test.QuickCheck.GenT.Private
  • (Functor m, Monad m) => Applicative (GenT m)Defined in quickcheck-transformer-0.3.1.3 · Test.QuickCheck.GenT.Private
  • MonadIO m => MonadIO (GenT m)Defined in quickcheck-transformer-0.3.1.3 · Test.QuickCheck.GenT.Private
  • (Applicative m, Monad m) => MonadGen (GenT m)Defined in quickcheck-transformer-0.3.1.3 · Test.QuickCheck.GenT
valuevar :: Integral n => n -> QCGen -> QCGen
#

Private variant-generating function. Converts an integer into a chain of (fst . split) and (snd . split) applications. Every integer (including negative ones) will give rise to a different random number generator in log2 n steps.

valuesuchThat :: MonadGen m => m a -> (a -> Bool) -> m a
#

Generates a value that satisfies a predicate.

valuelistOf :: MonadGen m => m a -> m [a]
#

Generates a list of random length. The maximum length depends on the size parameter.

valuelistOf1 :: MonadGen m => m a -> m [a]
#

Generates a non-empty list of random length. The maximum length depends on the size parameter.

valueoneof :: MonadGen m => [m a] -> m a
#

Randomly uses one of the given generators. The input list must be non-empty.

valuefrequency :: MonadGen m => [(Int, m a)] -> m a
#

Chooses one of the given generators, with a weighted random distribution. The input list must be non-empty.

valueelements :: MonadGen m => [a] -> m a
#

Generates one of the given values. The input list must be non-empty.

valuegrowingElements :: MonadGen m => [a] -> m a
#

Takes a list of elements of increasing size, and chooses among an initial segment of the list. The size of this initial segment increases with the size parameter. The input list must be non-empty.

valuegrowingElementsMay :: MonadGen m => [a] -> m (Maybe a)
#

Takes a list of elements of increasing size, and chooses among an initial segment of the list. The size of this initial segment increases with the size parameter.