Tupling functions with multiple recursion parameters

15Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Tupling is a transformation tactic to obtain new functions, without redundant calls and/or multiple traversals of common inputs. It achieves this feat by allowing a set (tuple) of function calls tobe computed recursively from its previous set. In [Chi93c], a safe (terminating) unfold/fold transformation algorithm was proposed for a class of functions which has a single recursion parameter per function. In this paper, we propose two new classes of functions with multiple recursion parameters that could also be safely tupled. The first class of functions has a set of tightly-synchronised recursion parameters. This class of functions could be used to eliminate multiple traversals due to a common variable being shared by its multiple recursion arguments. The second class of functions has loosely-synchronised recursion parameters. The loose-synchronisation property is specified indirectly by the ability to convert (in an effective way) the multiple recursion parameters into a single recursion parameter. These two new classes of functions help to widen the applicability of the tupling tactic. In particular, they allow us to combine both the tupling and fusion tactics together to achieve new optimisations which were not possible from either tactic individually.

Cite

CITATION STYLE

APA

Chin, W. N., & Khoo, S. C. (1993). Tupling functions with multiple recursion parameters. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 724 LNCS, pp. 124–140). Springer Verlag. https://doi.org/10.1007/3-540-57264-3_35

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free