DeepAI AI Chat
Log In Sign Up

The Functional Machine Calculus II: Semantics

11/23/2022
by   Chris Barrett, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

05/25/2023

On the Simply-Typed Functional Machine Calculus: Categorical Semantics and Strong Normalisation

The Functional Machine Calculus (FMC) was recently introduced as a gener...
06/20/2016

Introducing a Calculus of Effects and Handlers for Natural Language Semantics

In compositional model-theoretic semantics, researchers assemble truth-c...
09/23/2020

Semantics of a Relational λ-Calculus (Extended Version)

We extend the λ-calculus with constructs suitable for relational and fun...
12/15/2022

The Functional Machine Calculus

This paper presents the Functional Machine Calculus (FMC) as a simple mo...
07/16/2019

Recovering Purity with Comonads and Capabilities

In this paper, we take a pervasively effectful (in the style of ML) type...
06/17/2015

Pragmatic Side Effects

In the quest to give a formal compositional semantics to natural languag...
03/15/2018

Tracing sharing in an imperative pure calculus

We introduce a type and effect system, for an imperative object calculus...