|
Control.Concurrent.Session.SessionTypeMonad |
|
|
|
|
Documentation |
|
|
Constructors | TypeState :: nxtLabel -> declareable -> useable -> st -> TypeState nxtLabel declareable useable st | |
|
|
|
newtype SessionType f t r | Source |
|
Constructors | SessionType | | buildSessionType :: f -> (r, t) | |
|
| Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sendSession :: (TyList f, TyList fs, TyList fs', TyListReverse frag fragRev, TyListTake (D1 E) fragRev (Cons (label, fragHead) Nil), TyListDrop (D1 E) fragRev fragTailRev, TyListReverse fragTailRev fragTail, TyListAppend fragTail fs fs') => SessionType (TypeState nxtLabel declareable useable (Cons (label, Nil) Nil)) (TypeState nxtLabel' declareable' useable' frag) res -> SessionType (TypeState nxtLabel declareable useable (Cons (label, f) fs)) (TypeState nxtLabel' declareable' useable' (Cons (label, Cons (SendSession False fragHead) f) fs')) res | Source |
|
|
recvSession :: (TyList f, TyList fs, TyList fs', TyListReverse frag fragRev, TyListTake (D1 E) fragRev (Cons (label, fragHead) Nil), TyListDrop (D1 E) fragRev fragTailRev, TyListReverse fragTailRev fragTail, TyListAppend fragTail fs fs') => SessionType (TypeState nxtLabel declareable useable (Cons (label, Nil) Nil)) (TypeState nxtLabel' declareable' useable' frag) res -> SessionType (TypeState nxtLabel declareable useable (Cons (label, f) fs)) (TypeState nxtLabel' declareable' useable' (Cons (label, Cons (RecvSession False fragHead) f) fs')) res | Source |
|
|
|
|
|
|
|
Constructors | | Instances | |
|
|
(~|~) :: (Succ label nxtLabel, TyListConsSet label declareable declareable', TyListElem declareable' label idx, TyListDelete declareable' idx declareable'', TyListConsSet label useable useable', TyList st, TyListMember declareable' label True, TyList labs, TyList resLst) => SessionType (TypeState nxtLabel declareable'' useable' (Cons (label, Nil) st)) (TypeState nxtLabel' declareable''' useable'' st') res -> BranchesList resLst labs (TypeState nxtLabel' declareable''' useable'' st') to finalTo -> BranchesList (Cons res resLst) (Cons (Cons (Jump label) Nil) labs) (TypeState label declareable useable st) (TypeState nxtLabel' declareable''' useable'' st', to) finalTo | Source |
|
|
class BuildBranches bl st where | Source |
|
| Methods | buildBranches :: bl -> st | Source |
|
| | Instances | |
|
|
|
|
|
|
|
|
|
|
class TyListSnd lstA lstB | lstA -> lstB where | Source |
|
| Methods | tyListSnd :: lstA -> lstB | Source |
|
| | Instances | |
|
|
|
|
|
|
Produced by Haddock version 2.4.2 |