The Relational Machine Calculus
Chris Barrett, Daniel Castle, Willem Heijltjes

TL;DR
The Relational Machine Calculus (RMC) is a foundational model for first-order relational programming, unifying various computational paradigms through a simple, effect-encoding, and duality-based framework.
Contribution
It introduces the RMC, a novel calculus derived from the FMC, that captures multiple computational models and provides a sound, complete, and confluent operational semantics.
Findings
Embeds kappa-calculus, logic programming, automata, Interaction Nets, Petri Nets
Supports reasoning with an equational theory conservative over lambda-calculus and Kleene algebra
Provides a stack-machine-based operational semantics for the calculus
Abstract
This paper presents the Relational Machine Calculus (RMC): a simple, foundational model of first-order relational programming. The RMC originates from the Functional Machine Calculus (FMC), which generalizes the lambda-calculus and its standard call-by-name stack machine in two directions. One, "locations", introduces multiple stacks, which enable effect operators to be encoded into the abstraction and application constructs. The second, "sequencing", introduces the imperative notions of "skip" and "sequence", similar to kappa-calculus and concatenative programming languages. The key observation of the RMC is that the first-order fragment of the FMC exhibits a latent duality which, given a simple decomposition of the relevant constructors, can be concretely expressed as an involution on syntax. Semantically, this gives rise to a sound and complete calculus for string diagrams of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
