Monad Transformer for Asyncronous Message Passing https://github.com/System-Indystress/Butter#readme

Version on this page:
LTS Haskell 12.22:
Stackage Nightly 2018-12-10:
Latest on Hackage:

See all snapshots butter appears in

BSD3 licensed by Matthew Ahrens
Maintained by matt.p.ahrens@gmail.com

Module documentation for

There are no documented modules for this package.

Build Status


For easily spreading around monadic computation


  • 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


Changelog for Butter

Unreleased changes

comments powered byDisqus