Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type family XMsg eta
- type family XLabel eta
- type family XBranch eta
- type family XBranchSt eta
- type family XGoto eta
- type family XTerminal eta
- type ForallX (f :: Type -> Constraint) eta = (f (XMsg eta), f (XLabel eta), f (XBranch eta), f (XBranchSt eta), f (XGoto eta), f (XTerminal eta))
- data BranchSt eta r bst = BranchSt (XBranchSt eta) bst [[String]] (Protocol eta r bst)
- data MsgOrLabel eta r
- data Protocol eta r bst
- type XTraverse (m :: Type -> Type) eta gama r bst = ((XMsg eta, (String, [[String]], r, r, Protocol eta r bst)) -> m (XMsg gama), (XLabel eta, (Int, Protocol eta r bst)) -> m (XLabel gama), (XBranch eta, (r, String, [BranchSt eta r bst])) -> m (XBranch gama, m (Protocol gama r bst) -> m (Protocol gama r bst)), (XBranchSt eta, (bst, [[String]], Protocol eta r bst)) -> m (XBranchSt gama), (XGoto eta, Int) -> m (XGoto gama), XTerminal eta -> m (XTerminal gama))
- xtraverse :: Monad m => XTraverse m eta gama r bst -> Protocol eta r bst -> m (Protocol gama r bst)
- type XFold (m :: Type -> Type) eta r bst = ((XMsg eta, (String, [[String]], r, r, Protocol eta r bst)) -> m (), (XLabel eta, Int) -> m (), (XBranch eta, (r, String, [BranchSt eta r bst])) -> m (m () -> m ()), (XBranchSt eta, (bst, [[String]], Protocol eta r bst)) -> m (), (XGoto eta, Int) -> m (), XTerminal eta -> m ())
- xfold :: Monad m => XFold m eta r bst -> Protocol eta r bst -> m ()
- data ProtocolError r bst
- = DefLabelMultTimes Int
- | LabelUndefined Int
- | BranchFirstMsgMustHaveTheSameSender r String r
- | UndecideStateCanNotSendMsg String
- | UndecideStateCanNotStartBranch [BranchSt (GenConst r) r bst]
- | TerminalNeedAllRoleDecide String
- | BranchAtLeastOneBranch
- | AStateOnlyBeUsedForTheSamePair
- | MsgDoNotExistBeforeNextTerm String
- internalError :: String
- data Tracer r bst
- = TracerProtocolCreat (Protocol Creat r bst)
- | TracerProtocolIdx (Protocol Idx r bst)
- | TracerReRank (IntMap Int)
- | TracerProtocolAddNum (Protocol AddNums r bst)
- | TracerProtocolGenConst (Protocol (GenConst r) r bst)
- | TracerConstraints (Seq Constraint)
- | TracerSubMap SubMap
- | TracerProtocolGenConstN (Protocol (GenConst r) r bst)
- | TracerVerifyResult (IntMap (r, r))
- | TracerCollectBranchDynVal (Set Int)
- | TracerProtocolMsgT (Protocol (MsgT r bst) r bst)
- | TracerProtocolMsgT1 (Protocol (MsgT1 r bst) r bst)
- | TracerBranchResultTI [(r, String, T bst)] (Map String [(bst, [[String]], T bst)])
- traceWrapper :: String -> String -> String
- data Creat
- data Idx
- data AddNums
- data GenConst r
- data T bst
- data MsgT r bst
- data MsgT1 r bst
Documentation
type family XLabel eta Source #
Instances
type XLabel AddNums Source # | |
Defined in TypedSession.State.Type | |
type XLabel Creat Source # | |
Defined in TypedSession.State.Type | |
type XLabel Idx Source # | |
Defined in TypedSession.State.Type | |
type XLabel (GenConst r) Source # | |
Defined in TypedSession.State.Type | |
type XLabel (MsgT r bst) Source # | |
Defined in TypedSession.State.Type | |
type XLabel (MsgT1 r bst) Source # | |
Defined in TypedSession.State.Type |
type family XBranch eta Source #
Instances
type XBranch AddNums Source # | |
Defined in TypedSession.State.Type | |
type XBranch Creat Source # | |
Defined in TypedSession.State.Type | |
type XBranch Idx Source # | |
Defined in TypedSession.State.Type | |
type XBranch (GenConst r) Source # | |
Defined in TypedSession.State.Type | |
type XBranch (MsgT r bst) Source # | |
Defined in TypedSession.State.Type | |
type XBranch (MsgT1 r bst) Source # | |
Defined in TypedSession.State.Type |
type family XBranchSt eta Source #
Instances
type XBranchSt AddNums Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt Creat Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt Idx Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt (GenConst r) Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt (MsgT r bst) Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt (MsgT1 r bst) Source # | |
Defined in TypedSession.State.Type |
type family XGoto eta Source #
Instances
type XGoto AddNums Source # | |
Defined in TypedSession.State.Type | |
type XGoto Creat Source # | |
Defined in TypedSession.State.Type | |
type XGoto Idx Source # | |
Defined in TypedSession.State.Type | |
type XGoto (GenConst r) Source # | |
Defined in TypedSession.State.Type | |
type XGoto (MsgT r bst) Source # | |
Defined in TypedSession.State.Type | |
type XGoto (MsgT1 r bst) Source # | |
Defined in TypedSession.State.Type |
type family XTerminal eta Source #
Instances
type XTerminal AddNums Source # | |
Defined in TypedSession.State.Type | |
type XTerminal Creat Source # | |
Defined in TypedSession.State.Type | |
type XTerminal Idx Source # | |
Defined in TypedSession.State.Type | |
type XTerminal (GenConst r) Source # | |
Defined in TypedSession.State.Type | |
type XTerminal (MsgT r bst) Source # | |
Defined in TypedSession.State.Type | |
type XTerminal (MsgT1 r bst) Source # | |
Defined in TypedSession.State.Type |
type ForallX (f :: Type -> Constraint) eta = (f (XMsg eta), f (XLabel eta), f (XBranch eta), f (XBranchSt eta), f (XGoto eta), f (XTerminal eta)) Source #
ForallX
data BranchSt eta r bst Source #
BranchSt
data MsgOrLabel eta r Source #
MsgOrLabel
Instances
Functor (MsgOrLabel eta) Source # | |
Defined in TypedSession.State.Type fmap :: (a -> b) -> MsgOrLabel eta a -> MsgOrLabel eta b # (<$) :: a -> MsgOrLabel eta b -> MsgOrLabel eta a # | |
(Show (XMsg eta), Show (XLabel eta), Show r) => Show (MsgOrLabel eta r) Source # | |
Defined in TypedSession.State.Type showsPrec :: Int -> MsgOrLabel eta r -> ShowS # show :: MsgOrLabel eta r -> String # showList :: [MsgOrLabel eta r] -> ShowS # | |
(Show (XMsg eta), Show (XLabel eta), Show r) => Pretty (MsgOrLabel eta r) Source # | |
Defined in TypedSession.State.Type pretty :: MsgOrLabel eta r -> Doc ann # prettyList :: [MsgOrLabel eta r] -> Doc ann # |
data Protocol eta r bst Source #
Protocol
(MsgOrLabel eta r) :> (Protocol eta r bst) infixr 5 | |
Branch (XBranch eta) r String [BranchSt eta r bst] | |
Goto (XGoto eta) Int | |
Terminal (XTerminal eta) |
type XTraverse (m :: Type -> Type) eta gama r bst = ((XMsg eta, (String, [[String]], r, r, Protocol eta r bst)) -> m (XMsg gama), (XLabel eta, (Int, Protocol eta r bst)) -> m (XLabel gama), (XBranch eta, (r, String, [BranchSt eta r bst])) -> m (XBranch gama, m (Protocol gama r bst) -> m (Protocol gama r bst)), (XBranchSt eta, (bst, [[String]], Protocol eta r bst)) -> m (XBranchSt gama), (XGoto eta, Int) -> m (XGoto gama), XTerminal eta -> m (XTerminal gama)) Source #
XTraverse
xtraverse :: Monad m => XTraverse m eta gama r bst -> Protocol eta r bst -> m (Protocol gama r bst) Source #
xtraverse
type XFold (m :: Type -> Type) eta r bst = ((XMsg eta, (String, [[String]], r, r, Protocol eta r bst)) -> m (), (XLabel eta, Int) -> m (), (XBranch eta, (r, String, [BranchSt eta r bst])) -> m (m () -> m ()), (XBranchSt eta, (bst, [[String]], Protocol eta r bst)) -> m (), (XGoto eta, Int) -> m (), XTerminal eta -> m ()) Source #
XFold
data ProtocolError r bst Source #
ProtocolError
Instances
(Show r, Show bst) => Show (ProtocolError r bst) Source # | |
Defined in TypedSession.State.Type showsPrec :: Int -> ProtocolError r bst -> ShowS # show :: ProtocolError r bst -> String # showList :: [ProtocolError r bst] -> ShowS # |
TracerProtocolCreat (Protocol Creat r bst) | |
TracerProtocolIdx (Protocol Idx r bst) | |
TracerReRank (IntMap Int) | |
TracerProtocolAddNum (Protocol AddNums r bst) | |
TracerProtocolGenConst (Protocol (GenConst r) r bst) | |
TracerConstraints (Seq Constraint) | |
TracerSubMap SubMap | |
TracerProtocolGenConstN (Protocol (GenConst r) r bst) | |
TracerVerifyResult (IntMap (r, r)) | |
TracerCollectBranchDynVal (Set Int) | |
TracerProtocolMsgT (Protocol (MsgT r bst) r bst) | |
TracerProtocolMsgT1 (Protocol (MsgT1 r bst) r bst) | |
TracerBranchResultTI [(r, String, T bst)] (Map String [(bst, [[String]], T bst)]) |
Instances
type XBranch Creat Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt Creat Source # | |
Defined in TypedSession.State.Type | |
type XGoto Creat Source # | |
Defined in TypedSession.State.Type | |
type XLabel Creat Source # | |
Defined in TypedSession.State.Type | |
type XMsg Creat Source # | |
Defined in TypedSession.State.Type | |
type XTerminal Creat Source # | |
Defined in TypedSession.State.Type |
Instances
type XBranch Idx Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt Idx Source # | |
Defined in TypedSession.State.Type | |
type XGoto Idx Source # | |
Defined in TypedSession.State.Type | |
type XLabel Idx Source # | |
Defined in TypedSession.State.Type | |
type XMsg Idx Source # | |
type XTerminal Idx Source # | |
Defined in TypedSession.State.Type |
Instances
type XBranch AddNums Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt AddNums Source # | |
Defined in TypedSession.State.Type | |
type XGoto AddNums Source # | |
Defined in TypedSession.State.Type | |
type XLabel AddNums Source # | |
Defined in TypedSession.State.Type | |
type XMsg AddNums Source # | |
type XTerminal AddNums Source # | |
Defined in TypedSession.State.Type |
Instances
type XBranch (GenConst r) Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt (GenConst r) Source # | |
Defined in TypedSession.State.Type | |
type XGoto (GenConst r) Source # | |
Defined in TypedSession.State.Type | |
type XLabel (GenConst r) Source # | |
Defined in TypedSession.State.Type | |
type XMsg (GenConst r) Source # | |
type XTerminal (GenConst r) Source # | |
Defined in TypedSession.State.Type |
Instances
type XBranch (MsgT r bst) Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt (MsgT r bst) Source # | |
Defined in TypedSession.State.Type | |
type XGoto (MsgT r bst) Source # | |
Defined in TypedSession.State.Type | |
type XLabel (MsgT r bst) Source # | |
Defined in TypedSession.State.Type | |
type XMsg (MsgT r bst) Source # | |
Defined in TypedSession.State.Type | |
type XTerminal (MsgT r bst) Source # | |
Defined in TypedSession.State.Type |
Instances
type XBranch (MsgT1 r bst) Source # | |
Defined in TypedSession.State.Type | |
type XBranchSt (MsgT1 r bst) Source # | |
Defined in TypedSession.State.Type | |
type XGoto (MsgT1 r bst) Source # | |
Defined in TypedSession.State.Type | |
type XLabel (MsgT1 r bst) Source # | |
Defined in TypedSession.State.Type | |
type XMsg (MsgT1 r bst) Source # | |
type XTerminal (MsgT1 r bst) Source # | |
Defined in TypedSession.State.Type |