Effectful improvement theory

•Relational cost theory for effectful functional programming languages.•Cost as an algebraic effect.•Contextual and applicative simulation for relational cost analysis. Optimizing programs is hard. Not only one must preserve semantics, but one also needs to ensure that an optimization truly makes th...

Full description

Saved in:
Bibliographic Details
Published in:Science of computer programming Vol. 217; p. 102792
Main Authors: Ceresa, Martín A., Jaskelioff, Mauro J.
Format: Journal Article
Language:English
Published: Elsevier B.V 01.05.2022
Subjects:
ISSN:0167-6423, 1872-7964
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:•Relational cost theory for effectful functional programming languages.•Cost as an algebraic effect.•Contextual and applicative simulation for relational cost analysis. Optimizing programs is hard. Not only one must preserve semantics, but one also needs to ensure that an optimization truly makes the program better. The first part, preserving program semantics, has been, and still is, the subject of much research. We follow a line of work that starts with Morris' observational equivalence, continues with Abramsky's applicative bisimilarity and Howe's method, and concludes in a recent abstract formalization of applicative bisimilarity in the presence of algebraic effects by Dal Lago, Gavazzo and Levy. The second part, ensuring that an optimization truly makes the program better, is a path less traveled, with the improvement theory of Sands being the most prominent example. In this work, we connect these two parts by obtaining an abstract theory of improvements based on effectful applicative bisimilarity that extends Sands' notion of improvement to effectful languages.
ISSN:0167-6423
1872-7964
DOI:10.1016/j.scico.2022.102792