Getting There and Back Again

02/28/2022
by   Olivier Danvy, et al.
0

"There and Back Again" (TABA) is a programming pattern where the recursive calls traverse one data structure and the subsequent returns traverse another. This article presents new TABA examples, refines existing ones, and formalizes both their control flow and their data flow using the Coq Proof Assistant. Each formalization mechanizes a pen-and-paper proof, thus making it easier to "get" TABA. In addition, this article identifies and illustrates a tail-recursive variant of TABA, There and Forth Again (TAFA) that does not come back but goes forth instead with more tail calls.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/20/2023

Tail recursion transformation for invertible functions

Tail recursive functions allow for a wider range of optimisations than g...
research
02/19/2021

Tail Modulo Cons

OCaml function calls consume space on the system stack. Operating system...
research
05/23/2019

Deep Fuzzy Systems

An investigation of deep fuzzy systems is presented in this paper. A dee...
research
10/03/2022

Exact Recursive Probabilistic Programming

Recursive calls over recursive data are widely useful for generating pro...
research
12/27/2017

Guarded and Unguarded Iteration for Generalized Processes

Models of iterated computation, such as (completely) iterative monads, o...
research
08/30/2021

Learning Highly Recursive Input Grammars

This paper presents Arvada, an algorithm for learning context-free gramm...

Please sign up or login with your details

Forgot password? Click here to reset