Hostname: page-component-74656f9884-j7cmm Total loading time: 0 Render date: 2026-11-09T10:52:12.073Z Has data issue: false hasContentIssue false

iRho: an imperative rewriting calculus

Published online by Cambridge University Press:  01 June 2008

LUIGI LIQUORI
Affiliation:
INRIA Sophia Antipolis, 2004 Route des Lucioles, FR-06902France Email: Luigi.Liquori@inria.fr; Bernard.Serpette@inria.fr
BERNARD PAUL SERPETTE
Affiliation:
INRIA Sophia Antipolis, 2004 Route des Lucioles, FR-06902France Email: Luigi.Liquori@inria.fr; Bernard.Serpette@inria.fr
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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 both a static and big-step call-by-value operational semantics of iRho. The operational semantics is deterministic, and immediately suggests how an interpreter for the calculus may be built. The static semantics is given using a first-order type system based on a form of product types, which can be assigned to term-like structures (that is, records).

The calculus is à la Church, that is, pattern abstractions are decorated with the types of the free variables of the pattern.

iRho is a good candidate for the core of a pattern-matching imperative language, where a (monomorphic) typed store can be safely manipulated and where fixed points are built into the language itself.

Properties such as determinism of the interpreter and subject-reduction have been completely checked using a machine-assisted approach with the Coq proof assistant. Progress and decidability of type checking are proved using pen and paper.

Information

Type
Paper
Copyright
Copyright © Cambridge University Press 2008