liblawless-0.18.0: Source/Machine.hs
module Machine (
module Data.Machine.Concurrent,
(⇝),
(⇜)
) where
import Lawless hiding ((<~), (~>))
import Data.Machine.Concurrent
import Control.Monad
import Control.Monad.Trans.Control
infixr 9 ⇜
infixl 9 ⇝
infixr 7 ↢
infixl 7 ↣
infixr 6 ⧻
infixr 6 ⫴
(⇝) ∷ Monad m ⇒ MachineT m k b → ProcessT m b c → MachineT m k c
(⇝) = (~>)
(⇜) ∷ Monad m ⇒ ProcessT m b c → MachineT m k b → MachineT m k c
(⇜) = (<~)
(↣) ∷ MonadBaseControl IO m ⇒ MachineT m k b → ProcessT m b c → MachineT m k c
(↣) = (>~>)
(↢) ∷ MonadBaseControl IO m ⇒ ProcessT m b c → MachineT m k b → MachineT m k c
(↢) = (<~<)
(⧻) ∷ ∀ m a b c d. MonadBaseControl IO m ⇒ ProcessT m a b → ProcessT m c d → ProcessT m (Either a c) (Either b d)
(⧻) = splitSum
(⫴) ∷ ∀ m a b r. MonadBaseControl IO m ⇒ ProcessT m a r -> ProcessT m b r -> ProcessT m (Either a b) r
(⫴) = mergeSum