Tail Modulo Async/Await - Extended Abstract
Résumé
Tail-calls are an essential feature of functional programming languages: they allow to write iterations in a declarative fashion, using simple recursive functions, unbothered by implementation details such as stack space. They work by giving special treatment to function calls in “terminal position”, i.e.~the last thing a function would do. Indeed, such calls never need to be returned from, meaning that adding an entry in the stack is not necessary. Tail-call and tail-recursion, since their introduction in the 70s, have been mainstay in many programming languages and are available in virtually all modern production compilers (C, Rust, Scheme, Haskell, OCaml, …).
In this talk, we consider the treatment of tail call and tail recursions in an Asynchronous context, inspired by the recent work on Tail modulo Cons.
Domaines
Langage de programmation [cs.PL]
Fichier principal
main.pdf (431.75 Ko)
Télécharger le fichier
slides.pdf (342.04 Ko)
Télécharger le fichier
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Origine | Fichiers produits par l'(les) auteur(s) |
---|