Email the Author
You can use this page to email Sergei Winitzki about The Science of Functional Programming.
About the Book
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)).
About the Author
Sergei Winitzki has a PhD degree in theoretical physics and, after an academic career in research, now works as a big data engineer. He is passionate about functional programming, declarative programming, and domain-specific languages.