John Hughes has been a functional programming enthusiast for more than thirty years, at the Universities of Oxford, Glasgow, and since 1992 Chalmers University in Gothenburg, Sweden. He served on the Haskell design committee, co-chairing the committee for Haskell 98, and is the author of more than 100 papers, including "Why Functional Programming Matters", one of the classics of the area. With Koen Claessen, he created QuickCheck, the most popular testing tool among Haskell programmers, and in 2006 he founded Quviq to commercialise the technology using Erlang.
Property-based testing is increasingly popular, yet the properties that developers write are not always effective at revealing faults. Developers often don't notice this, because it’s impractical to inspect all the generated tests. But they DO have intuitions for tests they would like to run. Many try to generalize these into properties, but this works poorly. In this talk, I’ll show another way to use those intuitions to build effective properties cheaply. I'll also show new features in Haskell QuickCheck that support this way of working.