Splitting recursion schemes into reversible and classical interacting threads
arXiv:2105.04910
Abstract
Given a simple recursive function, we show how to extract from it a reversible and an classical iterative part. Those parts can synchronously cooperate under a Producer/Consumer pattern in order to implement the original recursive function. The reversible producer is meant to run on reversible hardware. We also discuss how to extend the extraction to a more general compilation scheme.
The first 10 pages will appear in the proceedings of 13th Conference on Reversible Computation. Appendix is for this authors version. arXiv admin note: substantial text overlap with arXiv:2102.09436