COPLAS talk: Tail recursion transformation for invertible functions

Decorative

Speaker

Joachim Tilsted Kristensen, PhD student at Oslo University

Title

Tail recursion transformation for invertible functions

Abstract

Though the CPS transformation, capable of transforming any recursive
function to an equivalent tail recursive one, is deeply problematic in the
context of reversible programming (as it relies on troublesome features
such as higher-order functions), we argue that relaxing (local)
reversibility to (global) invertibility drastically improves the
situation. On this basis, we present an algorithm for tail recursion
conversion specifically for invertible functions. The key insight is that
functions introduced by program transformations that preserve
invertibility, need only be invertible in the context in which the
function's subject of transformation calls them.
This is joint work with Michael Kirkedal Thomsen.