AI & Computingarticle2026-08-17

Tail Modulo Async-Await

Open access0 citations

Abstract

This article extends tail-call optimisation by applying it to asynchronous calls. We first introduce TMA, a novel code transformation for asynchronous tail recursive functions that prevents the creation of unnecessary tasks. We then show how to combine TMA with the existing TMC optimisation; we obtain an optimisation able to turn a recursive function with multiple tail calls under constructors into a parallel version of the function, also optimised in space. We formalise both optimisations over representative calculi, and prove them correct through backward simulations. Finally, we provide a proof-of-concept implementation as an OCaml syntax extension and evaluate it experimentally, showing our approach optimises both memory and execution time

// Source

View paper (DOI)Open access versionOpenAlexProceedings of the ACM on Programming LanguagesPublished 2026-08-17

Authors: Emma Nardino, Ludovic Henrio, Gabriel Radanne, Yannick Zakowski

Institutions: Centre National de la Recherche Scientifique, Lyon 1 Université, École Normale Supérieure de Lyon, Institut national de recherche en sciences et technologies du numérique, Laboratoire de l'Informatique du Parallélisme