@@ -0,0 +1,45 @@
1+# Resources
2+
3+This document lists some resources, papers, documents that might be
4+related to the areas covered by Streamly and may help in designing and
5+implementing features in Streamly.
6+
7+## Non-Determinism/Logic
8+
9+* [Backtracking, Interleaving, and Terminating Monad Transformers](https://pdfs.semanticscholar.org/42eb/2d71af7e00356a41fae47c7752299dc6700d.pdf)
10+* [Monad Transformers for Backtracking Search](https://arxiv.org/pdf/1406.2058.pdf)
11+* [Continuations for Parallel Logic Programming](http://www.softlab.ntua.gr/~nickie/Papers/todoran-2000-cplp.pdf)
12+* [A Concurrent Extension of Functional Logic
13+Programming Languages](http://convecs.inria.fr/people/Wendelin.Serwe/Pubs/lopstr99.pdf)
14+
15+## Arrows
16+* [Generalising Monads to Arrows](http://www.cse.chalmers.se/~rjmh/Papers/arrows.pdf)
17+* [Monads, Kleisli Arrows, Comonads and other Rambling Thoughts](http://blog.sigfpe.com/2006/06/monads-kleisli-arrows-comonads-and.html)
18+
19+## Concurrency
20+* https://en.wikipedia.org/wiki/Fork-join_model
21+* https://en.wikipedia.org/wiki/Work_stealing
22+* https://en.wikipedia.org/wiki/Task_parallelism
23+* https://en.wikipedia.org/wiki/OpenMP
24+* https://en.wikipedia.org/wiki/Cilk See the "see also" section on this page
25+* https://en.wikipedia.org/wiki/Green_threads
26+* [Fraxl: Abstracting Async.Concurrently](http://elvishjerricco.github.io/2016/09/17/abstracting-async-concurrently.html)
27+
28+## Streaming
29+* [Coroutines for streaming](https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/coroutines-for-streaming)
30+* [Stackless purescript](http://blog.functorial.com/posts/2015-07-31-Stackless-PureScript.html)
31+* [Coroutine Pipelines](https://themonadreader.files.wordpress.com/2011/10/issue19.pdf)
32+* [Faster Coroutine Pipelines](https://dl.acm.org/ft_gateway.cfm?id=3110249&ftid=1902054&dwn=1&CFID=982135108&CFTOKEN=78426775)
33+
34+## Distributed
35+* [Making reliable distributed systems in the presence of software errors](http://erlang.org/download/armstrong_thesis_2003.pdf)
36+* [Towards Haskell in the Cloud](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/remote.pdf?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Fsimonpj%2Fpapers%2Fparallel%2Fremote.pdf)
37+* https://github.com/transient-haskell/transient/wiki/Transient-tutorial
38+* http://haskell-distributed.github.io/wiki.html
39+* https://en.wikipedia.org/wiki/MapReduce
40+
41+## FRP
42+* https://github.com/HeinrichApfelmus/frp-guides
43+* [Push-Pull Functional Reactive Programming](http://conal.net/papers/push-pull-frp/push-pull-frp.pdf)
44+* [Functional Reactive Programming, Refactored](http://www.cs.nott.ac.uk/~psxip1/papers/2016-HaskellSymposium-Perez-Barenz-Nilsson-FRPRefactored-short.pdf)
45+* [Back to the Future: Time Travel in FRP](http://www.cs.nott.ac.uk/~psxip1/papers/2017-HaskellSymposium-Perez-BackToTheFuture-TimeTravelInFRP-latest.pdf)