adds Composing Fractals to Haskell (#488)

This commit is contained in:
Batyr Nuryyev 2017-10-24 04:55:18 -06:00 committed by Darren_N
parent d09baeabe6
commit 4deb10cede

View File

@ -13,4 +13,5 @@
* [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 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 Free Monad 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).
* [Handlers In Action](http://homepages.inf.ed.ac.uk/slindley/papers/handlers.pdf) by Ohad Kammar, Sam Lindley and Nicolas Oury. A popular position paper and basis of a Haskell library to develop algebraic effects and handlers. The template Haskell library supports open handlers by using type families instead of co-product functors a la carte.
* [Handlers In Action](http://homepages.inf.ed.ac.uk/slindley/papers/handlers.pdf) by Ohad Kammar, Sam Lindley and Nicolas Oury. A popular position paper and basis of a Haskell library to develop algebraic effects and handlers. The template Haskell library supports open handlers by using type families instead of co-product functors a la carte.
* [Composing Fractals](http://web.cecs.pdx.edu/~mpj/pubs/composing-fractals.pdf) by Mark P. Jones. This paper describes a simple but flexible family of Haskell programs for drawing pictures of fractals such as Mandelbrot and Julia sets. Its main goal is to showcase the elegance of a compositional approach to program construction, and the benefits of a clean separation between different aspects of program behavior.