2012年5月
Manipulating accumulative functions by swapping call-time and return-time computations
JOURNAL OF FUNCTIONAL PROGRAMMING
- ,
- ,
- ,
- 巻
- 22
- 号
- 3
- 開始ページ
- 275
- 終了ページ
- 299
- 記述言語
- 英語
- 掲載種別
- 研究論文(学術雑誌)
- DOI
- 10.1017/S0956796812000111
- 出版者・発行元
- CAMBRIDGE UNIV PRESS
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.
- リンク情報
-
- DOI
- https://doi.org/10.1017/S0956796812000111
- DBLP
- https://dblp.uni-trier.de/rec/journals/jfp/MorihataKHT12
- Web of Science
- https://gateway.webofknowledge.com/gateway/Gateway.cgi?GWVersion=2&SrcAuth=JSTA_CEL&SrcApp=J_Gate_JST&DestLinkType=FullRecord&KeyUT=WOS:000306533300003&DestApp=WOS_CPL
- URL
- http://dblp.uni-trier.de/db/journals/jfp/jfp22.html#journals/jfp/MorihataKHT12
- ID情報
-
- DOI : 10.1017/S0956796812000111
- ISSN : 0956-7968
- eISSN : 1469-7653
- DBLP ID : journals/jfp/MorihataKHT12
- Web of Science ID : WOS:000306533300003