Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type family GTypesOf (f :: LoT Effect -> Type) :: [Type] where ...
- type TypesOf (e :: Effect) = GTypesOf (RepK e)
- type family ArbitraryForAll (e :: Effect) (as :: [Type]) (r :: EffectRow) :: Constraint where ...
- data SomeAction e (r :: EffectRow) where
- SomeAction :: (Member e r, Eq a, Show a, CoArbitrary a, Show (e (Sem r) a)) => e (Sem r) a -> SomeAction e r
- data SomeEff (r :: EffectRow) where
- data SomeEffOfType (r :: EffectRow) a where
- SomeEffOfType :: (Member e r, Eq a, Show a, CoArbitrary a, Show (e (Sem r) a)) => e (Sem r) a -> SomeEffOfType r a
- class ArbitraryEff (es :: EffectRow) (r :: EffectRow) where
- genSomeEff :: [Gen (SomeEff r)]
- class ArbitraryEffOfType (a :: Type) (es :: EffectRow) (r :: EffectRow) where
- genSomeEffOfType :: [Gen (SomeEffOfType r a)]
- class ArbitraryAction (as :: [Type]) (e :: Effect) (r :: EffectRow) where
- genSomeAction :: [Gen (SomeAction e r)]
Documentation
type family GTypesOf (f :: LoT Effect -> Type) :: [Type] where ... Source #
Helper function for implementing GTypesOf
type family ArbitraryForAll (e :: Effect) (as :: [Type]) (r :: EffectRow) :: Constraint where ... Source #
A type family that expands to a GArbitraryK
constaint for every type in
the first list.
ArbitraryForAll e '[] f = () | |
ArbitraryForAll e (a ': as) r = (Eq a, Show a, GArbitraryK e (RepK e) r a, ArbitraryForAll e as r) |
data SomeAction e (r :: EffectRow) where Source #
is some action for effect SomeAction
e re
in effect row r
.
SomeAction | |
|
Instances
Show (SomeAction e r) Source # | |
Defined in Polysemy.Check.Arbitrary.AnyEff showsPrec :: Int -> SomeAction e r -> ShowS # show :: SomeAction e r -> String # showList :: [SomeAction e r] -> ShowS # |
data SomeEff (r :: EffectRow) where Source #
is some action for some effect in the effect row SomeEff
rr
.
data SomeEffOfType (r :: EffectRow) a where Source #
is some action for some effect in the effect row SomeEff
rr
.
SomeEffOfType | |
|
class ArbitraryEff (es :: EffectRow) (r :: EffectRow) where Source #
lets you randomly generate an action in any of
the effects ArbitraryEff
es res
.
genSomeEff :: [Gen (SomeEff r)] Source #
Instances
ArbitraryEff ('[] :: [Effect]) r Source # | |
Defined in Polysemy.Check.Arbitrary.AnyEff genSomeEff :: [Gen (SomeEff r)] Source # | |
(ArbitraryEff es r, ArbitraryAction (TypesOf e) e r) => ArbitraryEff (e ': es) r Source # | |
Defined in Polysemy.Check.Arbitrary.AnyEff genSomeEff :: [Gen (SomeEff r)] Source # |
class ArbitraryEffOfType (a :: Type) (es :: EffectRow) (r :: EffectRow) where Source #
lets you randomly generate an action in any of
the effects ArbitraryEffOfType
a es res
that produces type a
.
genSomeEffOfType :: [Gen (SomeEffOfType r a)] Source #
Instances
ArbitraryEffOfType a ('[] :: [Effect]) r Source # | |
Defined in Polysemy.Check.Arbitrary.AnyEff genSomeEffOfType :: [Gen (SomeEffOfType r a)] Source # | |
(Eq a, Show a, Show (e (Sem r) a), ArbitraryEffOfType a es r, GenericK e, GArbitraryK e (RepK e) r a, CoArbitrary a, Member e r) => ArbitraryEffOfType a (e ': es) r Source # | |
Defined in Polysemy.Check.Arbitrary.AnyEff genSomeEffOfType :: [Gen (SomeEffOfType r a)] Source # |
class ArbitraryAction (as :: [Type]) (e :: Effect) (r :: EffectRow) where Source #
lets you randomly generate an action
producing any type in ArbitraryAction
as e ras
from the effect e
.
genSomeAction :: [Gen (SomeAction e r)] Source #
Instances
ArbitraryAction ('[] :: [Type]) e r Source # | |
Defined in Polysemy.Check.Arbitrary.AnyEff genSomeAction :: [Gen (SomeAction e r)] Source # | |
(ArbitraryAction as e r, Eq a, Show a, Member e r, Show (e (Sem r) a), GenericK e, CoArbitrary a, GArbitraryK e (RepK e) r a) => ArbitraryAction (a ': as) e r Source # | |
Defined in Polysemy.Check.Arbitrary.AnyEff genSomeAction :: [Gen (SomeAction e r)] Source # |