typed-protocols-doc
Safe HaskellNone
LanguageHaskell2010

Network.TypedProtocol.Documentation.Types

Synopsis

Documentation

data AgencyID Source #

Represents agency at the term level. Used to indicate which side has agency in a particular protocol state.

Instances

Instances details
ToJSON AgencyID Source # 
Instance details

Defined in Network.TypedProtocol.Documentation.Types

Bounded AgencyID Source # 
Instance details

Defined in Network.TypedProtocol.Documentation.Types

Enum AgencyID Source # 
Instance details

Defined in Network.TypedProtocol.Documentation.Types

Read AgencyID Source # 
Instance details

Defined in Network.TypedProtocol.Documentation.Types

Show AgencyID Source # 
Instance details

Defined in Network.TypedProtocol.Documentation.Types

Eq AgencyID Source # 
Instance details

Defined in Network.TypedProtocol.Documentation.Types

Ord AgencyID Source # 
Instance details

Defined in Network.TypedProtocol.Documentation.Types

Lift AgencyID Source # 
Instance details

Defined in Network.TypedProtocol.Documentation.Types

Methods

lift :: Quote m => AgencyID -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => AgencyID -> Code m AgencyID #

data ProtocolDescription codec Source #

Term-level representation of a typed protocol.

Constructors

ProtocolDescription 

Fields

data MessageDescription codec Source #

Term-level representation of a typed protocol message.

Constructors

MessageDescription 

Fields

newtype Description #

Used to add descriptions via ANN pragmas. This is necessary because Template Haskell cannot find Haddock comments attached to constructors inside associated types, but it can find annotations on those same constructors.

Constructors

Description 

Instances

Instances details
Monoid Description 
Instance details

Defined in Data.SerDoc.Info

Semigroup Description 
Instance details

Defined in Data.SerDoc.Info

Data Description 
Instance details

Defined in Data.SerDoc.Info

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Description -> c Description #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Description #

toConstr :: Description -> Constr #

dataTypeOf :: Description -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Description) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Description) #

gmapT :: (forall b. Data b => b -> b) -> Description -> Description #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Description -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Description -> r #

gmapQ :: (forall d. Data d => d -> u) -> Description -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Description -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Description -> m Description #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Description -> m Description #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Description -> m Description #

Read Description 
Instance details

Defined in Data.SerDoc.Info

Show Description 
Instance details

Defined in Data.SerDoc.Info

Eq Description 
Instance details

Defined in Data.SerDoc.Info

Lift Description 
Instance details

Defined in Data.SerDoc.Info

Methods

lift :: Quote m => Description -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Description -> Code m Description #