Safe Haskell | None |
---|---|
Language | Haskell2010 |
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 #
garbitrarykterm :: Gen t Source #
Instances
Arbitrary a => GArbitraryKTerm a Source # | |
Defined in Polysemy.Check.Arbitrary.Generic garbitrarykterm :: Gen a Source # | |
(CoArbitrary a, GArbitraryKTerm b) => GArbitraryKTerm (a -> b) Source # | |
Defined in Polysemy.Check.Arbitrary.Generic garbitrarykterm :: Gen (a -> b) Source # | |
ArbitraryEffOfType a r r => GArbitraryKTerm (Sem r a) Source # | |
Defined in Polysemy.Check.Arbitrary.Generic garbitrarykterm :: Gen (Sem r a) Source # |