added fold fusion paper

This commit is contained in:
lukeg101 2017-10-20 20:28:28 +01:00
parent ac0e42bc5e
commit b2812e737a

View File

@ -9,5 +9,6 @@
* [The Essence of Functional Programming](https://page.mi.fu-berlin.de/scravy/realworldhaskell/materialien/the-essence-of-functional-programming.pdf) by Philip Wadler. This paper uses monads to structure functional programs in Haskell. A very good reference for understanding monads and more generally in the context of programming languages.
* [Monad Transformers and Modular Interpreters](http://haskell.cs.yale.edu/wp-content/uploads/2011/02/POPL96-Modular-interpreters.pdf) by Sheng Liang, Paul Hudak and Mark Jones. Canonical paper on Monad Transformers: the canonical way in which to combine monads and the basis of the popular mtl Haskel library.
* [Data types a la carte](http://www.cs.ru.nl/~W.Swierstra/Publications/DataTypesALaCarte.pdf) by Wouter Swierstra. Popular paper on using smart constructors and injection operators in order to solve Wadler's expression problem. Also a canonical method of developing algebraic effects by using effect Functors, see Wu, Shrijvers and Hinze(below).
* [Effect Handlers in Scope](http://www.cs.ox.ac.uk/people/nicolas.wu/papers/Scope.pdf) by Nicolas Wu, Tom Shijvers and Ralf Hinze. Very interesting paper on developing algebraic effects, and handlers a la carte. Extends Swierstra's work by introducing higher order syntax to handle the interaction of effects (such as state and exceptions where errors backtrack the state).
* [Effect Handlers in Scope](http://www.cs.ox.ac.uk/people/nicolas.wu/papers/Scope.pdf) by Nicolas Wu, Tom Shrijvers and Ralf Hinze. Very interesting paper on developing algebraic effects, and handlers a la carte. Extends Swierstra's work by introducing higher order syntax to handle the interaction of effects (such as state and exceptions where errors backtrack the state).
* [Fusion for Free: Efficient Algebraic Handlers](https://people.cs.kuleuven.be/~tom.schrijvers/Research/papers/mpc2015.pdf) by Nicolas Wu and Tom Shrijvers. Under the Interpretation of effectful computations as abstract syntax trees and handlers as folds, this paper introduces Term Monads to folds in order to enable fold fusion. The handlers may then be combined into a single fold and inlined by GHC to provide performance that rivals, and in some cases, outperforms extensible effects and mtl libraries (proofs and tests included).