{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T23:05:13Z","timestamp":1779836713642,"version":"3.53.1"},"reference-count":19,"publisher":"Cambridge University Press (CUP)","issue":"1","license":[{"start":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T00:00:00Z","timestamp":1226016000000},"content-version":"unspecified","delay-in-days":5424,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[1994,1]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>In this paper we present an equivalence between TIM, a machine developed to implement non-strict functional programming languages, and the set of Categorical Multi-Combinators, a rewriting system developed with similar aims. These two models of computation at first appear to be quite different, but we show a direct equivalence between them, thereby adding some new structure to the \u2018design-space\u2019 of abstract machines for non-strict languages.<\/jats:p>","DOI":"10.1017\/s0956796800000939","type":"journal-article","created":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T11:13:10Z","timestamp":1226056390000},"page":"47-63","source":"Crossref","is-referenced-by-count":5,"title":["On the equivalence between CMC and TIM"],"prefix":"10.1017","volume":"4","author":[{"given":"Rafael D.","family":"Lins","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Simon J.","family":"Thompson","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Simon Peyton","family":"Jones","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"56","published-online":{"date-parts":[[2008,11,7]]},"reference":[{"key":"S0956796800000939_ref017","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/35.2.170"},{"key":"S0956796800000939_ref015","volume-title":"The Implementation of Functional Languages","author":"Peyton Jones","year":"1987"},{"key":"S0956796800000939_ref014","doi-asserted-by":"publisher","DOI":"10.1016\/S0165-6074(08)80048-8"},{"key":"S0956796800000939_ref013","unstructured":"Meijer E. (1992) Calculating Compilers. PhD thesis, University of Nijmegen, 02."},{"key":"S0956796800000939_ref012","volume-title":"Cleaning up the design space of function evaluating machines","author":"Meijer","year":"1989"},{"key":"S0956796800000939_ref011","unstructured":"Lins R. D. and Thompson S. J. (1990 b) CM-CM: A categorical multi-combinator machine. In Proc. XVI Latino-American Conf. on Informatics, vol(1) - pp. 181\u2013198, Asunci\u00f3n,Paraguay."},{"key":"S0956796800000939_ref009","article-title":"\u0393CMC: A Novel Way to Implement Functional Languages","author":"Lins","year":"1993","journal-title":"Journal of Programming Language Design and Implementation"},{"key":"S0956796800000939_ref008","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-18317-5_5"},{"key":"S0956796800000939_ref007","unstructured":"Lins R. D. (1986) On the Efficiency of Categorical Combinators in Applicative Languages. PhD thesis, University of Kent at Canterbury."},{"key":"S0956796800000939_ref010","first-page":"1137","article-title":"Implementing SASL using categorical multicombinators","volume":"20","author":"Lins","year":"1990","journal-title":"IEEE Trans. Softw. \u2014 Practice and Experience"},{"key":"S0956796800000939_ref002","doi-asserted-by":"crossref","unstructured":"Fairbairn J. and Wray S. (1987) Tim: A simple, lazy abstract machine to execute supercombinators. In Proc. 3rd Int. Conf. on Functional Programming and Computer Architecture. Volume 274 of Lecture Notes in Computer Science. Springer-Verlag, pp. 34\u201345.","DOI":"10.1007\/3-540-18317-5_3"},{"key":"S0956796800000939_ref016","volume-title":"Implementing Functional Languages: A Tutorial","author":"Peyton Jones","year":"1992"},{"key":"S0956796800000939_ref019","unstructured":"Wraith G. and Bosley D. (1988) Private communication."},{"key":"S0956796800000939_ref018","volume-title":"Correctness of procedure representations","author":"Wand","year":"1991"},{"key":"S0956796800000939_ref001","volume-title":"Functional Programming Languages and Computer Architecture","author":"Argo","year":"1989"},{"key":"S0956796800000939_ref003","volume-title":"Functional Programming Languages and Computer Architecture (FPCA)","volume":"523","author":"Hannan","year":"1991"},{"key":"S0956796800000939_ref004","unstructured":"Johnsson T. (1989) Compiling Lazy Functional Languages. PhD thesis, Chalmers Tekniska H\u00f6gskola, G\u00f6teborg, Sweden."},{"key":"S0956796800000939_ref005","unstructured":"Kelsey R. and Hudak P. (1989) Realistic compilation by program transformation. In Proc. ACM Conf. on Principles of Programming Lang., pp. 281\u2013292."},{"key":"S0956796800000939_ref006","unstructured":"Lester D. (1989) Combinator graph reduction: a congruence and its applications. PhD Thesis, Programming Research Group, Oxford."}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796800000939","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T22:35:15Z","timestamp":1779834915000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796800000939\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1994,1]]},"references-count":19,"journal-issue":{"issue":"1","published-print":{"date-parts":[[1994,1]]}},"alternative-id":["S0956796800000939"],"URL":"https:\/\/doi.org\/10.1017\/s0956796800000939","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[1994,1]]}}}