The Functional Machine Calculus II: Semantics
Chris Barrett, Willem Heijltjes, Guy McCusker

TL;DR
This paper develops the denotational semantics for the Functional Machine Calculus, demonstrating its natural syntax, strong normalization with simple types, and its completeness as a language for Cartesian closed categories.
Contribution
It provides a semantic foundation for the FMC, showing its syntax aligns with domain theory, proving strong normalization, and establishing its categorical completeness.
Findings
Syntax closely matches Scott-style domain semantics
Simple types ensure strong normalization
Typed FMC is complete for Cartesian closed categories
Abstract
The Functional Machine Calculus (FMC), recently introduced by the authors, is a generalization of the lambda-calculus which may faithfully encode the effects of higher-order mutable store, I/O and probabilistic/non-deterministic input. Significantly, it remains confluent and can be simply typed in the presence of these effects. In this paper, we explore the denotational semantics of the FMC. We have three main contributions: first, we argue that its syntax -- in which both effects and lambda-calculus are realised using the same syntactic constructs -- is semantically natural, corresponding closely to the structure of a Scott-style domain theoretic semantics. Second, we show that simple types confer strong normalization by extending Gandy's proof for the lambda-calculus, including a small simplification of the technique. Finally, we show that the typed FMC (without considering the…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
