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 Morihata | 1 | 35 | 8.87 |
Kazuhiko Kakehi | 2 | 75 | 22.41 |
Zhenjiang Hu | 3 | 1341 | 99.25 |
Masato Takeichi | 4 | 595 | 42.90 |