Results 1 - 10
of
15
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 107 (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 104 (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 type-check 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 27 (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 first-order 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 vice-versa, 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.
Beta-Reduction 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 fi-reduction, 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 fi-reduction, such an analysis turns out to have several other benefits
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 so-called 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 3 (3 self)
- Add to MetaCart
Perfectly synchronous systems immediately react to the inputs of their environment, which may lead to so-called 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 lambda-calculus. 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 lambda-calculus. 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 Church-Rosser 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 first-order typed lambda-calculus. 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 Meta-Language
"... Intuitionistic Linear Logic (ILL) is a resource-conscious logic. The Curry-Howard Isomorphism (CHI) applied to ILL, generates typed functional-like 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 resource-conscious logic. The Curry-Howard Isomorphism (CHI) applied to ILL, generates typed functional-like languages that have primitive constants by means of which the amount of resources (terms), used during the computation, is explicit. \Gamma ! is an untyped functional-like language inspired from a typed language joined at ILL by CHI. We want to use the resource-aware language \Gamma ! both as a paradigmatic programming language and as a meta-language 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 one-step 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 linear-behaved terms of C and is both correct and complete, in a reasonable sense, w.r.t. the...
Lambda-Calculus 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 lambda-terms. It is based on a result due originally to Curry (Curry 1969) and Hindley (Hindley 1969) known as the principal type-scheme theorem, which says that (assuming that the typing assumptions are sufficiently wellbehaved) every term has a principal type-scheme, which is a type-scheme such that every other type-scheme 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.
Analysing Resource Use in the λ-Calculus By Type Inference
, 1994
"... If we view functions as processes, then their resources are their arguments, supplied through application, and used by the function to produce a result. In this paper, we define resource use for functions, based on the syntactic notion of needed redexes from [BKKS86]. We introduce a variant of neede ..."
Abstract
- Add to MetaCart
If we view functions as processes, then their resources are their arguments, supplied through application, and used by the function to produce a result. In this paper, we define resource use for functions, based on the syntactic notion of needed redexes from [BKKS86]. We introduce a variant of neededhess, tail-neededness, and define packets of needed descendants of redexes in order to mea- sure the degree of neededhess. These results are generalised to produce a semantic characterisation of the resource use properties of functions, using a term-model. By means of the Curry-Howard isomorphism, we apply these ideas to proof trees of propositions in Intuitionistic Logic to demonstrate that propositions, i.e. types, can be used to express the usage properties of functions. A resource-aware type system capable of inferring such types for A-terms is presented.

