butter

Monad Transformer for Asyncronous Message Passing

https://github.com/System-Indystress/Butter#readme

Version on this page:0.1.0.3
LTS Haskell 14.27:0.1.0.6
Stackage Nightly 2022-01-06:0.1.0.6
Latest on Hackage:0.1.0.6

See all snapshots butter appears in

BSD-3-Clause licensed by Matthew Ahrens
Maintained by [email protected]
This version can be pinned in stack with:butter-0.1.0.3@sha256:5492d7e38804a732d5b676487e871f2f0371bb364c8d8d5fc7822703484cc0d9,2309

Butter

For easily spreading around monadic computation

Examples

  • Example Language usage in test/first/Main.hs
  • Example Protocol usage in test/protocol/Main.hs

Current Language Features

Actor Monad Transformer that supports

  • self
  • send
  • receive
    • selective based on type
    • yields on empty receive or type mismatch
  • spawn
    • built on Forkable-Monad and forkIO
  • lift
  • named pids
  • connect to remote
    • send via named

Current Library Features

  • Protocol (OTP Genserver like typeclass)
    • explicit State type family
    • explicit Monadic Context type family
    • Results API

Future Core Language Features

  • monitor
  • serializable computation typeclass
    • spawn remote
    • monitor remote
  • query remote
  • encrypted message passing by default
    • config to change encode and decode

Future Library Features

  • quasiquoter / convenience Syntax
  • OTP
    • supervisor trees
  • haddock documentation
  • versioned tutorial series

Changes

Changelog for Butter

Unreleased changes