Control.SessionTypes
data STTerm
class MonadSession m
class Select xs s
data ST a
data Cap a
type family GetST s where ...
type family GetCtx s where ...
type family Dual s = r | r -> s where ...
type family MapDual xs = ys | ys -> xs where ...
type family RemoveSend s where ...
type family RemoveSendST s where ...
type family MapRemoveSend ctx where ...
type family RemoveRecv s where ...
type family RemoveRecvST s where ...
type family MapRemoveRecv ctx where ...
type family HasConstraint (c :: Type -> Constraint) s :: Constraint where ...
type family HasConstraintST (c :: Type -> Constraint) s :: Constraint where ...
type family MapHasConstraint (c :: Type -> Constraint) ss :: Constraint where ...
type family HasConstraints (cs :: [Type -> Constraint]) s :: Constraint where ...
type family IfThenElse (b :: Bool) (l :: k) (r :: k) :: k where ...
data Prod t
type family Left p where ...
type family Right p where ...
data Nat
data Ref s xs
type family TypeEqList xs s where ...
type family Append xs ys where ...