Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heinrichapfelmus/frp-guides
A collection of tutorials, guidelines, examples, patterns and half-baked ideas on functional reactive programming (FRP).
https://github.com/heinrichapfelmus/frp-guides
frp haskell tutorial
Last synced: 2 days ago
JSON representation
A collection of tutorials, guidelines, examples, patterns and half-baked ideas on functional reactive programming (FRP).
- Host: GitHub
- URL: https://github.com/heinrichapfelmus/frp-guides
- Owner: HeinrichApfelmus
- Created: 2015-12-28T14:32:42.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2021-01-19T16:58:19.000Z (about 4 years ago)
- Last Synced: 2023-04-10T11:20:58.410Z (almost 2 years ago)
- Topics: frp, haskell, tutorial
- Language: Haskell
- Homepage:
- Size: 480 KB
- Stars: 63
- Watchers: 11
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
FRP Guides
==========This respository collects tutorials, guidelines, examples, patterns and half-baked ideas on functional reactive programming (FRP).
At the moment, it is organized a bit like a curated Wiki. If you've found a nice code pattern, or a cool link, don't hesitate to make a pull request.
The focus is on FRP libraries written in [Haskell][], using the style originally pioneered by Conal Elliott, and developed e.g. in the [reactive-banana][], [frpnow][] or [sodium][] libraries.
All written material here is licensed under a Creative Commons BY-SA 4.0 License. Any source code snippets or examples used here are released to the public domain.
[haskell]: https://www.haskell.org/
[reactive-banana]: https://github.com/HeinrichApfelmus/reactive-banana
[frpnow]: https://github.com/atzeus/FRPNow
[sodium]: https://github.com/SodiumFRP/sodiumTable of Contents
-----------------* [Heinrich Apfelmus](apfelmus/)
* [Introduction to Functional Reactive Programming](apfelmus/frp-intro.md) — Slides and video link for a introductory talk I gave at Bobkonf 2016
* [The Model-View-Controller Pattern and Functional Reactive Programming](apfelmus/mvc.md) — Three useful principles for structuring GUI code.External Resources
------------------* FRP was pioneered by Conal Elliott and his writings are a good source on the topic.
* ["Functional Reactive Animation"][2a] — This is the seminal paper that started the whole FRP thing. It's still a nice, though somewhat outdated overview of FRP.
* ["Declarative event-oriented programming"][2b] — Practial example that demonstrates the utility of FRP for GUI programming. Excellent introduction to the general programming philosophy.
* ["Push-pull functional reactive programming"][2c] — Good read for understanding how the model is mapped to an API in terms of applicative and other functors.* Stephen Blackheath and Anthony Jones have written a [book "Functional Reactive Programming"][blackheath]. It is an introduction to FRP using Java as the main language, but it also describes several patterns that occur in practice.
[2a]: http://conal.net/papers/icfp97/
[2b]: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.1064
[2c]: http://conal.net/papers/push-pull-frp/
[blackheath]: https://www.manning.com/books/functional-reactive-programming* Joachim Breitner's course [CIS 194: Introduction to Haskell][joachim] also includes a nice [tutorial of FRP][joachim-frp].
[joachim]: http://cis.upenn.edu/~cis194/fall16/
[joachim-frp]: http://cis.upenn.edu/~cis194/fall16/lectures/11-frp.html* Paul Johnson's short [tutorial on using Reactive Banana with GTK3](http://paulspontifications.blogspot.de/2018/02/haskell-with-reactive-banana-and-gtk3.html).