yaya-quickcheck-0.2.0.1: QuickCheck testing support for the Yaya recursion scheme library.
Safe HaskellSafe
LanguageHaskell2010

Yaya.QuickCheck.Fold

Documentation

arbitrarySteppable :: (Steppable (->) t f, Functor f) => (Gen t -> Gen (f t)) -> Gen t Source #

shrinkSteppable :: (Steppable (->) t f, Foldable f, Functor f) => ((t -> [t]) -> f t -> [f t]) -> t -> [t] Source #

Orphan instances

Arbitrary2 AndMaybe Source # 
Instance details

Methods

liftArbitrary2 :: Gen a -> Gen b -> Gen (AndMaybe a b) #

liftShrink2 :: (a -> [a]) -> (b -> [b]) -> AndMaybe a b -> [AndMaybe a b] #

Arbitrary2 XNor Source # 
Instance details

Methods

liftArbitrary2 :: Gen a -> Gen b -> Gen (XNor a b) #

liftShrink2 :: (a -> [a]) -> (b -> [b]) -> XNor a b -> [XNor a b] #

(Foldable f, Functor f, Arbitrary1 f) => Arbitrary (Mu f) Source # 
Instance details

Methods

arbitrary :: Gen (Mu f) #

shrink :: Mu f -> [Mu f] #

(Foldable f, Functor f, Arbitrary1 f) => Arbitrary (Nu f) Source # 
Instance details

Methods

arbitrary :: Gen (Nu f) #

shrink :: Nu f -> [Nu f] #

(Foldable f, Functor f, Arbitrary1 f) => Arbitrary (Fix f) Source # 
Instance details

Methods

arbitrary :: Gen (Fix f) #

shrink :: Fix f -> [Fix f] #

(Foldable f, Functor f, Arbitrary1 f) => Arbitrary (Cofix f) Source # 
Instance details

Methods

arbitrary :: Gen (Cofix f) #

shrink :: Cofix f -> [Cofix f] #

Arbitrary a => Arbitrary1 (AndMaybe a) Source # 
Instance details

Methods

liftArbitrary :: Gen a0 -> Gen (AndMaybe a a0) #

liftShrink :: (a0 -> [a0]) -> AndMaybe a a0 -> [AndMaybe a a0] #

Arbitrary a => Arbitrary1 (XNor a) Source # 
Instance details

Methods

liftArbitrary :: Gen a0 -> Gen (XNor a a0) #

liftShrink :: (a0 -> [a0]) -> XNor a a0 -> [XNor a a0] #

(Arbitrary a, Arbitrary b) => Arbitrary (AndMaybe a b) Source # 
Instance details

Methods

arbitrary :: Gen (AndMaybe a b) #

shrink :: AndMaybe a b -> [AndMaybe a b] #

(Arbitrary a, Arbitrary b) => Arbitrary (XNor a b) Source # 
Instance details

Methods

arbitrary :: Gen (XNor a b) #

shrink :: XNor a b -> [XNor a b] #