{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T23:12:40Z","timestamp":1725577960094},"publisher-location":"Berlin, Heidelberg","reference-count":24,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540356318"},{"type":"electronic","value":"9783540356325"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2006]]},"DOI":"10.1007\/11783596_22","type":"book-chapter","created":{"date-parts":[[2006,6,28]],"date-time":"2006-06-28T14:35:02Z","timestamp":1151505302000},"page":"379-396","source":"Crossref","is-referenced-by-count":3,"title":["Swapping Arguments and Results of Recursive Functions"],"prefix":"10.1007","author":[{"given":"Akimasa","family":"Morihata","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kazuhiko","family":"Kakehi","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zhenjiang","family":"Hu","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Masato","family":"Takeichi","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"22_CR1","series-title":"Prentice Hall Int. Series in Computer Science","volume-title":"Algebra of Programming","author":"R. Bird","year":"1996","unstructured":"Bird, R., de Moor, O.: Algebra of Programming. Prentice Hall Int. Series in Computer Science. Prentice Hall, Englewood Cliffs (1996)"},{"issue":"2","key":"22_CR2","doi-asserted-by":"publisher","first-page":"122","DOI":"10.1093\/comjnl\/32.2.122","volume":"32","author":"R. Bird","year":"1989","unstructured":"Bird, R.: Algebraic identities for program calculation. Computer J.\u00a032(2), 122\u2013126 (1989)","journal-title":"Computer J."},{"key":"22_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"124","DOI":"10.1007\/3540543961_7","volume-title":"Functional Programming Languages and Computer Architecture","author":"E. Meijer","year":"1991","unstructured":"Meijer, E., Fokkinga, M., Paterson, R.: Functional programming with bananas, lenses, envelopes and barbed wire. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol.\u00a0523, pp. 124\u2013144. Springer, Heidelberg (1991)"},{"key":"22_CR4","doi-asserted-by":"publisher","first-page":"239","DOI":"10.1007\/BF00264249","volume":"21","author":"R. Bird","year":"1984","unstructured":"Bird, R.: Using circular programs to eliminate multiple traversals of data. Acta Inform.\u00a021, 239\u2013250 (1984)","journal-title":"Acta Inform."},{"key":"22_CR5","doi-asserted-by":"publisher","first-page":"119","DOI":"10.1145\/154630.154643","volume-title":"Proc. of 1993 ACM SIGPLAN Symp. on Partial Evaluation and Semantics-Based Program Manipulation, PEPM 1993","author":"W.N. Chin","year":"1993","unstructured":"Chin, W.N.: Towards an automated tupling strategy. In: Proc. of 1993 ACM SIGPLAN Symp. on Partial Evaluation and Semantics-Based Program Manipulation, PEPM 1993, pp. 119\u2013132. ACM Press, New York (1993)"},{"issue":"2","key":"22_CR6","doi-asserted-by":"publisher","first-page":"360","DOI":"10.1145\/234528.234529","volume":"28","author":"A. Pettorossi","year":"1996","unstructured":"Pettorossi, A., Proietti, M.: Rules and strategies for transforming functional and logic programs. ACM Comput. Surveys\u00a028(2), 360\u2013414 (1996)","journal-title":"ACM Comput. Surveys"},{"key":"22_CR7","doi-asserted-by":"publisher","first-page":"164","DOI":"10.1145\/258948.258964","volume-title":"Proc. of 2nd ACM SIGPLAN Int. Conf. on Functional Programming, ICFP 1997","author":"Z. Hu","year":"1997","unstructured":"Hu, Z., Iwasaki, H., Takeichi, M., Takano, A.: Tupling calculation eliminates multiple data traversals. In: Proc. of 2nd ACM SIGPLAN Int. Conf. on Functional Programming, ICFP 1997, pp. 164\u2013175. ACM Press, New York (1997)"},{"key":"22_CR8","series-title":"Prentice Hall Int. Series in Computer Science","volume-title":"Introduction to Functional Programming using Haskell","author":"R. Bird","year":"1998","unstructured":"Bird, R.: Introduction to Functional Programming using Haskell. Prentice Hall Int. Series in Computer Science. Prentice Hall, Englewood Cliffs (1998)"},{"key":"22_CR9","doi-asserted-by":"publisher","first-page":"73","DOI":"10.1145\/232627.232637","volume-title":"Proc. of 1st ACM SIGPLAN Int. Conf. on Functional Programming, ICFP 1996","author":"Z. Hu","year":"1996","unstructured":"Hu, Z., Iwasaki, H., Takeichi, M.: Deriving structural hylomorphisms from recursive definitions. In: Proc. of 1st ACM SIGPLAN Int. Conf. on Functional Programming, ICFP 1996, pp. 73\u201382. ACM Press, New York (1996)"},{"key":"22_CR10","doi-asserted-by":"crossref","unstructured":"Morihata, A.: Relationship between arguments and results of recursive functions. Master\u2019s thesis. University of Tokyo (2006)","DOI":"10.1007\/11783596_22"},{"key":"22_CR11","unstructured":"Chin, W.N.: Fully lazy higher-order removal. In: Proc. of 1992 ACM SIGPLAN Wksh. on Partial Evaluation and Semantics-Based Program Manipulation, PEPM 1992. TR YALEU\/DCS\/RR-909, Yale University, pp. 38\u201347 (1992)"},{"key":"22_CR12","doi-asserted-by":"publisher","first-page":"230","DOI":"10.1145\/581478.581500","volume-title":"Proc. of 7th ACM SIGPLAN Int. Conf. on Functional Programming, ICFP 2002","author":"O. Danvy","year":"2002","unstructured":"Danvy, O., Goldberg, M.: There and back again. In: Proc. of 7th ACM SIGPLAN Int. Conf. on Functional Programming, ICFP 2002, pp. 230\u2013234. ACM Press, New York (2002)"},{"key":"22_CR13","first-page":"7","volume-title":"Proc. of 7th GPCE Young Researchers Wksh., GPCE-YRW 2005","author":"A. Morihata","year":"2005","unstructured":"Morihata, A., Kakehi, K., Hu, Z., Takeichi, M.: IO swapping leads you there and back again. In: Rutherford, M.J. (ed.) Proc. of 7th GPCE Young Researchers Wksh., GPCE-YRW 2005, pp. 7\u201313. Inst. of Cybernetics, Tallinn (2005); Extended abstract of [14]"},{"key":"22_CR14","unstructured":"Morihata, A., Kakehi, K., Hu, Z., Takeichi, M.: Reversing iterations: IO swapping leads you there and back again. Techn. Report METR 2005-11, Dept. of Mathematical Informatics, University of Tokyo (2005)"},{"issue":"4","key":"22_CR15","doi-asserted-by":"publisher","first-page":"363","DOI":"10.1023\/A:1010027404223","volume":"11","author":"J.C. Reynolds","year":"1998","unstructured":"Reynolds, J.C.: Definitional interpreters for higher-order programming languages. Higher-Order and Symb. Comput.\u00a011(4), 363\u2013397 (1998); Reprinted from Proc. of 25th ACM Nat. Conf. (1972), with a foreword","journal-title":"Higher-Order and Symb. Comput."},{"issue":"4","key":"22_CR16","first-page":"397","volume":"66","author":"O. Danvy","year":"2005","unstructured":"Danvy, O., Goldberg, M.: There and back again. Fund. Inform.\u00a066(4), 397\u2013413 (2005)","journal-title":"Fund. Inform."},{"key":"22_CR17","doi-asserted-by":"publisher","first-page":"101","DOI":"10.1145\/1014007.1014018","volume-title":"Proc. of 2004 ACM SIGPLAN Wksh. on Partial Evaluation and Semantics-Based Program Manipulation, PEPM 2004","author":"S. Nishimura","year":"2004","unstructured":"Nishimura, S.: Fusion with stacks and accumulating parameters. In: Proc. of 2004 ACM SIGPLAN Wksh. on Partial Evaluation and Semantics-Based Program Manipulation, PEPM 2004, pp. 101\u2013112. ACM Press, New York (2004)"},{"key":"22_CR18","doi-asserted-by":"publisher","first-page":"157","DOI":"10.1145\/502874.502890","volume-title":"Proc. of 1984 SIGPLAN Symp. on Compiler Construction","author":"H. Ganzinger","year":"1984","unstructured":"Ganzinger, H., Giegerich, R.: Attribute coupled grammars. In: Proc. of 1984 SIGPLAN Symp. on Compiler Construction, pp. 157\u2013170. ACM Press, New York (1984)"},{"issue":"2","key":"22_CR19","doi-asserted-by":"publisher","first-page":"127","DOI":"10.1007\/BF01692511","volume":"2","author":"D.E. Knuth","year":"1968","unstructured":"Knuth, D.E.: Semantics of context-free languages. Math. Syst. Theory\u00a02(2), 127\u2013145 (1968)","journal-title":"Math. Syst. Theory"},{"key":"22_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"146","DOI":"10.1007\/978-3-540-49382-2_13","volume-title":"Foundations of Software Technology and Theoretical Computer Science","author":"A. K\u00fchnemann","year":"1998","unstructured":"K\u00fchnemann, A.: Benefits of tree transducers for optimizing functional programs. In: Arvind, V., Ramanujam, R. (eds.) FST TCS 1998. LNCS, vol.\u00a01530, pp. 146\u2013158. Springer, Heidelberg (1998)"},{"key":"22_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"114","DOI":"10.1007\/10705424_8","volume-title":"Functional and Logic Programming","author":"A. K\u00fchnemann","year":"1999","unstructured":"K\u00fchnemann, A.: Comparison of deforestation techniques for functional programs and for tree transducers. In: Middeldorp, A. (ed.) FLOPS 1999. LNCS, vol.\u00a01722, pp. 114\u2013130. Springer, Heidelberg (1999)"},{"key":"22_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"360","DOI":"10.1007\/10704567_22","volume-title":"Principles and Practice of Declarative Programming","author":"L. Correnson","year":"1999","unstructured":"Correnson, L., Duris, E., Parigot, D., Roussel, G.: Declarative program transformation: A deforestation case-study. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol.\u00a01702, pp. 360\u2013377. Springer, Heidelberg (1999)"},{"issue":"1-2","key":"22_CR23","doi-asserted-by":"publisher","first-page":"129","DOI":"10.1023\/B:LISP.0000029450.36668.cb","volume":"17","author":"J. Voigtl\u00e4nder","year":"2004","unstructured":"Voigtl\u00e4nder, J.: Using circular programs to deforest in accumulating parameters. Higher-Order and Symb. Comput.\u00a017(1-2), 129\u2013163 (2004)","journal-title":"Higher-Order and Symb. Comput."},{"issue":"2","key":"22_CR24","doi-asserted-by":"publisher","first-page":"139","DOI":"10.1016\/0167-6423(92)90008-Y","volume":"18","author":"E.A. Boiten","year":"1992","unstructured":"Boiten, E.A.: Improving recursive functions by inverting the order of evaluation. Sci. of Comput. Programming\u00a018(2), 139\u2013179 (1992)","journal-title":"Sci. of Comput. Programming"}],"container-title":["Lecture Notes in Computer Science","Mathematics of Program Construction"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/11783596_22.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,17]],"date-time":"2020-11-17T20:07:53Z","timestamp":1605643673000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/11783596_22"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006]]},"ISBN":["9783540356318","9783540356325"],"references-count":24,"URL":"https:\/\/doi.org\/10.1007\/11783596_22","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2006]]}}}