Results 1 - 10
of
18
A Typed Pattern Calculus
- ACM Trans. Program. Lang. Syst
, 1996
"... The theory of programming with pattern-matching function definitions has been studied mainly in the framework of first-order rewrite systems. We present a typed functional calculus that emphasizes the strong connection between the structure of whole pattern definitions and their types. In this calcu ..."
Abstract
-
Cited by 62 (15 self)
- Add to MetaCart
The theory of programming with pattern-matching function definitions has been studied mainly in the framework of first-order rewrite systems. We present a typed functional calculus that emphasizes the strong connection between the structure of whole pattern definitions and their types. In this calculus type-checking guarantees the absence of runtime errors caused by non-exhaustive pattern-matching definitions. Its operational semantics is deterministic in a natural way, without the imposition of ad-hoc solutions such as clause order or "best fit". In the spirit of the Curry-Howard isomorphism, we design the calculus as a computational interpretation of the Gentzen sequent proofs for the intuitionistic propositional logic. We prove the basic properties connecting typing and evaluation: subject reduction and strong normalization. We believe that this calculus offers a rational reconstruction of the pattern-matching features found in successful functional languages. CNRS and Laboratoire...
Rewriting calculus with fixpoints: Untyped and first-order systems
- In Post-proceedings of TYPES, Lecture Notes in Computer Science
, 2003
"... Abstract The rewriting calculus, also called ρ-calculus, is a framework embedding λ-calculus and rewriting capabilities, by allowing abstraction not only on variables but also on patterns. The higher-order mechanisms of the λ-calculus and the pattern matching facilities of the rewriting are then bot ..."
Abstract
-
Cited by 23 (9 self)
- Add to MetaCart
Abstract The rewriting calculus, also called ρ-calculus, is a framework embedding λ-calculus and rewriting capabilities, by allowing abstraction not only on variables but also on patterns. The higher-order mechanisms of the λ-calculus and the pattern matching facilities of the rewriting are then both available at the same level. Many type systems for the λ-calculus can be generalized to the ρ-calculus: in this paper, we study extensively a first-order ρ-calculus à la Church, called ρ stk The type system of ρ stk � allows one to type (object oriented flavored) fixpoints, leading to an expressive and safe calculus. In particular, using pattern matching, one can encode and typecheck term rewriting systems in a natural and automatic way. Therefore, we can see our framework as a starting point for the theoretical basis of a powerful typed rewriting-based language.
Rewriting calculus with(out) types
- Proceedings of the fourth workshop on rewriting logic and applications
, 2002
"... The last few years have seen the development of a new calculus which can be considered as an outcome of the last decade of various researches on (higher order) term rewriting systems, and lambda calculi. In the Rewriting Calculus (or Rho Calculus, ρCal), algebraic rules are considered as sophisticat ..."
Abstract
-
Cited by 18 (11 self)
- Add to MetaCart
The last few years have seen the development of a new calculus which can be considered as an outcome of the last decade of various researches on (higher order) term rewriting systems, and lambda calculi. In the Rewriting Calculus (or Rho Calculus, ρCal), algebraic rules are considered as sophisticated forms of “lambda terms with patterns”, and rule applications as lambda applications with pattern matching facilities. The calculus can be customized to work modulo sophisticated theories, like commutativity, associativity, associativity-commutativity, etc. This allows us to encode complex structures such as list, sets, and more generally objects. The calculus can either be presented “à la Curry ” or “à la Church ” without sacrificing readability and without complicating too much the metatheory. Many static type systems can be easily plugged-in on top of the calculus in the spirit of the rich type-oriented literature. The Rewriting Calculus could represent a lingua franca to encode many paradigms of computations together with a formal basis used to build powerful theorem provers based on lambda calculus and efficient rewriting, and a step towards new proof engines based on the Curry-Howard isomorphism. 1
A rewriting calculus for cyclic higher-order term graphs
- in "2nd International Workshop on Term Graph Rewriting - TERMGRAPH’2004
, 2004
"... graphs ..."
A framework for defining logical frameworks
- University of Udine
, 2006
"... Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be
The rewriting calculus as a combinatory reduction system
- In Foundations of Software Science and Computation Structures – FoSSaCS’07, LNCS
, 2007
"... Abstract. The last few years have seen the development of the rewriting calculus (also called rho-calculus or ρ-calculus) that uniformly integrates first-order term rewriting and λ-calculus. The combination of these two latter formalisms has been already handled either by enriching first-order rewri ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Abstract. The last few years have seen the development of the rewriting calculus (also called rho-calculus or ρ-calculus) that uniformly integrates first-order term rewriting and λ-calculus. The combination of these two latter formalisms has been already handled either by enriching first-order rewriting with higher-order capabilities, like in the Combinatory Reduction Systems (crs), or by adding to λ-calculus algebraic features. In a previous work, the authors showed how the semantics of crs can be expressed in terms of the ρ-calculus. The converse issue is adressed here: rewriting calculus derivations are simulated by Combinatory Reduction Systems derivations. As a consequence of this result, important properties, like standardisation, are deduced for the rewriting calculus.
Translating Combinatory Reduction Systems into the Rewriting Calculus
- in « 4th International Workshop on Rule-Based Programming (RULE 2003
, 2003
"... The last few years have seen the development of the rewriting calculus (or rhocalculus, ρCal) that extends first order term rewriting and λ-calculus. The integration of these two latter formalisms has been already handled either by enriching first-order rewriting with higher-order capabilities, like ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
The last few years have seen the development of the rewriting calculus (or rhocalculus, ρCal) that extends first order term rewriting and λ-calculus. The integration of these two latter formalisms has been already handled either by enriching first-order rewriting with higher-order capabilities, like in the Combinatory Reduction Systems, or by adding to λ-calculus algebraic features. The different higher-order rewriting systems and the rewriting calculus share similar concepts and have similar applications, and thus, it seems natural to compare these formalisms. We analyze in this paper the relationship between the Rewriting Calculus and the Combinatory Reduction Systems and we present a translation of CRS-terms and rewrite rules into rho-terms and we show that for any CRS-reduction we have a corresponding rho-reduction. 1
On the Confluence of λ-Calculus with Conditional Rewriting
"... The confluence of untyped #-calculus with unconditional rewriting has already been studied in various directions. In this paper, we investigate the confluence of #-calculus with conditional rewriting and provide general results in two directions. First, when conditional rules are algebraic. This ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The confluence of untyped #-calculus with unconditional rewriting has already been studied in various directions. In this paper, we investigate the confluence of #-calculus with conditional rewriting and provide general results in two directions. First, when conditional rules are algebraic. This extends results of Muller and Dougherty for unconditional rewriting. Two cases are considered, whether beta-reduction is allowed or not in the evaluation of conditions. Moreover, Dougherty's result is improved from the assumption of strongly normalizing #-reduction to weakly normalizing #-reduction. We also provide examples showing that outside these conditions, modularity of confluence is di#cult to achieve.
From functional programs to interaction nets via the Rewriting Calculus
- WRS 2006 PRELIMINARY VERSION
, 2006
"... We use the ρ-calculus as an intermediate language to compile functional languages with pattern-matching features, and give an interaction net encoding of the ρ-terms arising from the compilation. This encoding gives rise to new strategies of evaluation, where pattern-matching and ‘traditional ’ β-re ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We use the ρ-calculus as an intermediate language to compile functional languages with pattern-matching features, and give an interaction net encoding of the ρ-terms arising from the compilation. This encoding gives rise to new strategies of evaluation, where pattern-matching and ‘traditional ’ β-reduction can proceed in parallel without overheads.
The simply-typed pure pattern type system ensures strong normalization
- Proc. of TCS’04
, 2004
"... Abstract Pure Pattern Type Systems (P 2 T S) combine in a unified setting the capabilities of rewriting and λ-calculus. Their type systems, adapted from Barendregt’s λ-cube, are especially interesting from a logical point of view. Strong normalization, an essential property for logical soundness, ha ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Abstract Pure Pattern Type Systems (P 2 T S) combine in a unified setting the capabilities of rewriting and λ-calculus. Their type systems, adapted from Barendregt’s λ-cube, are especially interesting from a logical point of view. Strong normalization, an essential property for logical soundness, had only been conjectured so far: in this paper, we give a positive answer for the simply-typed system. The proof is based on a translation of terms and types from P 2 T S into the λ-calculus. First, we deal with untyped terms, ensuring that reductions are faithfully mimicked in the λ-calculus. For this, we rely on an original encoding of the pattern matching capability of P 2 T S into the λ-calculus. Then we show how to translate types: the expressive power of System Fω is needed in order to fully reproduce the original typing judgments of P 2 T S. We prove that the encoding is correct with respect to reductions and typing, and we conclude with the strong normalization of simply-typed P 2 T S terms. 1

