Copyright | (c) 2016 Allele Dev; 2017 Ixperta Solutions s.r.o.; 2017 Alexis King (c) 2023 Yamada Ryo |
---|---|
License | MPL-2.0 (see the file LICENSE) |
Maintainer | ymdfield@outlook.jp |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
This module provides the Coroutine
effect, comes
from Control.Monad.Freer.Coroutine
in the freer-simple
package.
Documentation
class Coroutine a b f where Source #
Instances
SendIns (CoroutineI a b) f => Coroutine a b (EffectsVia EffectDataHandler f) Source # | |
Defined in Control.Effect.Class.Coroutine yield :: a -> (b -> c) -> EffectsVia EffectDataHandler f c Source # |
data CoroutineI (a :: Type) (b :: Type) (a :: Type) where Source #
Yield :: forall a b c. a -> (b -> c) -> CoroutineI a b c |
type CoroutineS a b = LiftIns (CoroutineI a b) Source #
pattern YieldS :: () => a_6989586621679057204 ~ c => a -> (b -> c) -> LiftIns (CoroutineI a b) f a_6989586621679057204 Source #