| Copyright | (c) Sirui Lu 2021-2023 |
|---|---|
| License | BSD-3-Clause (see the LICENSE file) |
| Maintainer | siruilu@cs.washington.edu |
| Stability | Experimental |
| Portability | GHC only |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Grisette.Lib.Control.Monad.Coroutine.SuspensionFunctors
Contents
Description
Synopsis
- mrgYield :: (MonadUnion m, Mergeable x) => x -> Coroutine (Yield x) m ()
- mrgAwait :: (MonadUnion m, Mergeable x) => Coroutine (Await x) m x
- mrgRequest :: (MonadUnion m, Mergeable x, Mergeable y) => x -> Coroutine (Request x y) m y
Documentation
mrgYield :: (MonadUnion m, Mergeable x) => x -> Coroutine (Yield x) m () Source #
Symbolic version of yield,
the result would be merged and propagate the mergeable knowledge.
mrgAwait :: (MonadUnion m, Mergeable x) => Coroutine (Await x) m x Source #
Symbolic version of await,
the result would be merged and propagate the mergeable knowledge.
mrgRequest :: (MonadUnion m, Mergeable x, Mergeable y) => x -> Coroutine (Request x y) m y Source #
Symbolic version of request,
the result would be merged and propagate the mergeable knowledge.
Orphan instances
| Mergeable x => Mergeable1 (Await x) Source # | |
Methods liftRootStrategy :: MergingStrategy a -> MergingStrategy (Await x a) # | |
| Mergeable x => Mergeable1 (Yield x) Source # | |
Methods liftRootStrategy :: MergingStrategy a -> MergingStrategy (Yield x a) # | |
| (Mergeable x, Mergeable y) => Mergeable (Await x y) Source # | |
Methods rootStrategy :: MergingStrategy (Await x y) # | |
| (Mergeable x, Mergeable y) => Mergeable (Yield x y) Source # | |
Methods rootStrategy :: MergingStrategy (Yield x y) # | |
| (Mergeable req, Mergeable res) => Mergeable1 (Request req res) Source # | |
Methods liftRootStrategy :: MergingStrategy a -> MergingStrategy (Request req res a) # | |
| (Mergeable req, Mergeable res, Mergeable x) => Mergeable (Request req res x) Source # | |
Methods rootStrategy :: MergingStrategy (Request req res x) # | |