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.
- Reflection without Remorse (Ploeg and Kiselyov 2014)
spago install free
Module documentation is published on Pursuit.
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.