{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T23:05:16Z","timestamp":1779836716522,"version":"3.53.1"},"reference-count":23,"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":4512,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[1996,7]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>The projection-based strictness analysis of Wadler and Hughes is elegant and theoretically satisfying except in one respect: the need for lifting. The domains and functions over which the analysis is performed need to be transformed, leading to a less direct correspondence between analysis and program than might be hoped for. In this paper we shall see that the projection analysis may be reformulated in terms of partial projections, so removing this infelicity. There are additional benefits of the formulation: the two forms of information captured by the projection are distinguished, and the operational significance of the range of the projection fits exactly with the theory of unboxed types.<\/jats:p>","DOI":"10.1017\/s0956796800001878","type":"journal-article","created":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T11:10:34Z","timestamp":1226056234000},"page":"563-585","source":"Crossref","is-referenced-by-count":3,"title":["Representing demand by partial projections"],"prefix":"10.1017","volume":"6","author":[{"given":"John","family":"Launchbury","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Gebreselassie","family":"Baraki","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"56","published-online":{"date-parts":[[2008,11,7]]},"reference":[{"key":"S0956796800001878_ref023","volume-title":"Proc. Workshop on Implementation of Functional Languages","author":"Wray","year":"1985"},{"key":"S0956796800001878_ref014","volume-title":"Implementing Projection-based Strictness Analysis. Department of Computing Science","author":"Kubiak","year":"1992"},{"key":"S0956796800001878_ref008","first-page":"13","volume-title":"Functional Programming: Proc. Glasgow Workshop on Functional Programming","author":"Hughes","year":"1991"},{"key":"S0956796800001878_ref021","volume-title":"Denotational Semantics","author":"Schmidt","year":"1986"},{"key":"S0956796800001878_ref015","volume-title":"Partial Evaluation and Mixed Computation: Proc. IFIP TC2 Workshop","author":"Launchbury","year":"1987"},{"key":"S0956796800001878_ref009","volume-title":"Math. Struct. in Comp. Science","volume":"2","author":"Hughes","year":"1992"},{"key":"S0956796800001878_ref007","volume-title":"Partial Evaluation and Mixed Computation: Proc. IFIP TC2 Workshop","author":"Hughes","year":"1988"},{"key":"S0956796800001878_ref005","doi-asserted-by":"crossref","unstructured":"Davis K. (1994) Projection-based program analysis, PhD thesis, Glasgow University, UK.","DOI":"10.1007\/978-1-4471-3236-3_3"},{"key":"S0956796800001878_ref003","volume-title":"Proc. ACM Symposium on Principles of Programming Languages (POPL '90)","author":"Burn","year":"1990"},{"key":"S0956796800001878_ref006","volume-title":"Proc. Workshop on Programs as Data Objects: LNCS 217","author":"Hughes","year":"1985"},{"key":"S0956796800001878_ref002","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(86)90010-9"},{"key":"S0956796800001878_ref004","volume-title":"Proc. ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM '93)","author":"Davis","year":"1993"},{"key":"S0956796800001878_ref001","volume-title":"The Lazy Lambda Calculus","author":"Abramsky","year":"1990"},{"key":"S0956796800001878_ref012","doi-asserted-by":"crossref","unstructured":"Jones N. D. and Mycroft A. (1986) Data flow analysis of applicative programs using minimal function graphs, in Proc. 13th ACM Symposium on Principles of Programming Languages, pp. 296\u2013306, St. Petersburg,FL.","DOI":"10.1145\/512644.512672"},{"key":"S0956796800001878_ref010","doi-asserted-by":"crossref","unstructured":"Hunt S. and Sands D. (1991) Binding time analysis: a new PERspective, in Proc. ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM '91). ACM SIGPLAN Notices, 26(9).","DOI":"10.1145\/115866.115881"},{"key":"S0956796800001878_ref018","unstructured":"Ong C.-H. L. (1988) The lazy lambda calculus: an investigation in the foundations of functional programming PhD Thesis, Imperial College, London, UK."},{"key":"S0956796800001878_ref022","volume-title":"Functional Programming and Computer Architecture: LNCS 274","author":"Wadler","year":"1987"},{"key":"S0956796800001878_ref016","doi-asserted-by":"crossref","unstructured":"Launchbury J. (1991a) Projection factorisations in partial evaluation. PhD thesis, Glasgow University. (Distinguished Dissertations in Computer Science, Vol 1, Cambridge: CUP.)","DOI":"10.1017\/CBO9780511569814"},{"key":"S0956796800001878_ref019","unstructured":"Plotkin G. D. (1985) Lecture Notes."},{"key":"S0956796800001878_ref020","volume-title":"Unboxed Values as First Class Citizens in a Non-strict Functional Language","author":"Peyton Jones","year":"1991"},{"key":"S0956796800001878_ref011","unstructured":"Hunt S. (1991) Abstract interpretation of functional languages: from theory to practice. PhD thesis, Imperial College, London, UK."},{"key":"S0956796800001878_ref013","volume-title":"Detecting when call-by-value can be used instead of call- by-need. Prgramming Methodology Group Memo PMG-14, Institutionen f\u00f6r Informationsbehandling","author":"Johnsson","year":"1981"},{"key":"S0956796800001878_ref017","doi-asserted-by":"crossref","unstructured":"Launchbury J. (1991b) Strictness and Binding-time analyses: Two for the price of one, in Proc. ACM Conference on Programming Language Design and Implementation. New York:ACM Press.","DOI":"10.1145\/113445.113453"}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796800001878","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T22:35:24Z","timestamp":1779834924000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796800001878\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1996,7]]},"references-count":23,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1996,7]]}},"alternative-id":["S0956796800001878"],"URL":"https:\/\/doi.org\/10.1017\/s0956796800001878","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[1996,7]]}}}