Type-Based Termination for Futures

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Somayyajula, Siva, Pfenning, Frank
Format: Preprint
Published: 2021
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916205918420992
author Somayyajula, Siva
Pfenning, Frank
author_facet Somayyajula, Siva
Pfenning, Frank
contents In sequential functional languages, sized types enable termination checking of programs with complex patterns of recursion in the presence of mixed inductive-coinductive types. In this paper, we adapt sized types and their metatheory to the concurrent setting. We extend the semi-axiomatic sequent calculus, a subsuming paradigm for futures-based functional concurrency, and its underlying operational semantics with recursion and arithmetic refinements. The latter enables a new and highly general sized type scheme we call sized type refinements. As a widely applicable technical device, we type recursive programs with infinitely deep typing derivations that unfold all recursive calls. Then, we observe that certain such derivations can be made infinitely wide but finitely deep. The resulting trees serve as the induction target of our termination result, which we develop via a novel logical relations argument.
format Preprint
id arxiv_https___arxiv_org_abs_2105_06024
institution arXiv
publishDate 2021
record_format arxiv
spellingShingle Type-Based Termination for Futures
Somayyajula, Siva
Pfenning, Frank
Programming Languages
Logic in Computer Science
In sequential functional languages, sized types enable termination checking of programs with complex patterns of recursion in the presence of mixed inductive-coinductive types. In this paper, we adapt sized types and their metatheory to the concurrent setting. We extend the semi-axiomatic sequent calculus, a subsuming paradigm for futures-based functional concurrency, and its underlying operational semantics with recursion and arithmetic refinements. The latter enables a new and highly general sized type scheme we call sized type refinements. As a widely applicable technical device, we type recursive programs with infinitely deep typing derivations that unfold all recursive calls. Then, we observe that certain such derivations can be made infinitely wide but finitely deep. The resulting trees serve as the induction target of our termination result, which we develop via a novel logical relations argument.
title Type-Based Termination for Futures
topic Programming Languages
Logic in Computer Science
url https://arxiv.org/abs/2105.06024