Computation builder for writing non-deterministic computations.
8 people like thisPosted: 11 years ago by Tomas Petricek
This is an attempt to define a workflow that contains reversible stateful computations. In the event of an exception being raised, all insofar successful operations will fold back to their original state. The implementation uses the notion of reversible computation primitives, which are composed using a free monad that is interpreted with a trampoline.
7 people like thisPosted: 10 years ago by Eirik Tsarpalis
The snippet implements Async.StartCancellable method that can be used to start a given workflow and then cancel it. The cancellation of the workflow is done asynchronously, which means that the caller will wait until the workflow is actually cancelled.
6 people like thisPosted: 10 years ago by Tomas Petricek
You might have heard that a "free" monad can be created from any functor. Unfortunately, that doesn't mean much if you're not already familiar with category theory. This example creates a free monad from a simple functor types
5 people like thisPosted: 2 years ago by Brian Berns