{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T23:05:22Z","timestamp":1779836722218,"version":"3.53.1"},"reference-count":0,"publisher":"Cambridge University Press (CUP)","issue":"6","license":[{"start":{"date-parts":[[1999,11,1]],"date-time":"1999-11-01T00:00:00Z","timestamp":941414400000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[1999,11]]},"abstract":"<jats:p>\n                    List homomorphisms are functions that are parallelizable using the divide-and-conquer \nparadigm. We study the problem of finding homomorphic representations of functions in \nthe Bird\u2013Meertens constructive theory of lists, by means of term rewriting and theorem \nproving techniques. A previous work proved that to each pair \nof\n                    <jats:italic>leftward<\/jats:italic>\n                    and\n                    <jats:italic>rightward<\/jats:italic>\n                    sequential representations of a function, based on\n                    <jats:styled-content style=\"e6\">cons<\/jats:styled-content>\n                    - and\n                    <jats:styled-content style=\"e6\">snoc<\/jats:styled-content>\n                    -lists, respectively, there \nis also a representation as a homomorphism. Our contribution is a\n                    <jats:italic>mechanizable method<\/jats:italic>\n                    to extract the homomorphism representation from a pair of sequential representations. The \nmethod is decomposed to a generalization problem and an inductive claim, both solvable by \nterm rewriting techniques. To solve the former we present a sound generalization procedure \nwhich yields the required representation, and terminates under reasonable assumptions. The \ninductive claim is provable automatically. We illustrate the method and the procedure by the \nsystematic parallelization of the\n                    <jats:italic>scan<\/jats:italic>\n                    -function (parallel prefix) and of the maximum \nsegment sum problem.\n                  <\/jats:p>","DOI":"10.1017\/s0956796899003536","type":"journal-article","created":{"date-parts":[[2002,7,27]],"date-time":"2002-07-27T09:26:15Z","timestamp":1027761975000},"page":"649-673","source":"Crossref","is-referenced-by-count":19,"title":["Parallelizing functional programs by generalization"],"prefix":"10.1017","volume":"9","author":[{"given":"ALFONS","family":"GESER","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"SERGEI","family":"GORLATCH","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"56","published-online":{"date-parts":[[1999,11,1]]},"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796899003536","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T22:35:33Z","timestamp":1779834933000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796899003536\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1999,11]]},"references-count":0,"journal-issue":{"issue":"6","published-print":{"date-parts":[[1999,11]]}},"alternative-id":["S0956796899003536"],"URL":"https:\/\/doi.org\/10.1017\/s0956796899003536","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[1999,11]]}}}