Results 1  10
of
87
ParameterPassing and the Lambda Calculus
, 1991
"... The choice of a parameterpassing technique is an important decision in the design of a highlevel programming language. To clarify some of the semantic aspects of the decision, we develop, analyze, and compare modifications of the calculus for the most common parameterpassing techniques, i.e., ca ..."
Abstract

Cited by 216 (24 self)
 Add to MetaCart
(Show Context)
The choice of a parameterpassing technique is an important decision in the design of a highlevel programming language. To clarify some of the semantic aspects of the decision, we develop, analyze, and compare modifications of the calculus for the most common parameterpassing techniques, i.e., callbyvalue and callbyname combined with passbyworth and passby reference, respectively. More specifically, for each parameterpassing technique we provide 1. a program rewriting semantics for a language with sideeffects and firstclass procedures based on the respective parameterpassing technique; 2. an equational theory that is derived from the rewriting semantics in a uniform manner; 3. a formal analysis of the correspondence between the calculus and the semantics; and 4. a strong normalization theorem for the imperative fragment of the theory (when applicable). A comparison of the various systems reveals that Algol's callbyname indeed satisfies the wellknown fi rule of the orig...
Explicit Substitution: on the Edge of Strong Normalization
 Theoretical Computer Science
, 1997
"... We use the Recursive Path Ordering (RPO) technique of semantic labelling to show the Preservation of Strong Normalization (PSN) property for several calculi of explicit substitution. Preservation of Strong Normalization states that if a term M is strongly normalizing under ordinary fireduction (us ..."
Abstract

Cited by 38 (2 self)
 Add to MetaCart
