The categorical abstract machine
Science of Computer Programming
Inheritance in smalltalk-80: a denotational definition
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Abstract models of memory management
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Understanding and using patterns in software development
Theory and Practice of Object Systems - Special issue on patterns
The Definition of Standard ML
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Structural Recursive Definitions in Type Theory
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
STACS '87 Proceedings of the 4th Annual Symposium on Theoretical Aspects of Computer Science
CVC: A Cooperating Validity Checker
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Compilation of extended recursion in call-by-value functional languages
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Inductive definition in type theory
Inductive definition in type theory
HydroJ: object-oriented pattern matching for evolvable distributed systems
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
The recursive record semantics of objects revisited
Journal of Functional Programming
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
A ρ-calculus of explicit constraint application
Higher-Order and Symbolic Computation
A ρ-Calculus of Explicit Constraint Application
Electronic Notes in Theoretical Computer Science (ENTCS)
Electronic Notes in Theoretical Computer Science (ENTCS)
A Language for Verification and Manipulation of Web Documents
Electronic Notes in Theoretical Computer Science (ENTCS)
The rewriting calculus as a combinatory reduction system
FOSSACS'07 Proceedings of the 10th international conference on Foundations of software science and computational structures
The graph rewriting calculus: confluence and expressiveness
ICTCS'05 Proceedings of the 9th Italian conference on Theoretical Computer Science
Hi-index | 0.00 |
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.