DeepAI
Log In Sign Up

Semantic Bounds and Strong Call-by-Value Normalization

04/28/2021
by   Beniamino Accattoli, et al.
0

This paper explores two topics at once: the use of denotational semantics to bound the evaluation length of functional programs, and the semantics of strong (that is, possibly under abstractions) call-by-value evaluation. About the first, we analyze de Carvalho's seminal use of relational semantics for bounding the evaluation length of lambda-terms, starting from the presentation of the semantics as an intersection types system. We focus on the part of his work which is usually neglected in its many recent adaptations, despite being probably the conceptually deeper one: how to transfer the bounding power from the type system to the relational semantics itself. We dissect this result and re-understand it via the isolation of a simpler size representation property. About the second, we use relational semantics to develop a semantical study of strong call-by-value evaluation, which is both a delicate and neglected topic. We give a semantic characterization of terms normalizable with respect to strong evaluation, providing in particular the first result of adequacy with respect to strong call-by-value. Moreover, we extract bounds about strong evaluation from both the type systems and the relational semantics. Essentially, we use strong call-by-value to revisit de Carvalho's semantic bounds, and de Carvalho's technique to provide semantical foundations for strong call-by-value.

READ FULL TEXT

page 1

page 2

page 3

page 4

02/07/2022

Call-by-Value Solvability and Multi Types

This paper provides a characterization of call-by-value solvability usin...
08/30/2018

Types of Fireballs (Extended Version)

The good properties of Plotkin's call-by-value lambda-calculus crucially...
12/27/2018

Towards a Semantic Measure of the Execution Time in Call-by-Value lambda-Calculus (Long Version)

We investigate the possibility of a semantic account of the execution ti...
07/19/2020

Lazy State Determination: More concurrency for contending linearizable transactions

The concurrency control algorithms in transactional systems limits concu...
09/23/2020

Semantics of a Relational λ-Calculus (Extended Version)

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

Relational Cost Analysis for Functional-Imperative Programs

Relational cost analysis aims at formally establishing bounds on the dif...
07/07/2017

Complete Call-by-Value Calculi of Control Operators, I

We give new call-by-value calculi of control operators that are complete...