{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,22]],"date-time":"2026-04-22T20:56:03Z","timestamp":1776891363014,"version":"3.51.2"},"reference-count":31,"publisher":"Centre pour la Communication Scientifique Directe (CCSD)","issue":"5-6","license":[{"start":{"date-parts":[[2008,9,8]],"date-time":"2008-09-08T00:00:00Z","timestamp":1220832000000},"content-version":"unspecified","delay-in-days":7,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[2008,9]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>\n                    This paper develops a new framework for fusion that is designed for eliminating the intermediate data structures involved in the composition of functions that have one accumulating parameter. The new fusion framework comprises two steps:\n                    <jats:italic>algebraic fusion<\/jats:italic>\n                    and its subsequent\n                    <jats:italic>improvement<\/jats:italic>\n                    process. The key idea in our development is to regard functions with an accumulating parameter as functions that operate over the monoid of\n                    <jats:italic>data context<\/jats:italic>\n                    s. Algebraic fusion composes each such function with a monoid homomorphism that is derived from the definition of the consumer function to obtain a higher-order function that computes over the monoid of endofunctions. The transformation result may be further refined by an improvement process, which replaces the operation over the monoid of endofunctions (i.e., function closures) with another monoid operation over a monoid structure other than function closures.\n                  <\/jats:p>\n                  <jats:p>Using our framework, one can formulate a particular solution to the fusion problem by devising appropriate monoids and monoid homomorphisms. This provides a unified exposition of a variety of fusion methods that have been developed so far in different formalisms. Furthermore, the cleaner formulation makes it possible to argue about some delicate issues on a firm mathematical basis. We demonstrate that algebraic fusion and improvement in the world of complete pointed partial orders (CPOs) and continuous functions can correctly fuse functions that operate on partial and infinite data structures. We also show that subtle differences in termination behaviours of transformed programmes caused by certain different fusion methods can be cleanly explained by corresponding improvement processes that have different underlying monoid structures.<\/jats:p>","DOI":"10.1017\/s095679680800693x","type":"journal-article","created":{"date-parts":[[2008,9,8]],"date-time":"2008-09-08T04:41:53Z","timestamp":1220848913000},"page":"781-819","source":"Crossref","is-referenced-by-count":5,"title":["Algebraic fusion of functions with an accumulating parameter and its improvement"],"prefix":"10.46298","volume":"18","author":[{"given":"SHIN-YA","family":"KATSUMATA","sequence":"first","affiliation":[]},{"given":"SUSUMU","family":"NISHIMURA","sequence":"additional","affiliation":[]}],"member":"25203","published-online":{"date-parts":[[2008,9,8]]},"reference":[{"key":"S095679680800693X_ref1","first-page":"1","volume-title":"Proceeding of CONCUR '96, Concurrency Theory, 7th International Conference.","author":"Abramsky","year":"1996"},{"key":"S095679680800693X_ref28","doi-asserted-by":"publisher","DOI":"10.1007\/s00224-006-1235-9"},{"key":"S095679680800693X_ref3","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796800001179"},{"key":"S095679680800693X_ref6","first-page":"157","article-title":"Attribute coupled grammars","volume":"19","author":"Ganzinger","year":"1984","journal-title":"Proceedings of the ACM SIGPLAN '84 Symposium on Compiler Construction."},{"key":"S095679680800693X_ref30","first-page":"347","volume-title":"Proceedings of International Conference on Functional Programming and Computer Architecture (FPCA'89).","author":"Wadler","year":"1989"},{"key":"S095679680800693X_ref25","first-page":"124","volume-title":"Proceedings of the 2002 International Conference on Functional Programming.","author":"Svenningsson","year":"2002"},{"key":"S095679680800693X_ref21","doi-asserted-by":"publisher","DOI":"10.1145\/1014007.1014018"},{"key":"S095679680800693X_ref20","first-page":"358","volume-title":"Proceedings of Programming Language and Systems, First Asian Symposium, APLAS 2003.","author":"Nishimura","year":"2003"},{"key":"S095679680800693X_ref29","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796803004933"},{"key":"S095679680800693X_ref24","doi-asserted-by":"publisher","DOI":"10.1145\/165180.165216"},{"key":"S095679680800693X_ref13","doi-asserted-by":"publisher","DOI":"10.1007\/BF03037434"},{"key":"S095679680800693X_ref8","first-page":"65","volume-title":"Proceedings of Trends in Functional Programming 5","author":"Ghani","year":"2006"},{"key":"S095679680800693X_ref27","doi-asserted-by":"publisher","DOI":"10.1023\/B:LISP.0000029450.36668.cb"},{"key":"S095679680800693X_ref9","doi-asserted-by":"publisher","DOI":"10.1007\/BF02737108"},{"key":"S095679680800693X_ref11","doi-asserted-by":"publisher","DOI":"10.1145\/165180.165214"},{"key":"S095679680800693X_ref14","doi-asserted-by":"publisher","DOI":"10.1023\/A:1022982420888"},{"key":"S095679680800693X_ref17","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-49382-2_13"},{"key":"S095679680800693X_ref16","first-page":"46","volume-title":"Proceedings of Logic Based Program Synthesis and Transformation, 11th International Workshop, LOPSTR 2001.","author":"Kakehi","year":"2001"},{"key":"S095679680800693X_ref22","doi-asserted-by":"crossref","first-page":"143","DOI":"10.1145\/1190216.1190241","volume-title":"Proceedings of the 34th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages.","author":"Ohori","year":"2007"},{"key":"S095679680800693X_ref5","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-72248-6"},{"key":"S095679680800693X_ref7","first-page":"294","volume-title":"Preceeding of International Conference on Functional Programming (ICFP '05)","author":"Ghani","year":"2005"},{"key":"S095679680800693X_ref18","first-page":"1","volume-title":"Proceedings of Mathematical Foundations of Programming Semantics (MFPS 1991).","author":"Ma","year":"1991"},{"key":"S095679680800693X_ref26","first-page":"306","volume-title":"Proceedings of International Conference on Functional Programming Languages and Computer Architecture (FPCA'95).","author":"Takano","year":"1995"},{"key":"S095679680800693X_ref23","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0037118"},{"key":"S095679680800693X_ref10","unstructured":"Gill A. (1996) Cheap Deforestation for Non-Strict Functional Languages. Ph.D. thesis, Glasgow, UK: University of Glasgow."},{"key":"S095679680800693X_ref4","doi-asserted-by":"publisher","DOI":"10.1016\/0022-0000(85)90066-2"},{"key":"S095679680800693X_ref15","doi-asserted-by":"publisher","DOI":"10.1017\/S0305004100074338"},{"key":"S095679680800693X_ref31","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(90)90147-A"},{"key":"S095679680800693X_ref2","doi-asserted-by":"publisher","DOI":"10.1145\/321992.321996"},{"key":"S095679680800693X_ref12","doi-asserted-by":"publisher","DOI":"10.1145\/321992.321997"},{"key":"S095679680800693X_ref19","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-51305-1_20"}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S095679680800693X","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,22]],"date-time":"2026-04-22T20:19:11Z","timestamp":1776889151000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S095679680800693X\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,9]]},"references-count":31,"journal-issue":{"issue":"5-6","published-print":{"date-parts":[[2008,9]]}},"alternative-id":["S095679680800693X"],"URL":"https:\/\/doi.org\/10.1017\/s095679680800693x","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[2008,9]]}}}