reading-group icon indicating copy to clipboard operation
reading-group copied to clipboard

#+TITLE: Haskell Reading Group #+SUBTITLE: [[https://github.com/hackwithlambda/reading-group][Fork me on GitHub]] || By [[http://themattchan.com/][@themattchan]] and [[https://bryangarza.github.io/][@bryangarza]] #+HTML_HEAD: #+OPTIONS: html-postamble:nil

  1. why functional programming is the correct way to program
  • [[http://www.cse.chalmers.se/~rjmh/Papers/whyfp.pdf][Hughes. Why functional programming matters.]] [[https://www.youtube.com/watch?v=1qBHf8DrWR8][(talk)]]
  • optional [[https://www.cs.cmu.edu/~crary/819-f09/Landin66.pdf][Landin. The next 700 programming languages]]
  • optional [[https://www.cs.cmu.edu/~crary/819-f09/Backus78.pdf][Backus. Can Programming Be Liberated from the von Neumann Style?]]
  1. the elegance of functional programming
  • [[http://www.cs.tufts.edu/~nr/cs257/archive/richard-bird/sudoku.pdf][Bird. A program to solve Sudoku]]
  • [[http://www.cs.nott.ac.uk/~pszgmh/countdown.pdf][Hutton. The countdown problem.]]
  1. folds
  • [[http://www.cs.nott.ac.uk/~pszgmh/fold.pdf][Hutton. A tutorial on the universality and expressiveness of fold]]
  1. monads (and typeclasses)
  • [[https://page.mi.fu-berlin.de/scravy/realworldhaskell/materialien/the-essence-of-functional-programming.pdf][Wadler. The essence of functional programming]]
  1. applicatives
  • [[http://www.staff.city.ac.uk/~ross/papers/Applicative.pdf][McBride and Paterson. Applicative programming with effects]]
  1. typeclasses and the typeclass hierarchy
  • [[http://people.csail.mit.edu/dnj/teaching/6898/papers/wadler88.pdf][Wadler and Blott. How to make ad-hoc polymorphism less ad-hoc.]]
  • https://wiki.haskell.org/Typeclassopedia
  • Semigroup, Monoid, Arrow, Category, [[Https://hackage.haskell.org/package/comonad][Comonad]], and the other typeclasses by Edward Kmett
  1. parametricity and program calculation
  • [[https://people.mpi-sws.org/~dreyer/tor/papers/wadler.pdf][Wadler. Theorems for free!]]
  • maybe? [[http://www4.di.uminho.pt/~mac/Publications/phd.pdf][Cunha. Point-free Program Calculation]]
  1. program calculation, contd
  • [[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.41.125&rep=rep1&type=pdf][Meijer, Fokkinga, and Paterson. Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire]]
  1. fusion and optimisation
  • [[http://ac.els-cdn.com/030439759090147A/1-s2.0-030439759090147A-main.pdf?_tid=77caccdc-fcac-11e6-968b-00000aacb35d&acdnat=1488173015_5ee058d8bb962798340f34943f4c6c4b][Wadler. Deforestation: transforming programs to eliminate trees]]
  1. DSL embeddings
  • [[http://www.cs.ru.nl/~W.Swierstra/Publications/DataTypesALaCarte.pdf][Swierstra. Data types a la carte]]
  • [[http://www.cs.nott.ac.uk/~psztxa/publ/beast.pdf][Swierstra and Altenkirch. Beauty in the Beast.]]
  1. DSLs, contd
  • [[http://okmij.org/ftp/tagless-final/JFP.pdf][Carette, Kiselyov, and Shan. Finally Tagless, Partially Evaluated]]

extras

  • [[https://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced-fp/docs/huet-zipper.pdf][Huet. The Zipper]]
  • [[http://strictlypositive.org/diff.pdf][McBride. The Derivative of a Regular Type is its Type of One-Hole Contexts]]
  • [[http://strictlypositive.org/CJ.pdf][McBride. Clowns to the left of me, jokers to the right.]]
  • [[https://rkrishnan.org/files/wadler-1985.pdf][Wadler. How to replace failure by a list of successes.]]
  • [[http://belle.sourceforge.net/doc/hughes95design.pdf][Hughes. The Design of a Pretty Printer.]]
  • [[http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf][Wadler. A prettier printer.]]
  • [[http://www.cs.nott.ac.uk/~pszgmh/alacarte.pdf][Day and Hutton. Compilation a la Carte]]
  • [[https://www.cs.cmu.edu/~crary/819-f09/DamasMilner82.pdf][Damas and Milner. Principal type-schemes for functional programs.]]
  • https://wiki.haskell.org/Research_papers/Functional_pearls
  • https://www.cs.cmu.edu/~crary/819-f09/