iRho: an imperative rewriting calculus

  • Authors:
  • Luigi Liquori;Bernard Paul Serpette

  • Affiliations:
  • INRIA, France;INRIA, France

  • Venue:
  • PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose an imperative version of the Rewriting-calculus, a calculus based on pattern-matching, pattern-abstraction, and side-effects, which we call iRho.We formulate a static and a call-by-value dynamic semantics of iRho like that of Gilles Kahn's Natural Semantics. The operational semantics is deterministic, and immediately suggests how to build an interpreter for the calculus. The static semantics is given via a first-order type system based on a form of product-type, which can be assigned to iRho-terms like structures (i.e. pairs).The calculus is à la Church, i.e. pattern-abstractions are decorated with the types of the free variables of the pattern.iRho is a good candidate for a core or an intermediate language, because it can safely access and modify a (monomorphic) typed store, and because fixed-points can be defined.Properties like determinism of the interpreter, and subject reduction are completely checked by a machine assisted approach, using the Coq proof assistant. Progress and decidability of type-checking are proved by pen and paper.