Why Functional Programming Matters by John Hughes | What Functional Programming Is, What it Isn't, and Why it Matters by Noel Welsh
From imperative programming to functional programming (uses Rascal-MPL for implementation examples)
Pure-functional languages are those that have no side effects permitted (except under very specific circumstances, to allow for things like I/O to happen). Impure functional languages allow state modification to happen (under constraints) and thus often avoid the gyrations to which pure functional languages need to go, such as monads.
David Turner Some History of Functional Programming Languages, Proceedings TFP 2012, Springer LNCS 7829:1--20.
Philip Wadler A critique of Abelson and Sussman or why calculating is better than scheming, SIGPLAN Notices 22(3):83-94, March 1987
Collection of readings: "This page lists various writings from Gitter, Reddit or Github, in their raw form."
* Lazy Error Handling in Java, Part 1: The Thrower Functor
* Lazy Error Handling in Java, Part 2: Thrower is a Monad
* Lazy Error Handling in Java, Part 3: Throwing Away Throws
* Higher-Order Java Parallelism, Part 1: Parallel Strategies and the Callable Monad
* Higher-Order Java Parallelism, Part 2: Parallel List Transformations
* Higher-Order Java Parallelism, Part 3: Threadless Concurrency With Actors
* Higher-Order Java Parallelism, Part 4: A Better Future
Erik Meijer (13 videos)
Last modified 06 April 2022