Results 21 - 30
of
145
A Calculus with Polymorphic and Polyvariant Flow Types
"... We present # CIL , a typed #-calculus which serves as the foundation for a typed intermediate language for optimizing compilers for higher-order polymorphic programming languages. The key innovation of # CIL is a novel formulation of intersection and union types and flow labels on both terms and ..."
Abstract
-
Cited by 26 (11 self)
- Add to MetaCart
We present # CIL , a typed #-calculus which serves as the foundation for a typed intermediate language for optimizing compilers for higher-order polymorphic programming languages. The key innovation of # CIL is a novel formulation of intersection and union types and flow labels on both terms and types. These flow types can encode polyvariant control and data flow information within a polymorphically typed program representation. Flow types can guide a compiler in generating customized data representations in a strongly typed setting. Since # CIL enjoys confluence, standardization, and subject reduction properties, it is a valuable tool for reasoning about programs and program transformations.
Constructions, Inductive Types and Strong Normalization
, 1993
"... This thesis contains an investigation of Coquand's Calculus of Constructions, a basic impredicative Type Theory. We review syntactic properties of the calculus, in particular decidability of equality and type-checking, based on the equality-as-judgement presentation. We present a set-theoretic notio ..."
Abstract
-
Cited by 26 (2 self)
- Add to MetaCart
This thesis contains an investigation of Coquand's Calculus of Constructions, a basic impredicative Type Theory. We review syntactic properties of the calculus, in particular decidability of equality and type-checking, based on the equality-as-judgement presentation. We present a set-theoretic notion of model, CC-structures, and use this to give a new strong normalization proof based on a modification of the realizability interpretation. An extension of the core calculus by inductive types is investigated and we show, using the example of infinite trees, how the realizability semantics and the strong normalization argument can be extended to non-algebraic inductive types. We emphasize that our interpretation is sound for large eliminations, e.g. allows the definition of sets by recursion. Finally we apply the extended calculus to a non-trivial problem: the formalization of the strong normalization argument for Girard's System F. This formal proof has been developed and checked using the...
Adjoint Rewriting
, 1995
"... This thesis concerns rewriting in the typed -calculus. Traditional categorical models of typed -calculus use concepts such as functor, adjunction and algebra to model type constructors and their associated introduction and elimination rules, with the natural categorical equations inherent in these s ..."
Abstract
-
Cited by 25 (11 self)
- Add to MetaCart
This thesis concerns rewriting in the typed -calculus. Traditional categorical models of typed -calculus use concepts such as functor, adjunction and algebra to model type constructors and their associated introduction and elimination rules, with the natural categorical equations inherent in these structures providing an equational theory for -terms. One then seeks a rewrite relation which, by transforming terms into canonical forms, provides a decision procedure for this equational theory. Unfortunately the rewrite relations which have been proposed, apart from for the most simple of calculi, either generate the full equational theory but contain no decision procedure, or contain a decision procedure but only for a subtheory of that required. Our proposal is to unify the semantics and reduction theory of the typed -calculus by generalising the notion of model from categorical structures based on term equality to categorical structures based on term reduction. This is accomplished via...
Rank 2 Type Systems and Recursive Definitions
, 1995
"... We demonstrate an equivalence between the rank 2 fragments of the polymorphic lambda calculus (System F) and the intersection type discipline: exactly the same terms are typable in each system. An immediate consequence is that typability in the rank 2 intersection system is DEXPTIME-complete. We int ..."
Abstract
-
Cited by 24 (1 self)
- Add to MetaCart
We demonstrate an equivalence between the rank 2 fragments of the polymorphic lambda calculus (System F) and the intersection type discipline: exactly the same terms are typable in each system. An immediate consequence is that typability in the rank 2 intersection system is DEXPTIME-complete. We introduce a rank 2 system combining intersections and polymorphism, and prove that it types exactly the same terms as the other rank 2 systems. The combined system suggests a new rule for typing recursive definitions. The result is a rank 2 type system with decidable type inference that can type some interesting examples of polymorphic recursion. Finally,we discuss some applications of the type system in data representation optimizations such as unboxing and overloading.
Database Query Languages Embedded in the Typed Lambda Calculus
, 1993
"... We investigate the expressive power of the typed -calculus when expressing computations over finite structures, i.e., databases. We show that the simply typed -calculus can express various database query languages such as the relational algebra, fixpoint logic, and the complex object algebra. In ..."
Abstract
-
Cited by 23 (7 self)
- Add to MetaCart
We investigate the expressive power of the typed -calculus when expressing computations over finite structures, i.e., databases. We show that the simply typed -calculus can express various database query languages such as the relational algebra, fixpoint logic, and the complex object algebra. In our embeddings, inputs and outputs are -terms encoding databases, and a program expressing a query is a -term which types when applied to an input and reduces to an output.
Confluence Properties of Extensional and Non-Extensional lambda-Calculi with Explicit Substitutions (Extended Abstract)
- in Proceedings of the Seventh International Conference on Rewriting Techniques and Applications
, 1996
"... ) Delia Kesner CNRS and LRI, B at 490, Universit e Paris-Sud - 91405 Orsay Cedex, France. e-mail:Delia.Kesner@lri.fr Abstract. This paper studies confluence properties of extensional and non-extensional #-calculi with explicit substitutions, where extensionality is interpreted by #-expansion. For ..."
Abstract
-
Cited by 22 (5 self)
- Add to MetaCart
) Delia Kesner CNRS and LRI, B at 490, Universit e Paris-Sud - 91405 Orsay Cedex, France. e-mail:Delia.Kesner@lri.fr Abstract. This paper studies confluence properties of extensional and non-extensional #-calculi with explicit substitutions, where extensionality is interpreted by #-expansion. For that, we propose a general scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. Our general scheme makes it possible to treat at the same time many well-known calculi such as ## , ## # and ## , or some other new calculi that we propose in this paper. We also show for those calculi not fitting in the general scheme that can be translated to another one fitting the scheme, such as #s , how to reason about confluence properties of their extensional and non-extensional versions. 1 Introduction The #-calculus is a convenient framework to study functional programming, where the evaluation process is modeled by #-reduction. The...
Shrinking Lambda Expressions in Linear Time
- Journal of Functional Programming
, 1997
"... Functional-language compilers often perform optimizations based on beta and delta reduction. To avoid speculative optimizations that can blow up the code size, we might wish to use only shrinking reduction rules guaranteed to make the program smaller: these include dead-variable elimination, constan ..."
Abstract
-
Cited by 22 (0 self)
- Add to MetaCart
Functional-language compilers often perform optimizations based on beta and delta reduction. To avoid speculative optimizations that can blow up the code size, we might wish to use only shrinking reduction rules guaranteed to make the program smaller: these include dead-variable elimination, constant folding, and a restricted beta rule that inlines only functions that are called just once. The restricted beta rule leads to a shrinking rewrite system that has not previously been studied. We show some e#cient normalization algorithms that are immediately useful in optimizing compilers; and we give a confluence proof for our system, showing that the choice of normalization algorithm does not a#ect final code quality. 1 Introduction The lambda calculus is a language of functions, so one of the most useful optimizations we can perform in a lambda-calculus-based language is function inlining. Inlining a function eliminates the expense of a procedure call, and instantiating the function argu...
Explicit Cyclic Substitutions
, 1993
"... In this paper we consider rewrite systems that describe the lambda-calculus enriched with recursive and non-recursive local definitions by generalizing the `explicit substitutions' used by Abadi, Cardelli, Curien, and Lévy [1] to describe sharing in lambda-terms. This leads to `explicit cyclic subst ..."
Abstract
-
Cited by 22 (2 self)
- Add to MetaCart
In this paper we consider rewrite systems that describe the lambda-calculus enriched with recursive and non-recursive local definitions by generalizing the `explicit substitutions' used by Abadi, Cardelli, Curien, and Lévy [1] to describe sharing in lambda-terms. This leads to `explicit cyclic substitutions' that can describe the mutual sharing of local recursive definitions. We demonstrate how this may be used to describe standard binding constructions (let and letrec) -- directly using substitution and fixed point induction as well as using `small-step' rewriting semantics where substitution is interleaved with the mechanics of the following beta-reductions. With this we hope to contribute to the synthesis of denotational and operational specifications of sharing and recursion.
Topological Incompleteness and Order Incompleteness of the Lambda Calculus
- ACM TRANSACTIONS ON COMPUTATIONAL LOGIC
, 2001
"... A model of the untyped lambda calculus induces a lambda theory, i.e., a congruence relation on λ-terms closed under ff- and fi-conversion. A semantics (= class of models) of the lambda calculus is incomplete if there exists a lambda theory which is not induced by any model in the semantics. In th ..."
Abstract
-
Cited by 21 (14 self)
- Add to MetaCart
A model of the untyped lambda calculus induces a lambda theory, i.e., a congruence relation on λ-terms closed under ff- and fi-conversion. A semantics (= class of models) of the lambda calculus is incomplete if there exists a lambda theory which is not induced by any model in the semantics. In this paper we introduce a new technique to prove the incompleteness of a wide range of lambda calculus semantics, including the strongly stable one, whose incompleteness had been conjectured by Bastonero-Gouy [6, 7] and by Berline [9]. The main results of the paper are a topological incompleteness theorem and an order incompleteness theorem. In the first one we show the incompleteness of the lambda calculus semantics given in terms of topological models whose topology satisfies a property of connectedness. In the second one we prove the incompleteness of the class of partially ordered models with finitely many connected components w.r.t. the Alexandroff topology. A further result of the paper is a proof of the completeness of the semantics of the lambda calculus given in terms of topological models whose topology is non-trivial and metrizable.
The Impact of the Lambda Calculus in Logic and Computer Science
- Bulletin of Symbolic Logic
, 1997
"... One of the most important contributions of A. Church to logic is his invention of the lambda calculus. We present the genesis of this theory and its two major areas of application: the representation of computations and the resulting functional programming languages on the one hand and the represent ..."
Abstract
-
Cited by 17 (0 self)
- Add to MetaCart
One of the most important contributions of A. Church to logic is his invention of the lambda calculus. We present the genesis of this theory and its two major areas of application: the representation of computations and the resulting functional programming languages on the one hand and the representation of reasoning and the resulting systems of computer mathematics on the other hand. Acknowledgement. The following persons provided help in various ways. Erik Barendsen, Jon Barwise, Johan van Benthem, Andreas Blass, Olivier Danvy, Wil Dekkers, Marko van Eekelen, Sol Feferman, Andrzej Filinski, Twan Laan, Jan Kuper, Pierre Lescanne, Hans Mooij, Robert Maron, Rinus Plasmeijer, Randy Pollack, Kristoffer Rose, Richard Shore, Rick Statman and Simon Thompson. Partial support came from the European HCM project Typed lambda calculus (CHRXCT-92-0046), the Esprit Working Group Types (21900) and the Dutch NWO project WINST (612-316-607). 1. Introduction This paper is written to honor Church's gr...

