distributed-process-lifted

monad-control style typeclass and transformer instances for Process monad. https://github.com/jeremyjh/distributed-process-lifted

Latest on Hackage:0.3.0.1

See all snapshots distributed-process-lifted appears in

BSD-3-Clause licensed by Jeremy Huffman

Module documentation for 0.3.0.1

This version can be pinned in stack with:distributed-process-lifted-0.3.0.1@sha256:c7dc9474a9d09ad66e0337ab79851e333f1563fc3a07107048866269451e6ce6,4069

This package provides typeclasses and functions for lifting functions and control operations (such as spawnLocal) from the Process monad into transformer stacks based on the Process monad. It uses MonadTransControl and a new typeclass Control.Distributed.Process.Lifted.Class.MonadProcessBase which plays the same role as MonadBaseControl. Instances are provided for all the transformers types - so stacks based on any of these (e.g. ReaderT Config Process a) can be used seamlessly.

The Control.Distributed.Process.Lifted module exports all the same symbols as found in Control.Distributed.Process, but they are all generalized. Where appropriate it re-exports the more general functions from lifted-base (e.g. catch) rather than the versions re-implemented for Process.