1 Hit in 0.042 sec

Coroutining Folds with Hyperfunctions

J. Launchbury, S. Krstic, T. E. Sauerwein
2013 Electronic Proceedings in Theoretical Computer Science  
Fold functions are a general mechanism for computing over recursive data structures. First-order folds compute results bottom-up. With higher-order folds, computations that inherit attributes from above can also be expressed. In this paper, we explore folds over a form of recursive higher-order function, called hyperfunctions, and show that hyperfunctions allow fold computations to coroutine across data structures, as well as compute bottom up and top down. We use the compiler technique of
more » ... r technique of foldr-build as an exemplar to show how hyperfunctions can be used.
doi:10.4204/eptcs.129.9 fatcat:hr4senzskzeglk7pftvaaojg2e