typed-protocols: A framework for strongly typed protocols

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Warnings:

A robust session type framework which supports protocol pipelining.


[Skip to Readme]

Properties

Versions 1.0.0.0, 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]
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:13:57Z

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


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).