{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T23:05:12Z","timestamp":1779836712106,"version":"3.53.1"},"reference-count":0,"publisher":"Cambridge University Press (CUP)","issue":"2","license":[{"start":{"date-parts":[[1997,3,1]],"date-time":"1997-03-01T00:00:00Z","timestamp":857174400000},"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":[[1997,3]]},"abstract":"<jats:p>\n                    This paper describes E\n                    <jats:sc>QUALS<\/jats:sc>\n                    , a fast parallel implementation of \na lazy functional language \non a commercially available shared-memory parallel machine, the Sequent Symmetry. \nIn contrast to previous implementations, we propagate normal form demand at \ncompile time as \nwell as run time, and detect parallelism automatically using strictness analysis. \nThe E\n                    <jats:sc>QUALS<\/jats:sc>\n                    implementation indicates the effectiveness of NF-demand propagation in \nidentifying significant parallelism and in achieving good sequential as well \nas parallel performance. Another \nimportant difference between E\n                    <jats:sc>QUALS<\/jats:sc>\n                    and previous implementations is \nthe use of reference \ncounting for memory management, instead of mark-and-sweep or copying garbage \ncollection. Implementation results show that reference counting leads to very good \nscalability and low \nmemory requirements, and offers sequential performance comparable to generational \ngarbage collectors. We compare the performance of E\n                    <jats:sc>QUALS<\/jats:sc>\n                    with that of other \nparallel implementations (the \u3008\n                    <jats:italic>v<\/jats:italic>\n                    ,\n                    <jats:italic>G<\/jats:italic>\n                    \u3009-machine and \nGAML) as well as with the performance of SML\/NJ, a \nsequential implementation of a strict language.\n                  <\/jats:p>","DOI":"10.1017\/s0956796897002669","type":"journal-article","created":{"date-parts":[[2002,7,27]],"date-time":"2002-07-27T09:26:15Z","timestamp":1027761975000},"page":"183-217","source":"Crossref","is-referenced-by-count":7,"title":["E\n                    <scp>QUALS<\/scp>\n                    \u2013 a fast parallel implementation of a lazy \nlanguage"],"prefix":"10.1017","volume":"7","author":[{"given":"OWEN","family":"KASER","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"C. R.","family":"RAMAKRISHNAN","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"I. V.","family":"RAMAKRISHNAN","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"R. C.","family":"SEKAR","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"56","published-online":{"date-parts":[[1997,3,1]]},"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796897002669","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T22:34:48Z","timestamp":1779834888000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796897002669\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1997,3]]},"references-count":0,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1997,3]]}},"alternative-id":["S0956796897002669"],"URL":"https:\/\/doi.org\/10.1017\/s0956796897002669","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[1997,3]]}}}