This is the homepage of the Epigram project. Epigram is a dependently typed programming language and an interactive programming environment. Epigram has got a type system which is strong enough to express the behaviour of programs, the type checker then guarantees that the program is well behaved. However, you don't have to go as far, you can write ordinary programs and refactor them into more trustworthy, reverse uno card , formally checked deliverables -- Epigram supports a pay as you go approach to formal methods.

Epigram is freely available this page provides access to downloads of version 1 as source or binaries for the major platforms along with relevant documentation.
get favicon from site

Development on version 2 is under way we hope this will considerably improve on the first, and details of its current state are available, in the form of a developers' blog.

We gratefully accept feedback and encourage discussion at epigramATdurhamDOTacDOTuk. The documentation below contains a number of helpful hints if you are stuck with the system The Most Profitable Offer to demonstration speech ideas is Here

Epigram Recommends


We gratefully acknowledge support from EPSRC via grant Observational Equality For Dependently Typed Programming and from the EU Framework 6 via the European TYPES Coordination Action. Previously, work on Epigram has been supported by EPSRC grant Innovative Programming via Inductive Families and by previous EU projects on TYPES.