Fusion of recursive programs with computational effects |
| |
Authors: | Alberto Pardo |
| |
Affiliation: | Instituto de Computación, Universidad de la República, Montevideo, Uruguay |
| |
Abstract: | Fusion laws permit to eliminate various of the intermediate data structures that are created in function compositions. The fusion laws associated with the traditional recursive operators on datatypes cannot, in general, be used to transform recursive programs with effects. Motivated by this fact, this paper addresses the definition of two recursive operators on datatypes that capture functional programs with effects. Effects are assumed to be modeled by monads. The main goal is thus the derivation of fusion laws for the new operators. One of the new operators is called monadic unfold. It captures programs (with effects) that generate a data structure in a standard way. The other operator is called monadic hylomorphism, and corresponds to programs formed by the composition of a monadic unfold followed by a function defined by structural induction on the data structure that the monadic unfold generates. |
| |
Keywords: | Deforestation Program fusion Recursive operators Effects Monads |
本文献已被 ScienceDirect 等数据库收录! |
|