| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Polysemy.Check.Arbitrary.Generic
Synopsis
- data family ExistentialFor (e :: Effect)
- class GArbitraryK (e :: Effect) (f :: LoT Effect -> Type) (r :: EffectRow) (a :: Type) where
- garbitraryk :: [Gen (f (LoT2 (Sem r) a))]
- genEff :: forall e r a. (GenericK e, GArbitraryK e (RepK e) r a) => Gen (e (Sem r) a)
- class GArbitraryKTerm (t :: Type) where
- garbitrarykterm :: Gen t
Documentation
data family ExistentialFor (e :: Effect) Source #
Data family for the instantiation of existential variables. If you want to
check properties for an effect e that contains an existential type, the
synthesized Arbitrary instance will instantiate all of e's existential
types at .ExistentialFor e
must have instances for every dictionary required by
ExistentialFor ee, and will likely require an Arbitrary instance.
class GArbitraryK (e :: Effect) (f :: LoT Effect -> Type) (r :: EffectRow) (a :: Type) where Source #
Given , this typeclass computes
generators for every well-typed constructor of GArbitraryK a (RepK e) r ae (Sem r) a. It is capable
of building generators for GADTs.
Instances
genEff :: forall e r a. (GenericK e, GArbitraryK e (RepK e) r a) => Gen (e (Sem r) a) Source #
genEff @e @r @a gets a generator capable of producing every
well-typed GADT constructor of e (Sem r) a.
class GArbitraryKTerm (t :: Type) where Source #
Methods
garbitrarykterm :: Gen t Source #
Instances
| Arbitrary a => GArbitraryKTerm a Source # | |
Defined in Polysemy.Check.Arbitrary.Generic Methods garbitrarykterm :: Gen a Source # | |
| (CoArbitrary a, GArbitraryKTerm b) => GArbitraryKTerm (a -> b) Source # | |
Defined in Polysemy.Check.Arbitrary.Generic Methods garbitrarykterm :: Gen (a -> b) Source # | |
| ArbitraryEffOfType a r r => GArbitraryKTerm (Sem r a) Source # | |
Defined in Polysemy.Check.Arbitrary.Generic Methods garbitrarykterm :: Gen (Sem r a) Source # | |