Results 1  10
of
24
The Lazy Lambda Calculus
 Research Topics in Functional Programming
, 1990
"... Introduction The commonly accepted basis for functional programming is the calculus; and it is folklore that the calculus is the prototypical functional language in puri ed form. But what is the calculus? The syntax is simple and classical; variables, abstraction and application in the pure cal ..."
Abstract

Cited by 239 (3 self)
 Add to MetaCart
Introduction The commonly accepted basis for functional programming is the calculus; and it is folklore that the calculus is the prototypical functional language in puri ed form. But what is the calculus? The syntax is simple and classical; variables, abstraction and application in the pure calculus, with applied calculi obtained by adding constants. The further elaboration of the theory, covering conversion, reduction, theories and models, is laid out in Barendregt's already classical treatise [Bar84]. It is instructive to recall the following crux, which occurs rather early in that work (p. 39): Meaning of terms: rst attempt The meaning of a term is its normal form (if it exists). All terms without normal forms are identi ed. This proposal incorporates such a simple and natural interpretation of the calculus as
Semantic Domains
, 1990
"... this report started working on denotational semantics in collaboration with Christopher Strachey. In order to fix some mathematical precision, he took over some definitions of recursion theorists such as Kleene, Nerode, Davis, and Platek and gave an approach to a simple type theory of highertype fu ..."
Abstract

Cited by 148 (3 self)
 Add to MetaCart
this report started working on denotational semantics in collaboration with Christopher Strachey. In order to fix some mathematical precision, he took over some definitions of recursion theorists such as Kleene, Nerode, Davis, and Platek and gave an approach to a simple type theory of highertype functionals. It was only after giving an abstract characterization of the spaces obtained (through the construction of bases) that he realized that recursive definitions of types could be accommodated as welland that the recursive definitions could incorporate function spaces as well. Though it was not the original intention to find semantics of the socalled untyped calculus, such a semantics emerged along with many ways of interpreting a very large variety of languages. A large number of people have made essential contributions to the subsequent developments, and they have shown in particular that domain theory is not one monolithic theory, but that there are several different kinds of constructions giving classes of domains appropriate for different mixtures of constructs. The story is, in fact, far from finished even today. In this report we will only be able to touch on a few of the possibilities, but we give pointers to the literature. Also, we have attempted to explain the foundations in an elementary wayavoiding heavy prerequisites (such as category theory) but still maintaining some level of abstractionwith the hope that such an introduction will aid the reader in going further into the theory. The chapter is divided into seven sections. In the second section we introduce a simple class of ordered structures and discuss the idea of fixed points of continuous functions as meanings for recursive programs. In the third section we discuss computable functions and...
Inheritance As Implicit Coercion
 Information and Computation
, 1991
"... . We present a method for providing semantic interpretations for languages with a type system featuring inheritance polymorphism. Our approach is illustrated on an extension of the language Fun of Cardelli and Wegner, which we interpret via a translation into an extended polymorphic lambda calculus. ..."
Abstract

Cited by 116 (3 self)
 Add to MetaCart
. We present a method for providing semantic interpretations for languages with a type system featuring inheritance polymorphism. Our approach is illustrated on an extension of the language Fun of Cardelli and Wegner, which we interpret via a translation into an extended polymorphic lambda calculus. Our goal is to interpret inheritances in Fun via coercion functions which are definable in the target of the translation. Existing techniques in the theory of semantic domains can be then used to interpret the extended polymorphic lambda calculus, thus providing many models for the original language. This technique makes it possible to model a rich type discipline which includes parametric polymorphism and recursive types as well as inheritance. A central difficulty in providing interpretations for explicit type disciplines featuring inheritance in the sense discussed in this paper arises from the fact that programs can typecheck in more than one way. Since interpretations follow the type...
KripkeStyle Models for Typed Lambda Calculus
 Annals of Pure and Applied Logic
