Introduction
Optional module g5bcfr is based on the remarkable fact that in a strong sense, mathematical proof is functional programming in disguise! We'll be peeling away that disguise and showing how you can integrate programming and proof in a single system, if you happen to have a functional language with an expressive type system handy...
...and you do! Under your very noses, in fact. The Epigram programming language (http://www.e-pig.org/) and its interactive (colour!) editor are being developed right here in Nottingham, and this course is brought to you by some of the team who are working on the system and the issues it addresses.
Writing provably correct programs can be clean, can be neat, can be easy and can be seriously addictive. Hacking has never been so exact. Try it.