butter: Monad Transformer for Asyncronous Message Passing

[ bsd3, concurrency, distrbution, distributed-computing, library ] [ Propose Tags ]

Please see the README on Github at https://github.com/System-Indystress/Butter#readme


[Skip to Readme]
Versions 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.6
Change log ChangeLog.md
Dependencies aeson, base (<5), bytestring, containers, forkable-monad (>=0.2.0.0), free, HUnit, network-simple, stm, template-haskell, text, transformers [details]
License BSD-3-Clause
Copyright 2018 SID.run
Author Matthew Ahrens
Maintainer matt.p.ahrens@gmail.com
Category Distributed Computing, Concurrency
Home page https://github.com/System-Indystress/Butter#readme
Bug tracker https://github.com/System-Indystress/Butter/issues
Source repo head: git clone https://github.com/System-Indystress/Butter
Uploaded by mpahrens at Tue Jun 19 17:36:20 UTC 2018
Distributions LTSHaskell:0.1.0.6, NixOS:0.1.0.6, Stackage:0.1.0.6
Downloads 357 total (29 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-06-19 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for butter-0.1.0.6

[back to package description]

Build Status

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