, 1996
"... The semantics of typed lambda calculus is usually described using Henkin models, consisting of functions over some collection of sets, or concrete cartesian closed categories, which are essentially equivalent. We describe a more general class of Kripkestyle models. In categorical terms, our Kripke ..."
Abstract

Cited by 44 (3 self)
 Add to MetaCart
The semantics of typed lambda calculus is usually described using Henkin models, consisting of functions over some collection of sets, or concrete cartesian closed categories, which are essentially equivalent. We describe a more general class of Kripkestyle models. In categorical terms, our Kripke lambda models are cartesian closed subcategories of the presheaves over a poset. To those familiar with Kripke models of modal or intuitionistic logics, Kripke lambda models are likely to seem adequately \semantic." However, when viewed as cartesian closed categories, they do not have the property variously referred to as concreteness, wellpointedness, or having enough points. While the traditional lambda calculus proof system is not complete for Henkin models that may have empty types, we prove strong completeness for Kripke models. In fact, every set of equations that is closed under implication is the theory of a single Kripke model. We also develop some properties of logical relations ...
From semantics to rules: A machine assisted analysis
 Proceedings of CSL '93, LNCS 832
, 1999
"... this paper is similar to the one in [2]. In this paper they define a normalization function for simply typed ..."
Abstract

Cited by 29 (0 self)
 Add to MetaCart
this paper is similar to the one in [2]. In this paper they define a normalization function for simply typed
Developing Theories of Types and Computability via Realizability
, 2000
"... We investigate the development of theories of types and computability via realizability. ..."
Abstract

Cited by 20 (6 self)
 Add to MetaCart
We investigate the development of theories of types and computability via realizability.
Confluence of Untyped Lambda Calculus Via Simple Types
"... We present a new proof of confluence of the untyped lambda calculus by embedding untyped lambda terms into simply typed lambda terms. This embedding allows us to define a reduction on all lambda terms, whose transitive closure is the betareduction, using an auxiliary reduction and the betareductio ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
We present a new proof of confluence of the untyped lambda calculus by embedding untyped lambda terms into simply typed lambda terms. This embedding allows us to define a reduction on all lambda terms, whose transitive closure is the betareduction, using an auxiliary reduction and the betareduction on simply typed lambda terms. The confluence of the auxiliary reduction makes explicit the joining of the sets of redexes to be reduced. This embedding allows us to use the confluence of betareduction on simply typed lambda terms and thus prove the confluence of the reduction defined. As a consequence we obtain the confluence of betareduction in the untyped lambda calculus.
What is a Categorical Model of the Differential and the Resource λCalculi?
"... The differential λcalculus is a paradigmatic functional programming language endowed with a syntactical differentiation operator that allows to apply a program to an argument in a linear way. One of the main features of this language is that it is resource conscious and gives the programmer suitab ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
The differential λcalculus is a paradigmatic functional programming language endowed with a syntactical differentiation operator that allows to apply a program to an argument in a linear way. One of the main features of this language is that it is resource conscious and gives the programmer suitable primitives to handle explicitly the resources used by a program during its execution. The differential operator also allows to write the full Taylor expansion of a program. Through this expansion every program can be decomposed into an infinite sum (representing nondeterministic choice) of ‘simpler’ programs that are strictly linear. The aim of this paper is to develop an abstract ‘model theory ’ for the untyped differential λcalculus. In particular, we investigate what should be a general categorical definition of denotational model for this calculus. Starting from the work of Blute, Cockett and Seely on differential categories we provide the notion of Cartesian closed differential category and we prove that linear reflexive objects living in such categories constitute sound models of the untyped differential λcalculus. We also give sufficient conditions for Cartesian closed differential categories to model the Taylor expansion. This entails that every model living in such categories equates all programs having the same full Taylor expansion. We then
HigherOrder Categorical Grammars
 Proceedings of Categorial Grammars 04
"... into two principal paradigms: modeltheoretic syntax (MTS), which ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
into two principal paradigms: modeltheoretic syntax (MTS), which