We use the Recursive Path Ordering (RPO) technique of semantic labelling to show the Preservation of Strong Normalization (PSN) property for several calculi of explicit substitution. Preservation of Strong Normalization states that if a term M is strongly normalizing under ordinary fireduction (using `global' substitutions), then it is strongly normalizing if the substitution is made explicit (`local'). There are different ways of making global substitution explicit and PSN is a quite natural and desirable property for the explicit substitution calculus. Our method for proving PSN is very general and applies to several known systems of explicit substitutions, both with named variables and with De Bruijn indices: AE of Lescanne et al., s of Kamareddine and R'ios and x of Rose and Bloo. We also look at two small extensions of the explicit substitution calculus that allow to permute substitutions. For one of these extensions PSN fails (using the counterexample in [Melli`es 95]). For the...
Nominal rewriting
 Information and Computation
"... Nominal rewriting is based on the observation that if we add support for alphaequivalence to firstorder syntax using the nominalset approach, then systems with binding, including higherorder reduction schemes such as lambdacalculus betareduction, can be smoothly represented. Nominal rewriting ma ..."
Abstract

Cited by 32 (13 self)
 Add to MetaCart
(Show Context)
Nominal rewriting is based on the observation that if we add support for alphaequivalence to firstorder syntax using the nominalset approach, then systems with binding, including higherorder reduction schemes such as lambdacalculus betareduction, can be smoothly represented. Nominal rewriting maintains a strict distinction between variables of the objectlanguage (atoms) and of the metalanguage (variables or unknowns). Atoms may be bound by a special abstraction operation, but variables cannot be bound, giving the framework a pronounced firstorder character, since substitution of terms for variables is not captureavoiding. We show how good properties of firstorder rewriting survive the extension, by giving an efficient rewriting algorithm, a critical pair lemma, and a confluence theorem
Confluence and Preservation of Strong Normalisation in an Explicit Substitutions Calculus
, 1996
"... Explicit substitutions calculi are formal systems that implement fireduction by means of an internal substitution operator. In that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. The oe calculus of explicit s ..."
Abstract

Cited by 24 (6 self)
 Add to MetaCart
Explicit substitutions calculi are formal systems that implement fireduction by means of an internal substitution operator. In that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. The oe calculus of explicit substitutions, proposed by Abadi, Cardelli, Curien andL evy, is a firstorder rewriting system that implements substitution and renaming mechanism of calculus. However, oe does not preserve strong normalisation of calculus and it is not a confluent system. Typed variants of oe without composition are strongly normalising but not confluent, while variants with composition are confluent but do not preserve strong normalisation. Neither of them enjoys both properties. In this paper we propose the i calculus. This is, as far as we know, the first confluent calculus of explicit substitutions that preserves strong normalisation. 1. Explicit substitutions The calculus is a higherorder theor...
Intersection types for explicit substitutions
, 2003
"... We present a new system of intersection types for a compositionfree calculus of explicit substitutions with a rule for garbage collection, and show that it characterizes those terms which are strongly normalizing. This system extends previous work on the natural generalization of the classical inte ..."
Abstract

Cited by 23 (9 self)
 Add to MetaCart
(Show Context)
We present a new system of intersection types for a compositionfree calculus of explicit substitutions with a rule for garbage collection, and show that it characterizes those terms which are strongly normalizing. This system extends previous work on the natural generalization of the classical intersection types system, which characterized head normalization and weak normalization, but was not complete for strong normalization. An important role is played by the notion of available variable in a term, which is a generalization of the classical notion of free variable.
Computation with classical sequents
 MATHEMATICAL STRUCTURES OF COMPUTER SCIENCE
, 2008
"... X is an untyped continuationstyle formal language with a typed subset which provides a CurryHoward isomorphism for a sequent calculus for implicative classical logic. X can also be viewed as a language for describing nets by composition of basic components connected by wires. These features make X ..."
Abstract

Cited by 22 (21 self)
 Add to MetaCart
X is an untyped continuationstyle formal language with a typed subset which provides a CurryHoward isomorphism for a sequent calculus for implicative classical logic. X can also be viewed as a language for describing nets by composition of basic components connected by wires. These features make X an expressive platform on which algebraic objects and many different (applicative) programming paradigms can be mapped. In this paper we will present the syntax and reduction rules for X and in order to demonstrate the expressive power of X, we will show how elaborate calculi can be embedded, like the λcalculus, Bloo and Rose’s calculus of explicit substitutions λx, Parigot’s λµ and Curien and Herbelin’s λµ ˜µ.
Defunctionalized interpreters for callbyneed evaluation
 In Functional and Logic Programming
, 2010
"... Abstract. Starting from the standard callbyneed reduction for the λcalculus that is common to Ariola, Felleisen, Maraist, Odersky, and Wadler, we interderive a series of hygienic semantic artifacts: a reductionfree stateless abstract machine, a continuationpassing evaluation function, and wha ..."
Abstract

Cited by 16 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Starting from the standard callbyneed reduction for the λcalculus that is common to Ariola, Felleisen, Maraist, Odersky, and Wadler, we interderive a series of hygienic semantic artifacts: a reductionfree stateless abstract machine, a continuationpassing evaluation function, and what appears to be the first heapless natural semantics for callbyneed evaluation. Furthermore we observe that a data structure and a judgment in this natural semantics are in defunctionalized form. The refunctionalized counterpart of this evaluation function is an extended direct semantics in the sense of Cartwright and Felleisen. Overall, the semantic artifacts presented here are simpler than many other such artifacts that have been independently worked out, and which require ingenuity, skill, and independent soundness proofs on a casebycase basis. They are also simpler to interderive because the interderivational tools (e.g., refocusing and defunctionalization) already exist. 1
Cut Rules and Explicit Substitutions
, 2000
"... this paper deals exclusively with intuitionistic logic (in fact, only the implicative fragment), we require succedents to be a single consequent formula. Natural deduction systems, which we choose to call Nsystems, are symbolic logics generally given via introduction and elimination rules for the l ..."
Abstract

Cited by 16 (0 self)
 Add to MetaCart
this paper deals exclusively with intuitionistic logic (in fact, only the implicative fragment), we require succedents to be a single consequent formula. Natural deduction systems, which we choose to call Nsystems, are symbolic logics generally given via introduction and elimination rules for the logical connectives which operate on the right, i.e., they manipulate the succedent formula. Examples are Gentzen's NJ and NK (Gentzen 1935). Logical deduction systems are given via leftintroduction and rightintroduction rules for the logical connectives. Although others have called these systems "sequent calculi", we call them Lsystems to avoid confusion with other systems given in sequent style. Examples are Gentzen's LK and LJ (Gentzen 1935). In this paper we are primarily interested in Lsystems. The advantage of Nsystems is that they seem closer to actual reasoning, while Lsystems on the other hand seem to have an easier proof theory. Lsystems are often extended with a "cut" rule as part of showing that for a given Lsystem and Nsystem, the derivations of each system can be encoded in the other. For example, NK proves the same as LK + cut (Gentzen 1935). Proof Normalization. A system is consistent when it is impossible to prove false, i.e., derive absurdity from zero assumptions. A system is analytic (has the analycity property) when there is an e#ective method to decompose any conclusion sequent into simpler premise sequents from which the conclusion can be obtained by some rule in the system such that the conclusion is derivable i# the premises are derivable (Maenpaa 1993). To achieve the goals of consistency and analycity, it has been customary to consider
Linear Explicit Substitutions
 In Proc. of Westapp'98
, 1998
"... The oecalculus adds explicit substitutions to the calculus so as to provide a theoretical framework within which the implementation of functional programming languages can be studied. This paper generalises the oecalculus to provide a linear calculus of explicit substitutions, called xDILL, which ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
The oecalculus adds explicit substitutions to the calculus so as to provide a theoretical framework within which the implementation of functional programming languages can be studied. This paper generalises the oecalculus to provide a linear calculus of explicit substitutions, called xDILL, which analogously describes the implementation of linear functional programming languages. Our main observation is that there are nontrivial interactions between linearity and explicit substitutions and that xDILL is therefore best understood as a synthesis of its underlying logical structure and the technology of explicit substitutions. This is in contrast to the oecalculus where the explicit substitutions are independent of the underlying logical structure. Keywords: calculus, explicit substitutions, linear logic 1 Introduction This paper combines the technologies of explicit substitutions and linearity in a mathematically consistent way. We start by describing these technologies and the...
Bridging de Bruijn indices and variable names in explicit substitutions calculi
 Logic Journal of the Interest Group of Pure and Applied Logic (IGPL
, 1996
"... Calculi of explicit substitutions have almost always been presented using de Bruijn indices with the aim of avoiding ffconversion and being as close to machines as possible. De Bruijn indices however, though very suitable for the machine, are difficult to human users. This is the reason for a renew ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
Calculi of explicit substitutions have almost always been presented using de Bruijn indices with the aim of avoiding ffconversion and being as close to machines as possible. De Bruijn indices however, though very suitable for the machine, are difficult to human users. This is the reason for a renewed interest in systems of explicit substitutions using variable names. Formal systems of explicit substitutions using variable names is a new area however and we believe, it should not develop without being welltied to existing work on explicit substitutions. The aim of this paper is to establish a bridge between explicit substitutions using de Bruijn indices and using variable names. In our aim to do so, we provide the tcalculus: a calculus `a la de Bruijn which can be translated into a calculus with explicit substitutions written with variables names. We present explicitly this translation and use it to obtain preservation of strong normalisation for t. Moreover, we show several prope...