Results 1  10
of
16
An algorithm for optimal lambda calculus reduction
, 1990
"... all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be ..."
Abstract

Cited by 119 (0 self)
 Add to MetaCart
all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee.
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...
A Linear Spine Calculus
 Journal of Logic and Computation
, 2003
"... We present the spine calculus S ##&# as an efficient representation for the linear #calculus # ##&# which includes unrestricted functions (#), linear functions (#), additive pairing (&), and additive unit (#). S ##&# enhances the representation of Church's simply typed #calculus by enforcing ..."
Abstract

Cited by 33 (5 self)
 Add to MetaCart
We present the spine calculus S ##&# as an efficient representation for the linear #calculus # ##&# which includes unrestricted functions (#), linear functions (#), additive pairing (&), and additive unit (#). S ##&# enhances the representation of Church's simply typed #calculus by enforcing extensionality and by incorporating linear constructs. This approach permits procedures such as unification to retain the efficient head access that characterizes firstorder term languages without the overhead of performing #conversions at run time. Applications lie in proof search, logic programming, and logical frameworks based on linear type theories. It is also related to foundational work on term assignment calculi for presentations of the sequent calculus. We define the spine calculus, give translations of # ##&# into S ##&# and viceversa, prove their soundness and completeness with respect to typing and reductions, and show that the typable fragment of the spine calculus is strongly normalizing and admits unique canonical, i.e. ##normal, forms.
BetaReduction As Unification
, 1996
"... this report, we use a lean version of the usual system of intersection types, whichwe call . Hence, UP is also an appropriate unification problem to characterize typability of terms in . Quite apart from the new light it sheds on fireduction, such an analysis turns out to have several othe ..."
Abstract

Cited by 13 (9 self)
 Add to MetaCart
this report, we use a lean version of the usual system of intersection types, whichwe call . Hence, UP is also an appropriate unification problem to characterize typability of terms in . Quite apart from the new light it sheds on fireduction, such an analysis turns out to have several other benefits
Handbook of Logic in Computer Science, volume II, chapter Lambda Calculi with Types
, 1993
"... 2 Typefree lambda calculus:::::::::::::::::::::: 7 ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
2 Typefree lambda calculus:::::::::::::::::::::: 7
Maximal causality analysis
 in: Conference on Application of Concurrency to System Design (ACSD
, 2005
"... Perfectly synchronous systems immediately react to the inputs of their environment, which may lead to socalled causality cycles between actions and their trigger conditions. Algorithms to analyze the consistency of such cycles usually extend data types by an additional value to explicitly indicate ..."
Abstract

Cited by 6 (6 self)
 Add to MetaCart
Perfectly synchronous systems immediately react to the inputs of their environment, which may lead to socalled causality cycles between actions and their trigger conditions. Algorithms to analyze the consistency of such cycles usually extend data types by an additional value to explicitly indicate unknown values. In particular, Boolean functions are thereby extended to ternary functions. However, a Boolean function usually has several ternary extensions, and the result of the causality analysis depends on the chosen ternary extension. In this paper, we show that there always is a maximal ternary extension that allows one to solve as many causality problems as possible. Moreover, we elaborate the relationship to hazard elimination in hardware circuits, and finally show how the maximal ternary extension of a Boolean function can be efficiently computed by means of binary decision diagrams.
Generalized Finite Developments
"... Abstract. The Finite Development theorem (FD) is a fundamental theorem in the theory of the syntax of the lambdacalculus. It gives sense to parallel reductions by stating that one can contract any given set of (possibly nested) redexes in any lambda term without looping and caring about the order i ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. The Finite Development theorem (FD) is a fundamental theorem in the theory of the syntax of the lambdacalculus. It gives sense to parallel reductions by stating that one can contract any given set of (possibly nested) redexes in any lambda term without looping and caring about the order in which these redexes are contracted. This theorem can be used to prove the ChurchRosser property, thus insuring determinism of reductions and uniqueness of normal forms. This paper explains how to extend the FD theorem to a finite number of creations of new redexes, i.e. redexes which do not exist in the initial term. This generalized theorem (gFD) also provides a proof technique to show the completeness of various reduction strategies. Finally it gives a natural intuition to the strong normalization property of the standard firstorder typed lambdacalculus. The results in this article are not new, but were often mixed with other arguments; the aim of this paper is to stress on this sole gFD theorem. 1
Lambda! Considered Both as a Paradigmatic Language and as a MetaLanguage
"... Intuitionistic Linear Logic (ILL) is a resourceconscious logic. The CurryHoward Isomorphism (CHI) applied to ILL, generates typed functionallike languages that have primitive constants by means of which the amount of resources (terms), used during the computation, is explicit. \Gamma ! is an u ..."
Abstract
 Add to MetaCart
Intuitionistic Linear Logic (ILL) is a resourceconscious logic. The CurryHoward Isomorphism (CHI) applied to ILL, generates typed functionallike languages that have primitive constants by means of which the amount of resources (terms), used during the computation, is explicit. \Gamma ! is an untyped functionallike language inspired from a typed language joined at ILL by CHI. We want to use the resourceaware language \Gamma ! both as a paradigmatic programming language and as a metalanguage for implementing a fragment of the untyped calculus fi . For using \Gamma ! in the first way we give an algorithm for automatically assigning formulas of ILL as types to terms of \Gamma ! . Concerning the second kind of use, we introduce a onestep translation Tr from the fragment C of fi that can be typed a la Curry to the typable fragment of \Gamma ! in ILL. Tr preserves the linearbehaved terms of C and is both correct and complete, in a reasonable sense, w.r.t. the...
LambdaCalculus and Functional Programming
"... This paper deals with the problem of a program that is essentially the same over any of several types but which, in the older imperative languages must be rewritten for each separate type. For example, a sort routine may be written with essentially the same code except for the types for integers, bo ..."
Abstract
 Add to MetaCart
This paper deals with the problem of a program that is essentially the same over any of several types but which, in the older imperative languages must be rewritten for each separate type. For example, a sort routine may be written with essentially the same code except for the types for integers, booleans, and strings. It is clearly desirable to have a method of writing a piece of code that can accept the specific type as an argument. Milner developed his ideas in terms of type assignment to lambdaterms. It is based on a result due originally to Curry (Curry 1969) and Hindley (Hindley 1969) known as the principal typescheme theorem, which says that (assuming that the typing assumptions are sufficiently wellbehaved) every term has a principal typescheme, which is a typescheme such that every other typescheme which can be proved for the given term is obtained by a substitution of types for type variables. This use of type schemes allows a kind of generality over all types, which is known as polymorphism.