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 |
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 # | |
liftRootStrategy :: MergingStrategy a -> MergingStrategy (Await x a) # | |
Mergeable x => Mergeable1 (Yield x) Source # | |
liftRootStrategy :: MergingStrategy a -> MergingStrategy (Yield x a) # | |
(Mergeable x, Mergeable y) => Mergeable (Await x y) Source # | |
rootStrategy :: MergingStrategy (Await x y) # | |
(Mergeable x, Mergeable y) => Mergeable (Yield x y) Source # | |
rootStrategy :: MergingStrategy (Yield x y) # | |
(Mergeable req, Mergeable res) => Mergeable1 (Request req res) Source # | |
liftRootStrategy :: MergingStrategy a -> MergingStrategy (Request req res a) # | |
(Mergeable req, Mergeable res, Mergeable x) => Mergeable (Request req res x) Source # | |
rootStrategy :: MergingStrategy (Request req res x) # |