Hoogle Search
Within LTS Haskell 24.10 (ghc-9.10.2)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
GenericArbitrarySingleG :: a -> GenericArbitrarySingleG (genList :: k) ageneric-random Generic.Random No documentation available.
-
generic-random Generic.Random Pick every constructor with equal probability. This newtype does no shrinking. To add generic shrinking, use AndShrinking. Uses genericArbitraryU.
GenericArbitraryU :: a -> GenericArbitraryU ageneric-random Generic.Random No documentation available.
newtype
GenericArbitraryUG (genList :: k) ageneric-random Generic.Random GenericArbitraryU with explicit generators. See also GenericArbitraryG. This newtype does no shrinking. To add generic shrinking, use AndShrinking. Uses genericArbitraryUG.
GenericArbitraryUG :: a -> GenericArbitraryUG (genList :: k) ageneric-random Generic.Random No documentation available.
newtype
GenericArbitraryWith (opts :: k) (weights :: k1) ageneric-random Generic.Random General generic generator with custom options. This newtype does no shrinking. To add generic shrinking, use AndShrinking. Uses genericArbitraryWith.
GenericArbitraryWith :: a -> GenericArbitraryWith (opts :: k) (weights :: k1) ageneric-random Generic.Random No documentation available.
genericArbitrary :: GArbitrary UnsizedOpts a => Weights a -> Gen ageneric-random Generic.Random Pick a constructor with a given distribution, and fill its fields with recursive calls to arbitrary.
Example
genericArbitrary (2 % 3 % 5 % ()) :: Gen a
Picks the first constructor with probability 2/10, the second with probability 3/10, the third with probability 5/10.genericArbitrary' :: (GArbitrary SizedOptsDef a, BaseCase a) => Weights a -> Gen ageneric-random Generic.Random Decrease size to ensure termination for recursive types, looking for base cases once the size reaches 0.
genericArbitrary' (17 % 19 % 23 % ()) :: Gen a
N.B.: This replaces the generator for fields of type [t] with listOf' arbitrary instead of listOf arbitrary (i.e., arbitrary for lists).genericArbitraryG :: GArbitrary (SetGens genList UnsizedOpts) a => genList -> Weights a -> Gen ageneric-random Generic.Random genericArbitrary with explicit generators.
Example
genericArbitraryG customGens (17 % 19 % ())
where, the generators for String and Int fields are overridden as follows, for example:customGens :: Gen String :+ Gen Int customGens = (filter (/= 'NUL') <$> arbitrary) :+ (getNonNegative <$> arbitrary)
Note on multiple matches
Multiple generators may match a given field: the first will be chosen.