finagle/finagle-clojure — pull request #3 by missingfaktor (2014-10-02 20:12:23+00:00)
Title: Monadic goodness

Added a monad instance, and a `dofuture` macro to make use of `map` and `flatmap` (the two most used combinators) more pleasant, so that instead of writing...

```clojure
(f/flatmap (some-gateway-call "arg1" :arg2) [res1]
(f/flatmap (a-dependent-call res1) [res2]
(f/value (op res1 res2))))
```

we can write...

```clojure
(dofuture [res1 (some-gateway-call "arg1" :arg2)
res2 (a-dependent-call res1)]
(op res1 res2))
```