Title
Manipulating accumulative functions by swapping call-time and return-time computations*
Abstract
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.
Year
DOI
Venue
2012
10.1017/S0956796812000111
J. Funct. Program.
Keywords
Field
DocType
interesting transformation,accumulative parameter,particular tail-recursive function,functional language,higher order removal,program transformation,accumulative function,circular program,program inversion,return-time computation
Swap (computer programming),Program transformation,Functional programming,Computer science,Inversion (meteorology),Theoretical computer science,Swap (finance),Computation
Journal
Volume
Issue
ISSN
22
3
0956-7968
Citations 
PageRank 
References 
0
0.34
22
Authors
4
Name
Order
Citations
PageRank
Akimasa Morihata1358.87
Kazuhiko Kakehi27522.41
Zhenjiang Hu3134199.25
Masato Takeichi459542.90