typed-protocols-examples
Safe HaskellNone
LanguageHaskell2010

Network.TypedProtocol.ReqResp.Type

Documentation

data ReqResp (req :: k) (resp :: k1) where Source #

Constructors

StIdle :: forall {k} {k1} (req :: k) (resp :: k1). ReqResp req resp 
StBusy :: forall {k} {k1} (req :: k) (resp :: k1). ReqResp req resp 
StDone :: forall {k} {k1} (req :: k) (resp :: k1). ReqResp req resp 

Instances

Instances details
(Show req, Show resp) => Show (Message (ReqResp req resp) from to) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

Methods

showsPrec :: Int -> Message (ReqResp req resp) from to -> ShowS #

show :: Message (ReqResp req resp) from to -> String #

showList :: [Message (ReqResp req resp) from to] -> ShowS #

(Eq req, Eq resp) => Eq (Message (ReqResp req resp) from to) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

Methods

(==) :: Message (ReqResp req resp) from to -> Message (ReqResp req resp) from to -> Bool #

(/=) :: Message (ReqResp req resp) from to -> Message (ReqResp req resp) from to -> Bool #

Protocol (ReqResp req resp) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

Associated Types

type StateToken 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

type StateToken = SReqResp :: ReqResp req resp -> Type
StateTokenI ('StBusy :: ReqResp req resp) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

Methods

stateToken :: StateToken ('StBusy :: ReqResp req resp) #

StateTokenI ('StDone :: ReqResp req resp) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

Methods

stateToken :: StateToken ('StDone :: ReqResp req resp) #

StateTokenI ('StIdle :: ReqResp req resp) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

Methods

stateToken :: StateToken ('StIdle :: ReqResp req resp) #

data Message (ReqResp req resp) (from :: ReqResp req resp) (to :: ReqResp req resp) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

data Message (ReqResp req resp) (from :: ReqResp req resp) (to :: ReqResp req resp) where
type StateToken Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

type StateToken = SReqResp :: ReqResp req resp -> Type
type StateAgency ('StBusy :: ReqResp req resp) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

type StateAgency ('StBusy :: ReqResp req resp) = 'ServerAgency
type StateAgency ('StDone :: ReqResp req resp) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

type StateAgency ('StDone :: ReqResp req resp) = 'NobodyAgency
type StateAgency ('StIdle :: ReqResp req resp) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

type StateAgency ('StIdle :: ReqResp req resp) = 'ClientAgency

data SReqResp (st :: ReqResp req resp) where Source #

Constructors

SingIdle :: forall {k} {k1} {req :: k} {resp :: k1}. SReqResp ('StIdle :: ReqResp req resp) 
SingBusy :: forall {k} {k1} {req :: k} {resp :: k1}. SReqResp ('StBusy :: ReqResp req resp) 
SingDone :: forall {k} {k1} {req :: k} {resp :: k1}. SReqResp ('StDone :: ReqResp req resp) 

Instances

Instances details
Show (SReqResp st) Source # 
Instance details

Defined in Network.TypedProtocol.ReqResp.Type

Methods

showsPrec :: Int -> SReqResp st -> ShowS #

show :: SReqResp st -> String #

showList :: [SReqResp st] -> ShowS #