typed-protocols: A framework for strongly typed protocols

[ apache, control, library ] [ Propose Tags ] [ Report a vulnerability ]

A robust session type framework which supports protocol pipelining.


[Skip to Readme]

library typed-protocols

Modules

  • Network
    • Network.TypedProtocol
      • Network.TypedProtocol.Codec
      • Network.TypedProtocol.Core
      • Network.TypedProtocol.Driver
      • Network.TypedProtocol.Peer
        • Network.TypedProtocol.Peer.Client
        • Network.TypedProtocol.Peer.Server
      • Network.TypedProtocol.Proofs

library typed-protocols:examples

Modules

  • Network
    • TypedProtocol
      • Network.TypedProtocol.Channel
      • Driver
        • Network.TypedProtocol.Driver.Simple
      • PingPong
        • Network.TypedProtocol.PingPong.Client
        • Network.TypedProtocol.PingPong.Codec
          • Network.TypedProtocol.PingPong.Codec.CBOR
        • Network.TypedProtocol.PingPong.Examples
        • Network.TypedProtocol.PingPong.Server
        • Network.TypedProtocol.PingPong.Type
      • ReqResp
        • Network.TypedProtocol.ReqResp.Client
        • Network.TypedProtocol.ReqResp.Codec
          • Network.TypedProtocol.ReqResp.Codec.CBOR
        • Network.TypedProtocol.ReqResp.Examples
        • Network.TypedProtocol.ReqResp.Server
        • Network.TypedProtocol.ReqResp.Type
      • ReqResp2
        • Network.TypedProtocol.ReqResp2.Client
        • Network.TypedProtocol.ReqResp2.Type
      • Stateful
        • ReqResp
          • Network.TypedProtocol.Stateful.ReqResp.Client
          • Network.TypedProtocol.Stateful.ReqResp.Codec
          • Network.TypedProtocol.Stateful.ReqResp.Examples
          • Network.TypedProtocol.Stateful.ReqResp.Server
          • Network.TypedProtocol.Stateful.ReqResp.Type
      • Trans
        • Network.TypedProtocol.Trans.Wedge

library typed-protocols:stateful-cborg

Modules

  • Network
    • TypedProtocol
      • Stateful
        • Codec
          • Network.TypedProtocol.Stateful.Codec.CBOR

library typed-protocols:stateful

Modules

  • Network
    • TypedProtocol
      • Stateful
        • Network.TypedProtocol.Stateful.Codec
        • Network.TypedProtocol.Stateful.Driver
        • Network.TypedProtocol.Stateful.Peer
          • Network.TypedProtocol.Stateful.Peer.Client
          • Network.TypedProtocol.Stateful.Peer.Server
        • Network.TypedProtocol.Stateful.Proofs

library typed-protocols:cborg

Modules

  • Network
    • TypedProtocol
      • Codec
        • Network.TypedProtocol.Codec.CBOR

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 1.0.0.0
Change log CHANGELOG.md
Dependencies base (>=4.12 && <4.22), bytestring (>=0.10 && <0.13), contra-tracer, io-classes (>=1.8 && <1.9), network, primitive, serialise, singletons (>=3.0 && <3.1), time, typed-protocols [details]
Tested with ghc ==9.6 || ==9.8 || ==9.10 || ==9.12
License Apache-2.0[multiple license files]
Copyright 2019-2025 Input Output Global Inc (IOG)
Author Alexander Vieth, Duncan Coutts, Marcin Szamotulski
Maintainer alex@well-typed.com, duncan@well-typed.com, marcin.szamotulski@iohk.io
Category Control
Uploaded by coot at 2025-05-21T16:14:23Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 3 total (3 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2025-05-21 [all 2 reports]

Readme for typed-protocols-1.0.0.0

[back to package description]

Haskell CI handbook

typed-protocols

A robust session type framework which supports protocol pipelining.

Haddocks are published here.

Public content

Duncan Coutts Haskell eXchange 2019 talk.

Monadic party workshop by Marcin Szamotulski (coot):

Talk at Haskell Love 2021 by Marcin Szamotulski (coot), slides.

An Agda implementation by Marcin Szamotulski (coot).