Skip to content

Instantly share code, notes, and snippets.

@pedrofurla
Created October 10, 2014 04:36
Show Gist options
  • Save pedrofurla/6d852f856f3182a3104f to your computer and use it in GitHub Desktop.
Save pedrofurla/6d852f856f3182a3104f to your computer and use it in GitHub Desktop.
Sketch of a bunch of studies topics
title
Functional Programming

Fundamentals

Conception, evolution, and application of functional programming languages

The algebra of types

The Algebra of Algebraic Data Types https://www.youtube.com/watch?v=YScIPA8RbVE
  by Chris Taylor at London - Haskell November 2012
The Algebra of Data, and the Calculus of Mutation http://blog.lab49.com/archives/3011
Abusing the algebra of algebraic data types - why does this work? http://stackoverflow.com/questions/9190352/abusing-the-algebra-of-algebraic-data-types-why-does-this-work

Batshit Crazy Algebra with Types 
    Scala version of Chris Taylor's talk
    http://rapture.io/crazyTypes/ by Jon Pretty
    https://skillsmatter.com/skillscasts/5153-batshit-crazy-algebra-with-types

Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf http://stackoverflow.com/questions/1189955/practical-application-of-bananas-lenses-envelopes-and-barbed-wire

Theorems for Free! http://homepages.inf.ed.ac.uk/wadler/papers/free/free.ps

Phil Wadler's blog http://homepages.inf.ed.ac.uk/wadler/

How to replace Failure by a List of Successes - wadler - 1985 https://rkrishnan.org/files/wadler-1985.pdf

Interesting: A taste of linear logic http://homepages.inf.ed.ac.uk/wadler/papers/lineartaste/lineartaste-revised.pdf

Interesting: How to add laziness to a strict language, without even being odd, http://homepages.inf.ed.ac.uk/wadler/papers/lazyinstrict/lazyinstrict.ps

A very approachable intro to type systems: On understanding types, data abstraction, and polymorphism http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.695 - Luca Cardelli , Peter Wegner - 1985

Practice

Monads for Functional Programming - Phillip Wadler - 1995

https://github.com/NICTA/fp-principles

https://github.com/NICTA/course

Patterns in Types: A Look at Reader, Writer and State in Scala https://github.com/jedws/lambdajam-patterns-in-types

Lenses Asymmetric Lenses in Scala http://dl.dropbox.com/u/7810909/media/doc/lenses.pdf A Modern History of Lenses - http://dl.dropboxusercontent.com/u/7810909/media/doc/lenses2.pdf

Dependency Injection Without the Gymnastics by Tony Morris & Runar Bjarnason ETE 2012 https://www.youtube.com/watch?v=ECPGTUa1WAI https://github.com/tonymorris/di-without-the-gymnastics

Parametricity - Types are documentation http://dl.dropboxusercontent.com/u/7810909/media/doc/parametricity.pdf https://github.com/tonymorris/parametricity-exercises/blob/master/parametricity.hs

How to write a perfect program by Kris Nuttycombe – @nuttycom http://nuttycom.github.io/lambdaconf-2014/#/how-to-write-a-perfect-program
April 19, 2014

ScalaZ Validation and / http://typelevel.org/blog/2014/02/21/error-handling.html

Sweeping crap APIs under the rug Rob Norris / @tpolecat Simple and quick intro the the State monad http://tpolecat.github.io/assets/crap.html#1

Scrap Your Cake Pattern Boilerplate: Dependency Injection Using the Reader Monad Jason Arhart Oct 21st, 2013 http://blog.originate.com/blog/2013/10/21/reader-monad-for-dependency-injection/

Running Free with Monads http://www.slideshare.net/kenbot/running-free-with-the-monads

Typeclasses

Diagram 
    by Rob Norris and Leif Warner
    http://leifwarner.net/scalaz.svg 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment