grisette-monad-coroutine-0.1.0.0: Support for monad-coroutine package with Grisette
Copyright(c) Sirui Lu 2021-2023
LicenseBSD-3-Clause (see the LICENSE file)
Maintainersiruilu@cs.washington.edu
StabilityExperimental
PortabilityGHC only
Safe HaskellSafe-Inferred
LanguageHaskell2010

Grisette.Lib.Control.Monad.Coroutine.SuspensionFunctors

Description

 
Synopsis

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 # 
Instance details

Mergeable x => Mergeable1 (Yield x) Source # 
Instance details

(Mergeable x, Mergeable y) => Mergeable (Await x y) Source # 
Instance details

(Mergeable x, Mergeable y) => Mergeable (Yield x y) Source # 
Instance details

(Mergeable req, Mergeable res) => Mergeable1 (Request req res) Source # 
Instance details

(Mergeable req, Mergeable res, Mergeable x) => Mergeable (Request req res x) Source # 
Instance details

Methods

rootStrategy :: MergingStrategy (Request req res x) #