ACM Home Page
Please provide us with feedback. Feedback
iRho: an imperative rewriting calculus
Full text PdfPdf (239 KB)
Source
International Conference on Principles and Practice of Declarative Programming archive
Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming table of contents
Verona, Italy
Pages: 167 - 178  
Year of Publication: 2004
ISBN:1-58113-819-9
Authors
Luigi Liquori  INRIA, France
Bernard Paul Serpette  INRIA, France
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 14,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1013963.1013983
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
 
4
G. Boudol and P. Zimmer. Recursion in the Call-by-Value Lambda-Calculus. In Proc. of FICS, Note Series NS-02-2. BRICS, 2002.
 
5
H. Cirstea and C. Kirchner. The rewriting calculus -- Part I and II. Logic Journal of the Interest Group in Pure and Applied Logics, 9(3):427--498, 2001.
 
6
 
7
 
8
H. Cirstea, C. Kirchner, and L. Liquori. Rewriting Calculus with(out) Types. In Proc. of WRLA, ENTCS, 2002.
 
9
H. Cirstea, L. Liquori, and B. Wack. Rho-calculus with Fixpoint: First-order system. In Proc. of TYPES. Springer-Verlag, 2004.
 
10
 
11
Cristal, Foc-CNAM, Lemme, Mimosa, Miró, and Oasis. Concert: Compilateurs Certifiés, 2004. ARC INRIA 2003-2004, http://www-sop.inria.fr/lemme/concert.
 
12
G. Faure and P. Moreau. Jrho: a Java Implementation of the Rho Calculus, 2002. http://elan.loria.fr/Soft/jrho-0.1.tar.gz.
 
13
 
14
 
15
J. Goguen. The OBJ Family Home Page, 2004. http://www.cs.ucsd.edu/users/goguen/sys/obj.html.
16
 
17
G. Huet. Résolution d'equations dans les langages d'ordre 1,2, ...,ω. Ph.d. thesis, Université de Paris 7 (France), 1976.
 
18
19
 
20
P. J. Landin. The Mechanical Evaluation of Expression. The Computer Journal, 6:308--320, 1964.
21
 
22
L. Liquori and B. Serpette. The Full Version of this paper, 2004. http://www-sop.inria.fr/oasis/Bernard.Serpette/ImpRhoCalculus/.
 
23
I. A. Mason and C. L. Talcott. References, Local Variables and Operational Reasoning. In Proc. of LICS, pages 66--77, 1992.
 
24
 
25
N. P. Mendler, P. Panangaden, and R. L. Constable. Infinite Objects in Type Theory. In Proc. of LICS, pages 249--255, 1986.
 
26
Microsoft. The C# Home Page, 2004. http://msdn.microsoft.com/vcsharp/.
 
27
 
28
P. Moreau, C. Ringeissen, and M. Vittek. The Tom Home Page, 2004. http://tom.loria.fr/.
29
 
30
 
31
 
32
A. Stump. The Rogue Home Page, 2004. http://www.cse.wustl.edu/~stump/rogue.html.
 
33
 
34
Sun. Java Technology, 2004. http://java.sun.com/.
 
35
The Asf+Sdf Team. The Asf+Sdf Meta-Environment Home Page, 2004. http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/MetaEnvironment.
 
36
The Cduce Team. The Cduce Home Page, 2004. http://www.cduce.org.
 
37
The Common Criteria Consortium. The Common Criteria Home Page, 2004. http://www.commoncriteria.org.
 
38
The Cristal Team. The Objective Caml Home Page, 2004. http://www.ocaml.org/.
 
39
The GNU Prolog Team. The GNU Prolog Home Page, 2004. http://pauillac.inria.fr/~diaz/gnu-prolog/.
 
40
The Haskell Team. The Haskell Home Page, 2004. http://www.haskell.org/.
 
41
The Logical Team. The Coq Home Page, 2004. http://coq.inria.fr.
 
42
The Maude Team. The Maude Home Page, 2004. http://maude.cs.uiuc.edu/.
 
43
The Mimosa Team. The Schme Bigloo Home Page, 2004. http://www.sop.inria.fr/mimosa/fp/bigloo/.
 
44
The Protheo Team. The Elan Home Page, 2004. http://elan.loria.fr.
 
45
The Scheme Team. The Scheme Language, 2004. http://www.swiss.ai.mit.edu/projects/scheme/.
 
46
The Stratego Team. The Rho Stratego Home Page, 2004. http://www.stratego-language.org/twiki/bin/view/Stratego/RhoStratego.
 
47
The Stratego Team. The Stratego Home Page, 2004. http://www.stratego-language.org.
 
48
The Xduce Team. The Xduce Home Page, 2004. http://xduce.sourceforge.net.
 
49
A. van Deursen, J. Heering, and P. Klint. Language Prototyping. World Scientific, 1996.
 
50
V. van Oostrom. Lambda Calculus with Patterns. Technical Report IR-228, Faculteit der Wiskunde en Informatica, Vrije Universiteit Amsterdam, 1990.



REVIEW

"Robert Kolter : Reviewer"

Liquori and Serpette present a calculus called iRho. This calculus is a refinement of the Rho calculus introduced by Christea, Kirchner, and Liquori [1]. While Rho is a rewrite-based calculus, iRho is an "imperative rewriting calculus." Concepts a  more...

Collaborative Colleagues:
Luigi Liquori: colleagues
Bernard Paul Serpette: colleagues