Full Abstraction for Free

03/16/2023
by   Marco Paviotti, et al.
0

Structured recursion schemes such as folds and unfolds have been widely used for structuring both functional programs and program semantics. In this context, it has been customary to implement denotational semantics as folds over an inductive data type to ensure termination and compositionality. Separately, operational models can be given by unfolds, and naturally not all operational models coincide with a given denotational semantics in a meaningful way. To ensure these semantics are coherent it is important to consider the property of full abstraction which relates the denotational and the operational model. In this paper, we show how to engineer a compositional semantics such that full abstraction comes for free. We do this by using distributive laws from which we generate both the operational and the denotational model. The distributive laws ensure the semantics are fully abstract at the type level, thus relieving the programmer from the burden of the proofs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/26/2023

Meta-MeTTa: an operational semantics for MeTTa

We present an operational semantics for the language MeTTa....
research
07/05/2019

Operational Semantics of Games

We introduce operational semantics into games. And based on the operatio...
research
10/14/2021

A Functional Abstraction of Typed Invocation Contexts

In their paper "A Functional Abstraction of Typed Contexts", Danvy and F...
research
08/17/2018

Proving Type Class Laws for Haskell

Type classes in Haskell are used to implement ad-hoc polymorphism, i.e. ...
research
02/22/2022

Stateful Structural Operational Semantics

Compositionality of denotational semantics is an important concern in pr...
research
07/18/2019

Priorities in tock-CSP

The tock-CSP encoding embeds a rich and flexible approach to modelling d...
research
09/04/2017

Distributive Laws for Monotone Specifications

Turi and Plotkin introduced an elegant approach to structural operationa...

Please sign up or login with your details

Forgot password? Click here to reset