Results 1 -
8 of
8
Combinatory Reduction Systems: introduction and survey
- Theoretical Computer Science
, 1993
"... Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual first-order format of term rewriting with the presence of bound variables as in pure -calculus and various typed -calculi. Bound variables are also present in many other rewrite systems, such as systems with simpli ..."
Abstract
-
Cited by 75 (9 self)
- Add to MetaCart
Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual first-order format of term rewriting with the presence of bound variables as in pure -calculus and various typed -calculi. Bound variables are also present in many other rewrite systems, such as systems with simplification rules for proof normalization. The original idea of CRSs is due to Aczel, who introduced a restricted class of CRSs and, under the assumption of orthogonality, proved confluence. Orthogonality means that the rules are non-ambiguous (no overlap leading to a critical pair) and left-linear (no global comparison of terms necessary). We introduce the class of orthogonal CRSs, illustrated with many examples, discuss its expressive power, and give an outline of a short proof of confluence. This proof is a direct generalization of Aczel's original proof, which is close to the well-known confluence proof for -calculus by Tait and Martin-Lof. There is a well-known connection between the para...
M-LISP: A Representation-Independent Dialect of LISP with Reduction Semantics
- ACM Transactions on Programming Languages and Systems
, 1992
"... In this paper we introduce M-LISP, a simple new dialect of LISP which is designed with an eye toward reconciling LISP's metalinguistic power with the structural style of operational semantics advocated by Plotkin [Plo75]. We begin by reviewing the original denition of LISP [McC61] in an attempt t ..."
Abstract
-
Cited by 21 (2 self)
- Add to MetaCart
In this paper we introduce M-LISP, a simple new dialect of LISP which is designed with an eye toward reconciling LISP's metalinguistic power with the structural style of operational semantics advocated by Plotkin [Plo75]. We begin by reviewing the original denition of LISP [McC61] in an attempt to clarify the source of its metalinguistic power. We nd that it arises from a problematic clause in this denition. We then dene the abstract syntax and operational semantics of M-LISP, essentially a hybrid of M-expression LISP and Scheme. Next, we tie the operational semantics to the corresponding equational logic. As usual, provable equality in the logic implies operational equality. Having established this framework we then extend M-LISP with the metalinguistic eval and reify operators (the latter is a non-strict operator which converts its argument to its metalanguage representation.) These operators encapsulate the metalinguistic representation conversions that occur globall...
Some Lambda Calculi With Categorical Sums and Products
, 1993
"... . We consider the simply typed -calculus with primitive recursion operators and types corresponding to categorical products and coproducts.. The standard equations corresponding to extensionality and to surjectivity of pairing and its dual are oriented as expansion rules. Strong normalization an ..."
Abstract
-
Cited by 20 (1 self)
- Add to MetaCart
. We consider the simply typed -calculus with primitive recursion operators and types corresponding to categorical products and coproducts.. The standard equations corresponding to extensionality and to surjectivity of pairing and its dual are oriented as expansion rules. Strong normalization and ground (base-type) confluence is proved for the full calculus; full confluence is proved for the calculus omitting the rule for strong sums. In the latter case, fixed-point constructors may be added while retaining confluence. 1 Introduction The systems investigated here are simply typed -caluli whose types include pairs, unit, sums, an empty type, and a type of natural numbers supporting constructions by primitive recursion. In the core system the types behave as categorical product and coproducts, so the subject at hand is equivalently ([LS86]) the equational theory of the free bicartesian closed category (generated by objects for the base types) with weak natural numbers object. Su...
Operational and Axiomatic Semantics of PCF
- In Proceedings of the LISP and Functional Programming Conference
, 1990
"... PCF, as considered in this paper, is a lazy typed lambda calculus with functions, pairing, fixed-point operators and arbitrary algebraic data types. The natural equational axioms for PCF include j-equivalence and the so-called "surjective pairing" axiom for pairs. However, the reduction system pcf j ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
PCF, as considered in this paper, is a lazy typed lambda calculus with functions, pairing, fixed-point operators and arbitrary algebraic data types. The natural equational axioms for PCF include j-equivalence and the so-called "surjective pairing" axiom for pairs. However, the reduction system pcf j;sp defined by directing each equational axiom is not confluent, for virtually any choice of algebraic data types. Moreover, neither j-reduction nor surjective pairing seems to have a counterpart in ordinary execution. Therefore, we consider a smaller reduction system pcf without j- reduction or surjective pairing. The system pcf is confluent when combined with any linear, confluent algebraic rewrite rules. The system is also computationally adequate, in the sense that whenever a closed term of "observable" type has a pcf j;sp normal form, this is also the unique pcf normal form. Moreover, the equational axioms for PCF, including (j) and surjective pairing, are sound for pcf observational e...
Conditional Linearization
"... A non-leftlinear term rewriting system lacking the Church-Rosser property can sometimes be shown to satisfy the unique normal form property by shifting attention to an associated conditional term rewriting system that is leftlinear. We call this the method of conditional linearization. In the presen ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
A non-leftlinear term rewriting system lacking the Church-Rosser property can sometimes be shown to satisfy the unique normal form property by shifting attention to an associated conditional term rewriting system that is leftlinear. We call this the method of conditional linearization. In the present paper the method is described in a general setting and some applications are discussed. In particular we present a simple proof of the unique normal form property for Combinatory Logic extended with 'Parallel Conditional', that is, with constants C, T and F (conditional, true, false) and extra reduction rules CTxy x, CFxy y and Czxx x. A special feature of this application is that it involves the use of negative conditions. Contents Introduction 1. Four non-leftlinar, non-confluent TRSs 2. Conditional Term Rewriting Systems 3. Application of CTRSs to prove uniqueness of normal forms 4. The case of Combinatory Logic plus Parallel Conditional 5. Chew's theorem 6. Remarks and further ques...
M-LISP: Its Natural Semantics and Equational Logic (Extended Abtract)
, 1991
"... The LISP evaluator is a virtual machine analog of the stored-program computer on which it executes -- it has universal power and dynamically constructed representations of programs can be converted by the eval operator into executable programs. In this paper we study the natural operational semantic ..."
Abstract
- Add to MetaCart
The LISP evaluator is a virtual machine analog of the stored-program computer on which it executes -- it has universal power and dynamically constructed representations of programs can be converted by the eval operator into executable programs. In this paper we study the natural operational semantics and equational logic of a dialect of pure LISP and an extension which includes the eval operator and fexprs (i.e., non-strict functions whose arguments are passed by-representation). We begin by defining a natural operational semantics for the pure subset of M-LISP, a simple, representation-independent hybrid of McCarthy's original M-expression LISP and Scheme. We then establish the connection between the semantics and its equational logic in the usual way and prove that the logic is sound and consistent. With this as our setting we define the axioms and inference ...
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.

