Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kevinwkc/awesome-fp

:mortar_board: My personal adventurer's log in the land of functional programming.
https://github.com/kevinwkc/awesome-fp

List: awesome-fp

Last synced: about 1 month ago
JSON representation

:mortar_board: My personal adventurer's log in the land of functional programming.

Awesome Lists containing this project

README

        

# Awesome Functional Programming

My personal adventurer's log in the land of functional programming.

Navigation:

* [Books](#books)
* [Courses](#courses)
* [Libraries](#libraries)
* [Papers](#papers)
* [Talks](#talks)
* [Idris](#idris)
* [Tutorials](#tutorials)
* [Free Monads](#free-monads)
* [Type Level Programming in Scala](#type-level-programming-in-scala)

## Books

* [Functional Programming in Scala](https://www.manning.com/books/functional-programming-in-scala) by Paul Chiusano and Runar Bjarnason
* [A companion booklet to "Functional Programming in Scala"](http://blog.higher-order.com/assets/fpiscompanion.pdf) by Runar Bjarnason
* [Clojure for the Brave and True](http://www.braveclojure.com/clojure-for-the-brave-and-true) by Daniel Higginbotham
* [Purely Functional Data Structures](https://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504) by Chris Okasaki
* [New purely functional data structures published since 1998](http://cstheory.stackexchange.com/a/1550) via Stack Exchange
* [Types and Programming Languages](https://www.amazon.com/Types-Programming-Languages-MIT-Press/dp/0262162091) by Benajmin Pierce

## Courses

* [Scala Exercises](https://www.scala-exercises.org) - Open Source project for learning different technologies based on Scala.

## Libraries

* [cats](http://typelevel.org/cats) - Lightweight, modular, and extensible library for functional programming.
* [eff-cats](https://github.com/atnos-org/eff-cats) - Eff monad for cats.
* [emm](https://github.com/djspiewak/emm) - A general monad for managing stacking effects.
* [doobie](https://github.com/tpolecat/doobie) - Principled database access for Scala.
* [fetch](https://github.com/47deg/fetch) - Simple & Efficient data access for Scala and Scala.js.
* [freek](https://github.com/ProjectSeptemberInc/freek) - A freaky simple `Free` to combine your DSL seamlessly.
* [hamsters](https://github.com/scala-hamsters/hamsters) - A mini Scala utility library.
* [scalacaster](https://github.com/vkostyukov/scalacaster) - Purely Functional Algorithms and Data Structures in Scala.

## Papers

* [A Tutorial Introduction to the Lambda Calculus](http://www.inf.fu-berlin.de/lehre/WS03/alpi/lambda.pdf) by Raul Rojas
* [Extensible Effects - An Alternative to Monad Transformers](http://okmij.org/ftp/Haskell/extensible/exteff.pdf) by Oleg Kiselyov
* [Freer Monads, More Extensible Effects](http://okmij.org/ftp/Haskell/extensible/more.pdf) by Oleg Kiselyov
* [Generics of a Higher Kind](https://adriaanm.github.io/files/higher.pdf) by Adriaan Moors, Frank Piessens and Martin Odersky
* [Fun with type functions](http://research.microsoft.com/en-us/um/people/simonpj/papers/assoc-types/fun-with-type-funs/typefun.pdf) by Oleg Kiselyov, Simon Peyton Jones and Chung-chieh Shan
* [Induction is not derivable in second order dependent type theory](http://www.cs.ru.nl/~herman/PUBS/IndNonder.ps.gz) by Herman Geuvers
* [Propositions as Types](http://homepages.inf.ed.ac.uk/wadler/papers/propositions-as-types/propositions-as-types.pdf) by Philip Wadler

## Talks

* [Free monads and free applicatives](https://vimeo.com/165928373) by Markus Hauck
* [The Eff monad, one monad to rule them all](https://vimeo.com/165927840) by Eric Torreborre
* [Constraints Liberate, Liberties Constrain](https://www.youtube.com/watch?v=GqmsQeSzMdw) by Runar Bjarnason
* [Roll your own Shapeless](https://vimeo.com/165837504) by Daniel Spiewak
* [Propositions as Types](https://www.youtube.com/watch?v=IOiZatlZtGU) by Philip Wadler
* [Functional Programming is Terrible](https://www.youtube.com/watch?v=hzf3hTUKk8U) by Runar Bjarnason

#### Idris

* [Type-driven development in Idris](https://vimeo.com/128466883) by Edwin Brady
* [Idris: Type safe printf](https://www.youtube.com/watch?v=fVBck2Zngjo) by Brian McKenna

## Tutorials

* [A Little Guide on Using Futures for Web Developers](http://codemonkeyism.com/a-little-guide-on-using-futures-for-web-developers) - 15 Sep 2015
* [FP for the average Joe - II - ScalaZ Monad Transformers](http://www.47deg.com/blog/fp-for-the-average-joe-part-2-scalaz-monad-transformers) - 26 May 2015

#### Free Monads

* [A Modern Architecture for FP](http://degoes.net/articles/modern-fp) - 28 Dec 2015
* [Modern Functional Programming: Part 2](http://degoes.net/articles/modern-fp-part-2) - 27 Sep 2016
* [Understanding Free Monads](http://perevillega.com/understanding-free-monads) - 28 May 2016
* [Free Monads using FreeK](http://perevillega.com/freek-and-free-monads) - 30 May 2016

#### Type-Level Programming in Scala

* [The Neophyte's Guide to Scala Part 12: Type Classes](http://danielwestheide.com/blog/2013/02/06/the-neophytes-guide-to-scala-part-12-type-classes.html) - 6 Feb 2013
* [Demystifying Implicits and Typeclasses in Scala](http://www.cakesolutions.net/teamblogs/demystifying-implicits-and-typeclasses-in-scala) - 1 Oct 2015
* [Type Level Programming in Scala - Step By Step](http://gigiigig.github.io/tlp-step-by-step/introduction.html) - 19 Oct 2015
* [Type-Level Programming in Scala](https://apocalisp.wordpress.com/2010/06/08/type-level-programming-in-scala) - 8 Jun 2010