1. The Functional Machine Calculus II: Semantics
- Author
-
Barrett, Chris, Heijltjes, Willem, and McCusker, Guy
- Subjects
Computer Science - Logic in Computer Science ,Computer Science - Programming Languages ,F.1.1 ,F.3.2 - 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 specifics of encoded effects), modulo an appropriate equational theory, is a complete language for Cartesian closed categories., Comment: 40 pages, published in Computer Science Logic 2023 Updated to conform to published version
- Published
- 2022