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.
Why Functional Programming Matters by John Hughes | What Functional Programming Is, What it Isn't, and Why it Matters by Noel Welsh
Reading
Collection of readings: "This page lists various writings from Gitter, Reddit or Github, in their raw form."
Books
- Haskell Programming from first principles with book examples in Frege | Real-World Haskell | Learn you a Haskell | Programming in Haskell
- The Science of Functional Programming: This pedagogical tutorial book presents the theoretical knowledge needed by practitioners of the functional programming paradigm. The main topics covered are: working with functional collections and recursion; the fundamental type and code constructions in functional programming; reasoning about types and code with the Curry-Howard correspondence; laws, structure theorems, and code derivation for functors, monads, and other important typeclasses; free type constructions; and parametricity theorems. Detailed explanations are logically developed and accompanied by full derivations and worked examples tested in the Scala interpreter, as well as exercises. Readers should have a working knowledge of programming; e.g. be able to write code that reads a small text file and prints the number of words in it. The mathematical complexity of the calculations in this book is at the level of undergraduate calculus, similar to simplifying the expressions 1/(x-2) - 1/(x+2) and (d/dx)((x+1)f(x)exp(-x)).
Articles/Blogs/Essays
Monads
Videos
Erik Meijer (13 videos)
Tags:
language
concept
reading
functional
Last modified 08 November 2025