2 comments

[ 15.8 ms ] story [ 948 ms ] thread
Nice writeup! I especially liked the subsection "Getting rid of global state".

Personally, I regard a programming language's ability to conveniently express sets of test cases an important indicator of its usefulness. Also for this reason, I find features such as Haskell's list comprehension and Prolog's built-in backtracking very attractive. Haskell also provides the QuickCheck framework for automated random testing. However, at least in my experience, systematic exhaustive testing is preferable, and provides stronger guarantees.