What is pure functional programming, and how it can improve our application testing? by Luca Molteni
Pure functional programming is helping developers developing more robust and simpler programs, but it also helps them testing the behaviour of their application in a more predictable way. There are many different approaches to testing and verification of code, and we're constantly reconsidering the best approach to make our code solid, by leveraging concepts like referential transparency and purity to help us avoiding bugs. We explore the meaning of testing, by starting from the simple unit test, moving on to the property based testing and encoding our program invariants in types, with an introduction of some advanced type system concepts such as dependent types.
March 3, 2016