{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,13]],"date-time":"2023-09-13T19:39:49Z","timestamp":1694633989754},"reference-count":22,"publisher":"Cambridge University Press (CUP)","issue":"4","license":[{"start":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T00:00:00Z","timestamp":1226016000000},"content-version":"unspecified","delay-in-days":4786,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[1995,10]]},"abstract":"Abstract<\/jats:title>Communication lifting is a program transformation that can be applied to a synchronous process network to restructure the network. This restructuring in theory improves sequential and parallel performance. The transformation has been formally specified and proved correct and it has been implemented as an automatic program transformation tool. This tool has been applied to a small set of programs consisting of synchronous process networks. For these networks communication lifting generates parallel programs that do not require locking. Measurements indicate performance gains in practice both with sequential and parallel evaluation. Communication lifting is a worthwhile optimization to be included in a compiler for a lazy functional language.<\/jats:p>","DOI":"10.1017\/s0956796800001477","type":"journal-article","created":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T16:11:23Z","timestamp":1226074283000},"page":"549-581","source":"Crossref","is-referenced-by-count":2,"title":["Communication lifting: fixed point computation for parallelism"],"prefix":"10.1017","volume":"5","author":[{"given":"Willem G.","family":"Vree","sequence":"first","affiliation":[]},{"given":"Pieter H.","family":"Hartel","sequence":"additional","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2008,11,7]]},"reference":[{"key":"S0956796800001477_ref002","doi-asserted-by":"publisher","DOI":"10.1145\/359636.359715"},{"key":"S0956796800001477_ref017","doi-asserted-by":"publisher","DOI":"10.1145\/355609.362336"},{"key":"S0956796800001477_ref013","unstructured":"Jeuring J. (1992) Theories for algorithm calculation. PhD thesis, Department of Computer Science University of Utrecht, The Netherlands."},{"key":"S0956796800001477_ref019","first-page":"1","volume-title":"2nd Functional Programming Languages and Computer Architecture. Lecture Notes in Computer Science 201","author":"Turner","year":"1985"},{"key":"S0956796800001477_ref004","volume-title":"Introduction to Functional Programming","author":"Bird","year":"1988"},{"key":"S0956796800001477_ref009","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-18317-5_15"},{"key":"S0956796800001477_ref012","first-page":"52","volume-title":"2nd Arrays, Functional Languages, and Parallel Systems (ATABLE)","author":"Hartel","year":"1992"},{"key":"S0956796800001477_ref001","volume-title":"A Practical Introduction to Denotational Semantics","author":"Allison","year":"1986"},{"key":"S0956796800001477_ref003","first-page":"389","volume-title":"Seminar on concurrency. Lecture Notes in Computer Science 197","author":"Berry","year":"1984"},{"key":"S0956796800001477_ref020","unstructured":"Vree W. G. (1989) Design considerations for a parallel reduction machine. PhD thesis, Department of Computer Science, University of Amsterdam, December."},{"key":"S0956796800001477_ref005","doi-asserted-by":"publisher","DOI":"10.1145\/321992.321996"},{"key":"S0956796800001477_ref008","first-page":"39","volume-title":"Functional Programming","author":"Ferguson","year":"1988"},{"key":"S0956796800001477_ref006","doi-asserted-by":"crossref","unstructured":"Caspi P. , Pilaud D. , Halbwachs N. and Plaice J. A. (1987) LUSTRE: A declarative language for programming synchronous systems. In: 14th Conference on the Principles of Programming Languages, pp. 178\u2013188. Munich, Germany, January.","DOI":"10.1145\/41625.41641"},{"key":"S0956796800001477_ref007","first-page":"31","volume-title":"3rd Implementation of Functional Languages on Parallel Architectures","author":"Darlington","year":"1991"},{"key":"S0956796800001477_ref010","doi-asserted-by":"crossref","first-page":"223","DOI":"10.1145\/165180.165214","volume-title":"6th Functional Programming Languages and Computer Architecture","author":"Gill","year":"1993"},{"key":"S0956796800001477_ref011","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380240202"},{"key":"S0956796800001477_ref014","first-page":"471","volume-title":"Information processing","author":"Kahn","year":"1974"},{"key":"S0956796800001477_ref015","volume-title":"Functional Programming for Loosely-coupled Multiprocessors","author":"Kelly","year":"1989"},{"key":"S0956796800001477_ref016","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-55984-1_26"},{"key":"S0956796800001477_ref018","volume-title":"The Implementation of Functional Programming Languages","author":"Peyton Jones","year":"1987"},{"key":"S0956796800001477_ref021","unstructured":"Vuillemin J. E. (1973) Proof techniques for recursive programs. PhD thesis, Computer Science Department, Stanford University, October. Technical report STAN-CS-73-393."},{"key":"S0956796800001477_ref022","doi-asserted-by":"crossref","unstructured":"Wadler P. L. (1988) Deforestation: Transforming programs to eliminate trees. In: Ganzinger H. , ed., European Symposium on Programming (ESOP 88). Lecture Notes in Computer Science 300, pp. 344\u2013358. Springer-Verlag.","DOI":"10.1007\/3-540-19027-9_23"}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796800001477","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,9,20]],"date-time":"2021-09-20T03:36:40Z","timestamp":1632109000000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796800001477\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1995,10]]},"references-count":22,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1995,10]]}},"alternative-id":["S0956796800001477"],"URL":"https:\/\/doi.org\/10.1017\/s0956796800001477","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[1995,10]]}}}