Last active
February 4, 2018 21:54
-
-
Save adamwespiser/e79c6379146b3f0f7cd0fc455f2c54bf to your computer and use it in GitHub Desktop.
A comparison of performance between Free Monad and mtl transformers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Objective: A comparison of performance between Free Monad and mtl transformers | |
```Haskell | |
Free f a = { unFree :: f (Free f a) } | |
``` | |
http://softwareengineering.stackexchange.com/questions/242795/what-is-the-free-monad-interpreter-pattern | |
# construction of free monad via individual functions | |
http://www.atamo.com/articles/free-monads-wont-detox-your-colon/ | |
# two failed attempts at extensible effects | |
http://archive.is/K0R6y | |
# free monad benchmark | |
https://github.com/feuerbach/freemonad-benchmark | |
# free monad benchmark write up | |
https://ro-che.info/articles/2014-06-14-extensible-effects-failed | |
# idris evaluation, explicit variable passing w/ state monad | |
https://github.com/idris-lang/Idris-dev/blob/ad1343827cb052d23196494cd24659d2a38c220a/src/Idris/Core/Evaluate.hs#L259 | |
# purescript codegen, mtl style | |
https://github.com/purescript/purescript/blob/master/src/Language/PureScript/CodeGen/JS.hs | |
# Cofun with cofree comonads | |
http://dlaing.org/cofun/ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment