Results 1  10
of
15
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...
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 23 (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 (CHRXCT920046), the Esprit Working Group Types (21900) and the Dutch NWO project WINST (612316607). 1. Introduction This paper is written to honor Church's gr...
Universal Profinite Domains
 Information and Computation
, 1987
"... . We introduce a bicartesian closed category of what we call profinite domains. Study of these domains is carried out through the use of an equivalent category of preorders in a manner similar to the information systems approach advocated by Dana Scott and others. A class of universal profinite dom ..."
Abstract

Cited by 15 (1 self)
 Add to MetaCart
. We introduce a bicartesian closed category of what we call profinite domains. Study of these domains is carried out through the use of an equivalent category of preorders in a manner similar to the information systems approach advocated by Dana Scott and others. A class of universal profinite domains is defined and used to derive sufficient conditions for the profinite solution of domain equations involving continuous operators. As a special instance of this construction, a universal domain for the category SFP is demonstrated. Necessary conditions for the existence of solutions for domain equations over the profinites are also given and used to derive results about solutions of some equations. A new universal bounded complete domain is also demonstrated using an operator which has bounded complete domains as its fixed points. 1 Introduction. For our purposes a domain equation has the form X ¸ = F (X) where F is an operator on a class of semantic domains (typically, F is an endof...
The Lambda Calculus is Algebraic
 Journal of Functional Programming
, 1996
"... this paper, we point out that the failure of the rule, and the subsequent need for a nonequational class of models, is not due to the lambda calculus itself, but to the way free variables are usually interpreted in these models. An equation M = N between open terms is usually said to be satisfied ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
this paper, we point out that the failure of the rule, and the subsequent need for a nonequational class of models, is not due to the lambda calculus itself, but to the way free variables are usually interpreted in these models. An equation M = N between open terms is usually said to be satisfied in a lambda algebra A if it holds for all substitutions of elements of A for the free variables. We call this the local interpretation, and define M = N to hold
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
The CallByValue LambdaCalculus: A Semantic Investigation
"... In this work we present a categorical approach for modeling the pure (i.e., without constants) callbyvalue calculus, defined by Plotkin as a restriction of the classical one. In particular, we study the properties a category must enjoy for give rise to a model of such a language. This definition ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
In this work we present a categorical approach for modeling the pure (i.e., without constants) callbyvalue calculus, defined by Plotkin as a restriction of the classical one. In particular, we study the properties a category must enjoy for give rise to a model of such a language. This definition is enough general for grasping models in different settings. 1 Introduction The callbyvalue calculus is a restriction of the classical calculus (ficalculus, for short), based on the notion of value. A value is a term which is either a variable or an abstraction. In particular, the callbyvalue calculus is obtained from the classical one by restricting the evaluation rule (the firule) to redexes whose operand is a value. This leads to a callbyvalue parameter passing mechanism, which is a feature present in many real programming languages, where an evaluation is callby value if it evaluates parameters before they have been passed. This feature, together with the lazy evaluation, wh...
Lazy Lambda Calculus: Theories, Models and Local Structure Characterisation
 AUTOMATA, LANGUAGES AND PROGRAMMING, LNCS 623
, 1994
"... Lambda Calculus is commonly thought to be the basis for functional programming. However, there is a fundamental mismatch between the "standard" theory of sensible Lambda Calculus (as in e.g. [Bar84]) and the practice of lazy evaluation which is a distinctive feature of functional programming. This ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Lambda Calculus is commonly thought to be the basis for functional programming. However, there is a fundamental mismatch between the "standard" theory of sensible Lambda Calculus (as in e.g. [Bar84]) and the practice of lazy evaluation which is a distinctive feature of functional programming. This paper proposes modification of a number of key notions in the sensible theory along the lines of laziness. Starting from the strongly unsolvables as the meaningless terms, we define and investigate properties of lazy (or weakly sensible) λtheories, lazy λmodels and a number of lazy behavioural preorders on λterms. In the second part, we show that all these notions have a natural place in a class of lazy psemodels. A major result of this paper is a new local structure theorem for lazy psemodels. This characterizes the ordering between denotations of λterms in the model by a new lazy behavioural preorder.
Functionality, polymorphism, and concurrency: a mathematical investigation of programming paradigms
, 1997
"... ii COPYRIGHT ..."
A Categorytheoretic characterization of functional completeness
, 1990
"... . Functional languages are based on the notion of application: programs may be applied to data or programs. By application one may define algebraic functions; and a programming language is functionally complete when any algebraic function f(x 1 ,...,x n ) is representable (i.e. there is a constant a ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
. Functional languages are based on the notion of application: programs may be applied to data or programs. By application one may define algebraic functions; and a programming language is functionally complete when any algebraic function f(x 1 ,...,x n ) is representable (i.e. there is a constant a such that f(x 1 ,...,x n ) = (a . x 1 . ... . x n ). Combinatory Logic is the simplest typefree language which is functionally complete. In a sound categorytheoretic framework the constant a above may be considered as an "abstract gödelnumber" for f, when gödelnumberings are generalized to "principal morphisms", in suitable categories. By this, models of Combinatory Logic are categorically characterized and their relation is given to lambdacalculus models within Cartesian Closed Categories. Finally, the partial recursive functionals in any finite higher type are shown to yield models of Combinatory Logic. ________________ (+) Theoretical Computer Science, 70 (2), 1990, pp.193211. A p...
Finite Type Structures within Combinatory Algebras
 Annals of Pure and Applied Logic
, 1999
"... Inside a combinatory algebra, there are 'internal' versions of the finite type structure over !, which form models of various systems of finite type arithmetic. This paper compares internal representations of the intensional and extensional functionals. If these classes coincide, the algebra is call ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Inside a combinatory algebra, there are 'internal' versions of the finite type structure over !, which form models of various systems of finite type arithmetic. This paper compares internal representations of the intensional and extensional functionals. If these classes coincide, the algebra is called ftextensional. Some criteria for ftextensionality are given and a number of wellknown ca's are shown to be ftextensional, regardless of the particular choice of representation for !. In particular, DA , P! , T ! , H! and certain D1models all share the property of ftextensionality. It is also shown that ftextensionality is by no means an intrinsic property of ca's, i.e. that there exists a very concrete class of ca's  the class of reflexive coherence spaces  no member of which has this property. This leads to a comparison of ftextensionality with the wellstudied notions of extensionality and weak extensionality. Ftextensionality turns out to be completely independent.