Results 1 
7 of
7
Tagless Staged Interpreters for Typed Languages
 In the International Conference on Functional Programming (ICFP ’02
, 2002
"... Multistage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of deriving an implementation that is both readable and efficient. In an untyped setting, staging an interpreter "removes ..."
Abstract

Cited by 54 (11 self)
 Add to MetaCart
Multistage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of deriving an implementation that is both readable and efficient. In an untyped setting, staging an interpreter "removes a complete layer of interpretive overhead", just like partial evaluation. In a typed setting however, HindleyMilner type systems do not allow us to exploit typing information in the language being interpreted. In practice, this can have a slowdown cost factor of three or more times.
Verifying haskell programs by combining testing and proving
 In Proceedings of the Third International Conference on Quality Software
"... We propose a method for improving confidence in the correctness of Haskell programs by combining testing and proving. Testing is used for debugging programs and specification before a costly proof attempt. During a proof development, testing also quickly eliminates wrong conjectures. Proving helps u ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
We propose a method for improving confidence in the correctness of Haskell programs by combining testing and proving. Testing is used for debugging programs and specification before a costly proof attempt. During a proof development, testing also quickly eliminates wrong conjectures. Proving helps us to decompose a testing task in a way that is guaranteed to be correct. To demonstrate the method we have extended the Agda/Alfa proof assistant for dependent type theory with a tool for random testing. As an example we show how the correctness of a BDDalgorithm written in Haskell is verified by testing properties of component functions. We also discuss faithful translations from Haskell to type theory.
Proof theory of MartinLöf type theory. An overview
 MATHEMATIQUES ET SCIENCES HUMAINES, 42 ANNÉE, N O 165:59 – 99
, 2004
"... We give an overview over the historic development of proof theory and the main techniques used in ordinal theoretic proof theory. We argue, that in a revised Hilbert’s programme, ordinal theoretic proof theory has to be supplemented by a second step, namely the development of strong equiconsistent ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
We give an overview over the historic development of proof theory and the main techniques used in ordinal theoretic proof theory. We argue, that in a revised Hilbert’s programme, ordinal theoretic proof theory has to be supplemented by a second step, namely the development of strong equiconsistent constructive theories. Then we show, how, as part of such a programme, the proof theoretic analysis of MartinLöf type theory with Wtype and one microscopic universe containing only two finite sets in carried out. Then we look at the analysis MartinLöf theory with Wtype and a universe closed under the Wtype, and consider the extension of type theory by one Mahlo universe and its prooftheoretic analysis. Finally we repeat the concept of inductiverecursive definitions, which extends the notion of inductive definitions substantially. We introduce a closed formalisation, which can be used in generic programming, and explain, what is known about its strength.
Testing and Proving in Dependent Type Theory (Part II: Verifying Haskell Programs by Combining Testing and Proving)
 CHALMERS UNIVERSITY OF TECHNOLOGY AND GOTEBORG UNIVERSITY
, 2003
"... ..."
Tagless Staged Interpreters for Typed Languages
"... Multistage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of deriving an implementation that is both readable and efficient. In an untyped setting, staging an interpreter “removes a co ..."
Abstract
 Add to MetaCart
Multistage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of deriving an implementation that is both readable and efficient. In an untyped setting, staging an interpreter “removes a complete layer of interpretive overhead”, just like partial evaluation. In a typed setting however, HindleyMilner type systems do not allow us to exploit typing information in the language being interpreted. In practice, this can have a slowdown cost factor of three or more times. Previously, both type specialization and tag elimination were applied to this problem. In this paper we propose an alternative approach, namely, expressing the definitional interpreter in a dependently typed programming language. We report on our experience with the issues that arose in writing such an interpreter and in designing such a language. To demonstrate the soundness of combining staging and dependent types in a general sense, we formalize our language (called MetaD) and prove its type safety. To formalize MetaD, we extend Shao, Saha, Trifonov and Papaspyrou’s!H language to a multilevel setting. Building on!H allows us to demonstrate type safety in a setting where the type language contains all the calculus of inductive constructions, but without having to repeat the work needed for establishing the soundness of that system.
Universes in Type Theory Part I
, 2005
"... Abstract We give an overview over universes in MartinL"of type theory and consider the following universe constructions: a simple universe, E. Palmgren's super universe and the Mahlo universe. We then introduce models for these theories in extensions of KripkePlatek set theory having ..."
Abstract
 Add to MetaCart
Abstract We give an overview over universes in MartinL&quot;of type theory and consider the following universe constructions: a simple universe, E. Palmgren's super universe and the Mahlo universe. We then introduce models for these theories in extensions of KripkePlatek set theory having the same proof theoretic strength. The extensions of KripkePlatek set theory used formalise the existence of a recursively inaccessible ordinal, a recursively hyperinaccessible ordinal, and a recursively Mahlo ordinal. Using these models we determine upper bounds for the proof theoretic strength of the theories in questions. In case of simple universes and the Mahlo universe, these bounds have been shown by the author to be sharp. This article is an overview over the main techniques in developing these models, full details will be presented in a series of future articles. 1 Introduction This article presents some results of a research program with the goal of determining as strong as possible predicatively justified extensions of MartinL&quot;of type theory (MLTT) and to determine their precise proof theoretic strength.We see three main reasons for following this research program:
Universes in Type Theory Part II – Autonomous Mahlo
, 2009
"... We introduce the autonomous Mahlo universe which is an extension of MartinLöf type theory which we consider as predicatively justified and which has a strength which goes substantially beyond that of the Mahlo universe, which is before writing this paper the strongest predicatively justified publis ..."
Abstract
 Add to MetaCart
We introduce the autonomous Mahlo universe which is an extension of MartinLöf type theory which we consider as predicatively justified and which has a strength which goes substantially beyond that of the Mahlo universe, which is before writing this paper the strongest predicatively justified published extension of MartinLöf type theory. We conjecture it to have the same proof theoretic strength as KripkePlatek set theory extended by one recursively autonomous Mahlo ordinal and finitely many admissibles above it. Here a recursively autonomous Mahlo universe ordinal is an ordinal κ which is recursively hyper αMahlo for all α < κ. We introduce as well as intermediate steps the hyperMahlo and hyper αMahlo universes, and give meaning explanations for these theories as well as for the super and the Mahlo universe. We introduce a model for the autonomous Mahlo universe, and determine an upper bound for its proof theoretic strength, therefore establishing one half of the conjecture mentioned before. The autonomous Mahlo universe is the crucial intermediate step for understanding the Π3reflecting universe, which will be published in a successor of this article and which is even stronger and will slightly exceed the strength of KripkePlatek set theory plus the principle of Π3reflection. 1