Sign up through this link.
One of the joys of functional programming is that code is so much more testable. For a start, testing pure functions is much easier than testing side-effecting procedures. Better still the auto-generation of test cases can be done by a library, without any external tools. And where we want exhaustive testing, it is possible to use lazy evaluation to cut the search space dramatically. I’ll explain these idea using demos from Quickcheck and Lazy Smallcheck, two popular libraries.
While the focus of this talk is testing, I’ll introduce functional programming as I go along, so that you don’t already have to know Haskell to make sense of the ideas. I’ll also try to give a flavour of why I think you’ll be seeing a lot more crossover of functional programming ideas into the mainstream, over the next few years.
Simon Peyton Jones
Simon Peyton Jones, MA, MBCS, CEng, graduated from Trinity College Cambridge in 1980. After two years in industry, he spent seven years as a lecturer at University College London, and nine years as a professor at Glasgow University, before moving to Microsoft Research (Cambridge) in 1998.
His main research interest is in functional programming languages, their implementation, and their application. He has led a succession of research projects focused around the design and implementation of production-quality functional-language systems for both uniprocessors and parallel machines. He was a key contributor to the design of the now-standard functional language Haskell, and is the lead designer of the widely-used Glasgow Haskell Compiler (GHC). He has written two textbooks about the implementation of functional languages.
More generally, he is interested in language design, rich type systems, software component architectures, compiler technology, code generation, runtime systems, virtual machines, and garbage collection. He is particularly motivated by direct use of principled theory to practical language design and implementation -- that's one reason he loves functional programming so much.
His home page is at http://research.microsoft.com/~simonpj.