{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,6]],"date-time":"2025-08-06T12:53:16Z","timestamp":1754484796961},"reference-count":37,"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":5151,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[1994,10]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>We take Abramsky's term assignment for Intuitionistic Linear Logic (the linear term calculus) as the basis of a functional programming language. This is a language where the programmer must embed explicitly the resource and control information of an algorithm. We give a type reconstruction algorithm for our language in the style of Milner's <jats:italic>W<\/jats:italic> algorithm, together with a description of the implementation and examples of use.<\/jats:p>","DOI":"10.1017\/s0956796800001131","type":"journal-article","created":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T11:12:40Z","timestamp":1226056360000},"page":"395-433","source":"Crossref","is-referenced-by-count":24,"title":["Lilac: a functional programming language based on linear logic"],"prefix":"10.1017","volume":"4","author":[{"given":"Ian","family":"Mackie","sequence":"first","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2008,11,7]]},"reference":[{"key":"S0956796800001131_ref031","volume-title":"Current Trends in Theoretical Computer Science","author":"Scedrov","year":"1993"},{"key":"S0956796800001131_ref029","doi-asserted-by":"publisher","DOI":"10.1145\/321250.321253"},{"key":"S0956796800001131_ref033","volume-title":"Programming Concepts and Methods","author":"Wadler","year":"1990"},{"key":"S0956796800001131_ref023","doi-asserted-by":"publisher","DOI":"10.1007\/BF00873993"},{"key":"S0956796800001131_ref015","doi-asserted-by":"crossref","unstructured":"Gonthier G. , Abadi M. & L\u00e9vy J.-J. (1992) The geometry of optimal lambda reduction. In: Proceedings of ACM Symposium Principles of Programming Languages, pp. 15\u201326.","DOI":"10.1145\/143165.143172"},{"key":"S0956796800001131_ref017","first-page":"13","volume-title":"Proceedings of the Workshop on Implementation of Lazy Functional Languages","author":"Holmstr\u00f6m","year":"1988"},{"key":"S0956796800001131_ref006","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-57208-2_1"},{"key":"S0956796800001131_ref019","unstructured":"Lafont Y. (1988b) Logiques, Cat\u00e9gories and Machines. PhD thesis, Universit\u00e9 de Paris 7."},{"key":"S0956796800001131_ref035","unstructured":"Wadler P. (1992) There's no substitute for linear logic. Presented at Workshop on Mathematical Foundations of Programming Language Semantics."},{"key":"S0956796800001131_ref018","unstructured":"Lafont Y. (1988 a) Introduction to linear logic. Lecture Notes for the Summerschool on Constructive Logics and Category Theory, Isle of Thorns."},{"key":"S0956796800001131_ref032","volume-title":"Constructive foundations for Functional Programming","author":"Turner","year":"1991"},{"key":"S0956796800001131_ref021","unstructured":"Lincoln P. & Mitchell J. (1992) Operational aspects of linear lambda calculus. In: Proceedings 7th IEEE Symposium Logic in Computer Science, Santa Cruz, CA."},{"key":"S0956796800001131_ref001","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796800000186"},{"key":"S0956796800001131_ref037","doi-asserted-by":"crossref","unstructured":"Wakeling D. (1990) Linearity and Laziness. PhD thesis, University of York.","DOI":"10.1007\/3540543961_11"},{"key":"S0956796800001131_ref009","unstructured":"Damas L. (1985) Type Assignment in Programming Languages. PhD thesis, University of Edinburgh."},{"key":"S0956796800001131_ref008","doi-asserted-by":"crossref","unstructured":"Chirimar J. , Gunter C. & Rieke J. (1991), Proving memory management invariants for a language based on linear logic, Technical report, University of Pennsylvania, Department of Computer and Information Science.","DOI":"10.1145\/141478.141527"},{"key":"S0956796800001131_ref012","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(87)90045-4"},{"key":"S0956796800001131_ref003","volume-title":"Abstract Interpretation for Declarative Languages","author":"Abramsky","year":"1987"},{"key":"S0956796800001131_ref004","volume-title":"Term assignment for intuitionistic linear logic","author":"Benton","year":"1992"},{"key":"S0956796800001131_ref002","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(93)90181-R"},{"key":"S0956796800001131_ref011","volume-title":"Functional Programming","author":"Field","year":"1988"},{"key":"S0956796800001131_ref034","doi-asserted-by":"crossref","unstructured":"Wadler P. (1991) Is there a use for linear logic? In: Conference on Partial Evaluation and Semantics-Based Program Manipulation (PEPM).ACM Press,New Haven, CT.","DOI":"10.1145\/115865.115894"},{"key":"S0956796800001131_ref025","volume-title":"The Definition of Standard ML","author":"Milner","year":"1990"},{"key":"S0956796800001131_ref027","volume-title":"The Implementation of Functional Programming Languages","author":"Peyton Jones","year":"1987"},{"key":"S0956796800001131_ref007","doi-asserted-by":"publisher","DOI":"10.1145\/321992.321996"},{"key":"S0956796800001131_ref036","volume-title":"Mathematical Foundations of Computer Science","author":"Wadler","year":"1993"},{"key":"S0956796800001131_ref014","volume-title":"Proofs and Types","volume":"7","author":"Girard","year":"1989"},{"key":"S0956796800001131_ref028","volume-title":"A structural approach to operational semantics","author":"Plotkin","year":"1981"},{"key":"S0956796800001131_ref013","doi-asserted-by":"publisher","DOI":"10.1090\/conm\/092\/1003197"},{"key":"S0956796800001131_ref016","volume-title":"Functional Programming: Applications and Implementation","author":"Henderson","year":"1980"},{"key":"S0956796800001131_ref024","doi-asserted-by":"publisher","DOI":"10.1016\/0022-0000(78)90014-4"},{"key":"S0956796800001131_ref022","unstructured":"Mackie I. (1991) Lilac: A functional programming language based on linear logic. Master's thesis, Imperial College of Science, Technology and Medicine, University of London."},{"key":"S0956796800001131_ref026","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0013458"},{"key":"S0956796800001131_ref030","unstructured":"Roversi L. (1992) A compiler from curry-typed-\u03bb-terms to the linear-\u03bb-terms. In: Proceedings of the IV Convegno italiano di informatica teorica, World Scientific (to appear)."},{"key":"S0956796800001131_ref010","unstructured":"Damas L. & Milner R. (1982) Principal type schemes for functional programs. In: Conference Record of the Ninth Annual ACM Symposium on the Principles of Programming Languages, pp. 207\u2013212."},{"key":"S0956796800001131_ref020","doi-asserted-by":"publisher","DOI":"10.1145\/130956.130958"},{"key":"S0956796800001131_ref005","volume-title":"Type systems, linearity and functional programming","author":"Bierman","year":"1992"}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796800001131","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,14]],"date-time":"2019-05-14T22:27:29Z","timestamp":1557872849000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796800001131\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1994,10]]},"references-count":37,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1994,10]]}},"alternative-id":["S0956796800001131"],"URL":"https:\/\/doi.org\/10.1017\/s0956796800001131","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[1994,10]]}}}