Manipulating accumulative functions by swapping call-time and return-time computations
Autor: | Akimasa Morihata, Masato Takeichi, Kazuhiko Kakehi, Zhenjiang Hu |
---|---|
Rok vydání: | 2012 |
Předmět: | |
Zdroj: | Journal of Functional Programming. 22:275-299 |
ISSN: | 1469-7653 0956-7968 |
Popis: | Functional languages are suitable for transformational developments of programs. However, accumulative functions, or in particular tail-recursive functions, are known to be less suitable for manipulation. In this paper, we propose a program transformation named “IO swapping” that swaps call-time and return-time computations. It moves computations in accumulative parameters to results and thereby enables interesting transformations. We demonstrate effectiveness of IO swapping by several applications: deforestation, higher order removal, program inversion, and manipulation of circular programs. |
Databáze: | OpenAIRE |
Externí odkaz: |