Results 1 
4 of
4
Programming in HigherOrder Typed LambdaCalculi
, 1989
"... on Foundations of Computer Science, pages 279282, IEEE, October 1988. [55] J. SteensgaardMadsen. Typed representation of objects by functions. ACM Transactions on Programming Languages and Systems, 11(1):6789, January 1989. 71 [31] [33] [34] [35] Grard Huet. A unification algorithm for ty ..."
Abstract

Cited by 31 (5 self)
 Add to MetaCart
(Show Context)
on Foundations of Computer Science, pages 279282, IEEE, October 1988. [55] J. SteensgaardMadsen. Typed representation of objects by functions. ACM Transactions on Programming Languages and Systems, 11(1):6789, January 1989. 71 [31] [33] [34] [35] Grard Huet. A unification algorithm for typed Acalculus. Theoretical Computer Science, 1:2757, 1975. Grard Huet. A uniform approach to type theory. 1988. Unpublished notes. Grard Huet and Bernard Lang. Proving and applying program transformations expressed with secondorder patterns. Acta Informatica, 11:3155, 1978. Daniel Leivant. Polymorphic type inference. In Proceedings of the loth Annual ACM Symposium on Principles of Programming Languages, ACM, 1983. Daniel Leivant. Reasoning about functional programs and complexity classes associated with type disciplines. In Proccedings of the Twenty Fourth Annual Symposium on the Foundations of Computer Science, pages 160169, IEEE, 1983. Per MartinLSf. Hauptsatz for the intuition
Outline of a Proof Theory of Parametricity
 Proc. 5th International Symposium on Functional Programming Languages and Computer Architecture
, 1991
"... Reynolds' Parametricity Theorem (also known as the Abstraction Theorem), a result concerning the model theory of the second order polymorphic typed calculus (F 2 ), has recently been used by Wadler to prove some unusual and interesting properties of programs. We present a purely syntactic vers ..."
Abstract

Cited by 27 (2 self)
 Add to MetaCart
Reynolds' Parametricity Theorem (also known as the Abstraction Theorem), a result concerning the model theory of the second order polymorphic typed calculus (F 2 ), has recently been used by Wadler to prove some unusual and interesting properties of programs. We present a purely syntactic version of the Parametricity Theorem, showing that it is simply an example of formal theorem proving in second order minimal logic over a first order equivalence theory on terms. We analyze the use of parametricity in proving program equivalences, and show that structural induction is still required: parametricity is not enough. As in Leivant's transparent presentation of Girard's Representation Theorem for F 2 , we show that algorithms can be extracted from the proofs, such that if a term can be proven parametric, we can synthesize from the proof an "equivalent" parametric term that is moreover F 2 typable. Given that Leivant showed how proofs of termination, based on inductive data types and s...
Irrelevance, Polymorphism, and Erasure in Type Theory
, 2008
"... Dependent type theory is a proven technology for verified functional programming in which programs and their correctness proofs may be developed using the same rules in a single formal system. In practice, large portions of programs developed in this way have no computational relevance to the ultima ..."
Abstract
 Add to MetaCart
Dependent type theory is a proven technology for verified functional programming in which programs and their correctness proofs may be developed using the same rules in a single formal system. In practice, large portions of programs developed in this way have no computational relevance to the ultimate result of the program and should therefore be removed prior to program execution. In previous work on identifying and removing irrelevant portions of programs, computational irrelevance is usually treated as an intrinsic property of program expressions. We find that such an approach forces programmers to maintain two copies of commonly used datatypes: a computationally relevant one and a computationally irrelevant one. We instead develop an extrinsic notion of computational irrelevance and find that it yields several benefits including (1) avoidance of the above mentioned code duplication problem; (2) an identification of computational irrelevance with a highly general form of parametric polymorphism; and (3) an elective (i.e., user2 directed) notion of proof irrelevance. We also develop a program analysis for identifying irrelevant expressions and show how previously studied types embodying computational irrelevance (including subset types and squash types) are expressible in the extension of type theory developed herein.
A Polymorphic Calculus for Database Languages
, 1997
"... We present a new database calculus, F db , which is based on Reynold's polymorphic lambda calculus. It supports new type constructors that capture precisely the commutativity and idempotence properties of bags and sets. The type checking rules for these extensions accept most valid programs and ..."
Abstract
 Add to MetaCart
We present a new database calculus, F db , which is based on Reynold's polymorphic lambda calculus. It supports new type constructors that capture precisely the commutativity and idempotence properties of bags and sets. The type checking rules for these extensions accept most valid programs and filter out all inconsistent ones, including for example the programs that convert sets into lists. We give the meaning of these type extensions by using a parametricity theorem and we use this theorem to prove the soundness of the type checking rules. 1 Introduction The simply typed calculus (also called F 1 ) was invented by Church [6]. It differs from the untyped calculus in that it requires type annotations for lambda abstractions, x : t: e, where x is a parameter of type t and e is the function body. A recent work by Hillebrand et al [12, 13] uses the simply typed calculus as a basis for a database language. In that language, collection types, such as lists, are represented by their Chu...