Telford, Alastair J. (1995) Static Analysis of Martin-L''of's Intuitionistic Type Theory. Doctor of Philosophy (PhD) thesis, The Computing Laboratory, University of Kent at Canterbury. (KAR id:21246)
PDF
Language: English |
|
Download this file (PDF/1MB) |
Preview |
Postscript
Language: English |
|
Download this file (Postscript/1MB) |
Preview |
Abstract
Martin-Lof's intuitionistic type theory has been under investigation in recent years as a potential source for future functional programming languages. This is due to its properties which greatly aid the derivation of provably correct programs. These include the Curry-Howard correspondence (whereby logical formulas may be seen as specifications and proofs of logical formulas as programs) and strong normalisation (i.e. evaluation of every proof/program must terminate). Unfortunately, a corollary of these properties is that the programs may contain computationally irrelevant proof objects: proofs which are not to be printed as part of the result of a program. We show how a series of static analyses may be used to improve the efficiency of type theory as a lazy functional programming language. In particular we show how variants of abstract interpretation may be used to eliminate unnecessary computations in the object code that results from a type theoretic program. After an informal treatment of the application of abstract interpretation to type theory (where we discuss the features of type theory which make it particularly amenable to such an approach), we give formal proofs of correctness of our abstract interpretation techniques, with regard to the semantics of type theory. We subsequently describe how we have implemented abstract interpretation techniques within the Ferdinand functional language compiler. Ferdinand was developed as a lazy functional programming system by Andrew Douglas at the University of Kent at Canterbury. Finally, we show how other static analysis techniques may be applied to type theory. Some of these techniques use the abstract interpretation mechanisms previously discussed. abstract
Item Type: | Thesis (Doctor of Philosophy (PhD)) |
---|---|
Uncontrolled keywords: | Type Theory, Functional Programming, Computational Redundancy, Abstract Interpretation |
Subjects: | Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
Depositing User: | Mark Wheadon |
Date Deposited: | 19 Aug 2009 19:44 UTC |
Last Modified: | 05 Nov 2024 09:59 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/21246 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):