Haskell has been called a \"pure functional language.\"
What does \"pure\" mean in this context? What consequences does this have for a programmer?
As there cannot be any side effects in pure functional code, testing gets much easier as there is no external state to check or verify. Also, because of this, extending code may become easier.
I lost count of the number of times I had trouble with non-obvious side effects when extending/fixing (or trying to fix) code.