We exhibit the rationale behind the design of Epigram, a dependently typed programming language and interactive program development system, using refinements of a well known progr...
A wide range of computer programs, including compilers and theorem provers, manipulate data structures that involve names and binding. However, the design of programming idioms wh...
We propose a novel type inference algorithm for a dependentlytyped functional language. The novel features of our algorithm are: (i) it can iteratively refine dependent types wit...
Program termination verification is a challenging research subject of significant practical importance. While there is already a rich body of literature on this subject, it is sti...
We introduce basic concepts from object-oriented programming into dependent type theory based on the idea of modelling objects as interactive programs. We consider methods, interf...