Idris2Doc : Stellar.API.Definition

Stellar.API.Definition

(source)

Reexports

importpublic Stellar.Ops

Definitions

recordAPI : Type
  An API is a pair of a message and a response for that message.

Totality: total
Visibility: public export
Constructor: 
(!>) : (message : Type) -> (message->Type) ->API

Projections:
.message : API->Type
  The type of messages we send to the  system.
.response : ({rec:0} : API) ->message{rec:0}->Type
  The type of responses we expect for each message we send.

Hints:
Cartesianmorbi->APIBifunctormorbi
APIPointedmorf->APIFunctormorf
APICopointedmorf->APIFunctormorf
APIMonadmorf->APIPointedmorf
APIComonadmorf->APIPointedmorf
APIAlternativemorbif->Cartesianmorbi
APIFunctormorf->Categorymor
APIBifunctormorf->Categorymor
APIMonadmorf=>Category (APIKleislifmor)
Category(=&>)
{autoc : API} ->Functor (Exc)
PreorderAPI(=&>)
ReflexiveAPI(=&>)
TransitiveAPI(=&>)
.message : API->Type
  The type of messages we send to the  system.

Totality: total
Visibility: public export
message : API->Type
  The type of messages we send to the  system.

Totality: total
Visibility: public export
.response : ({rec:0} : API) ->message{rec:0}->Type
  The type of responses we expect for each message we send.

Totality: total
Visibility: public export
response : ({rec:0} : API) ->message{rec:0}->Type
  The type of responses we expect for each message we send.

Totality: total
Visibility: public export
Continuation : API->Type
Totality: total
Visibility: public export
(:-) : Type->Type->API
  APIs with a constant response type that does not depend on the input
Also known as a "monomial"

Totality: total
Visibility: public export
Fixity Declaration: infix operator, level 0
Through : Type->API
  The constant interface, returns the input as output.

Totality: total
Visibility: public export
End : API
  The leaf interface, neutral for &> and // (composition and tensor)

Totality: total
Visibility: public export
Never : API
  The empty interface, neutral for + (coproduct)

Totality: total
Visibility: public export
Forever : API
  Nonterminating interface, neutral for * (product)

Totality: total
Visibility: public export
(+) : API->API->API
  The coproduct on APIs.

Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 8
(*) : API->API->API
  The product of APIs, it uses a product on the messages and a co-product on the responses.

Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 9
(//) : API->API->API
  The tensor on APIs, a product on both message and responses.

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 7
recordEx : API->Type->Type
  Extension of a container as a functor.

Totality: total
Visibility: public export
Constructor: 
MkEx : (req : c.message) -> (c.responsereq->ty) ->Excty

Projections:
.cont : ({rec:0} : Excty) ->c.response (req{rec:0}) ->ty
  Continuation
.req : Excty->c.message
  Request

Hint: 
{autoc : API} ->Functor (Exc)
.req : Excty->c.message
  Request

Totality: total
Visibility: public export
req : Excty->c.message
  Request

Totality: total
Visibility: public export
.cont : ({rec:0} : Excty) ->c.response (req{rec:0}) ->ty
  Continuation

Totality: total
Visibility: public export
cont : ({rec:0} : Excty) ->c.response (req{rec:0}) ->ty
  Continuation

Totality: total
Visibility: public export
(&>) : API->API->API
  Substitution monoidal product, aka composition of APIs.

Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 3
(#>) : API->API->API
  Continuation monoidal product.

Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 3
Lift : (Type->Type) ->API->API
  Lifting a functor on types into a functor on APIs

Totality: total
Visibility: public export
($-) : (Type->Type) ->API->API
Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 2
Send : API->API
Totality: total
Visibility: public export