module Control.Effect.Sessions (Process(..), Chan(..), Name(..), Symbol, Session(..), Delegate(..), Dual, DualP, SessionSeq, Balanced, BalancedPar, NotBal, Effect(..), Control.Effect.fail, run, Map(..), (:@), Union, (:\), send, recv, new, par, rsend, chSend, chRecv, chRecvSeq, sub, subL, subR, subEnd, affineFix, caseUnion, print, putStrLn, liftIO, ifThenElse) where import GHC.TypeLits import Prelude hiding (print, putStrLn, Monad(..)) import Control.Effect import Control.Effect.Sessions.Process import Control.Effect.Sessions.Operations import Data.Type.FiniteMap chRecvSeq c k = (chRecv c) >>= (\kf -> kf k)