Getting There and Back Again

by   Olivier Danvy, et al.

"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.


page 1

page 2

page 3

page 4


Tail recursion transformation for invertible functions

Tail recursive functions allow for a wider range of optimisations than g...

Tail Modulo Cons

OCaml function calls consume space on the system stack. Operating system...

Deep Fuzzy Systems

An investigation of deep fuzzy systems is presented in this paper. A dee...

Exact Recursive Probabilistic Programming

Recursive calls over recursive data are widely useful for generating pro...

Guarded and Unguarded Iteration for Generalized Processes

Models of iterated computation, such as (completely) iterative monads, o...

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