Quantcast
Channel: MarsHut
Viewing all articles
Browse latest Browse all 6551

monads 0.2.2

$
0
0
After a surprisingly long time I'm releasing a new version of my monads
library, focussed on expressivity and correctness:

https://github.com/bwo/monads

Leiningen:

[bwo/monads "0.2.2"]

Improvements from 0.1.0 include:

- change from maps to protocols for monad implementations, which has
increased flexibility and speed (this library is once again a little faster
than morph)

- all monad implementations interoperate with algo.generic.functor

- monad transformers automatically lift operations from "inner" monads, if
they're supported

- a combined reader/writer/state monad (and transformer) was introduced,
and the (faulty) list-t monad transformer was removed

- improvements to call/cc, shift, and reset for the continuation monad

- an applicative functor protocol was introduced, and implementations
provided for several existing types and all monad implementations.

Also, the `mdo` syntax macro was abstracted out and can now accept an
arbitrary user-provided function for doing monadic binds, which should mean
that it can be used with other libraries, though I haven't actually tested
this.

Viewing all articles
Browse latest Browse all 6551

Trending Articles