Research Project

Epigram: Innovative Programming via Inductive Families

Zhaohui Luo, James McKinna, Paul Callaghan, and Conor McBride
Dept of Computer Science, Royal Holloway, University of London

Funded by EPSRC, grant ref. GR/R72259 (Dec. 2001 - Aug 2005)
In collaboration with the ALTA Systems Ltd. and the Centre for Educational Measurement at Belfast


Abstract of the project proposal

This is an adventurous proposal, seeking to investigate a novel approach to the practice of functional programming. We believe that a dependent type system centered on inductive families of datatypes can have a radical and positive impact on the way we define data structures and express computations over them. Inductive families are new to programming, and a distinct advance on the weaker technology made available by languages like DML, Cayenne and Haskell. Our objective is to demonstrate the value of this approach and make it accessible to programmers.

Our method is to develop a platform, Epigram, and write programs: we will address substantial problems and compare our results with current practice. Epigram is the first proposed platform to take inductive families seriously as data structures, and also the first to explore the benefits of dependent types for program code itself. This project is about learning to program in a new way.