module Machine ( module Data.Machine.Concurrent, (⇝), (⇜), (↣), (↢), (⧻), (⫴) ) where import Lawless hiding ((<~)) import Data.Machine.Concurrent 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