free

Free monads, Cofree comonads, Yoneda and Coyoneda functors, and the Trampoline monad.


License
BSD-3-Clause
Install
psc-package install free

Documentation

purescript-free

Latest release Build status Pursuit

Free monad, Cofree comonad, Yoneda and Coyoneda functors, and the Trampoline monad implementations for PureScript.

The Free monad implementation is represented using a sequential data structure.

See the following reference for further information.

Installation

spago install free

Documentation

Module documentation is published on Pursuit.

Benchmarks

The following benchmarks compare the implementation at v5.2.0 (commit f686f5fc07766f3ca9abc83b47b6ad3da326759a) with the implementation at v0.6.1 (commit 0df59c5d459fed983131856886fc3a4b43234f1f), which used the Gosub technique to defer monadic binds.

left-bind-small

left-bind-large

right-bind-small

right-bind-large