{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,4,21]],"date-time":"2022-04-21T22:40:42Z","timestamp":1650580842900},"reference-count":16,"publisher":"Cambridge University Press (CUP)","issue":"7","license":[{"start":{"date-parts":[[2014,11,10]],"date-time":"2014-11-10T00:00:00Z","timestamp":1415577600000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Math. Struct. Comp. Sci."],"published-print":{"date-parts":[[2015,10]]},"abstract":"<jats:p>Although the language Lucid was not originally intended to support computing with infinite data structures, the notion of (infinite) sequence quickly came to the fore, together with a demand-driven computation model in which demands are propagated for the values of particular values at particular index points. This naturally generalized to sequences of multiple dimensions so that a programmer could, for example, write a program that could be understood as a (nonterminating) loop in which one of the loop variables is an infinite vector.<\/jats:p><jats:p>Programmers inevitably found use for more and more dimensions, which led to a problem which is fully solved for the first time in this paper. The problem is that the implementation's cache requires some estimate of the dimensions actually used to compute a value being fetched. This estimate can be difficult or (if dimensions are passed as parameters) impossible to obtain, and the demand-driven evaluation model for Lucid breaks down.<\/jats:p><jats:p>We outline the evolution of Lucid which gave rise to this problem, and outline the solution, as used for the implementation of TransLucid, the latest descendant of Lucid.<\/jats:p>","DOI":"10.1017\/s0960129513000388","type":"journal-article","created":{"date-parts":[[2014,11,10]],"date-time":"2014-11-10T17:38:57Z","timestamp":1415641137000},"page":"1546-1568","source":"Crossref","is-referenced-by-count":0,"title":["Multidimensional infinite data in the language Lucid"],"prefix":"10.1017","volume":"25","author":[{"given":"JARRYD P.","family":"BECK","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"JOHN","family":"PLAICE","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"WILLIAM W.","family":"WADGE","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"56","published-online":{"date-parts":[[2014,11,10]]},"reference":[{"key":"S0960129513000388_ref14","doi-asserted-by":"crossref","unstructured":"Rahilly T. and Plaice J. (2008) A Multithreaded Implementation for TransLucid. In: Proceedings of the 32nd Annual IEEE International Computer Software and Applications Conference 1272\u20131277.","DOI":"10.1109\/COMPSAC.2008.192"},{"key":"S0960129513000388_ref4","doi-asserted-by":"publisher","DOI":"10.1145\/359636.359715"},{"key":"S0960129513000388_ref11","unstructured":"Plaice J. and Beck J. P. (2012) Higher-order Multidimensional Programming. Report UNSW-CSE-TR-2012-15, School of Computer Science and Engineering, The University of New South Wales, Sydney, Australia. ftp:\/\/ftp.cse.unsw.edu.au\/pub\/doc\/papers\/UNSW\/201215.pdf."},{"key":"S0960129513000388_ref6","doi-asserted-by":"publisher","DOI":"10.1145\/1039511.1039523"},{"key":"S0960129513000388_ref13","doi-asserted-by":"crossref","unstructured":"Plaice J. , Mancilla B. , Ditu G. and Wadge W. W. (2008) Sequential demand-driven evaluation of Eager TransLucid. In: Proceedings of the 32nd Annual IEEE International Computer Software and Applications Conference 1266\u20131271.","DOI":"10.1109\/COMPSAC.2008.191"},{"key":"S0960129513000388_ref10","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45111-0_18"},{"key":"S0960129513000388_ref5","doi-asserted-by":"crossref","unstructured":"Faustini A. A. and Wadge W. W. (1987) An eductive interpreter for the language pLucid. In: Proceedings of the ACM Symposium on Interpreters and Interpretive Techniques 86\u201391.","DOI":"10.1145\/29650.29659"},{"key":"S0960129513000388_ref9","first-page":"259","volume-title":"Intensional Programming II","author":"Paquet","year":"2000"},{"key":"S0960129513000388_ref8","unstructured":"Paquet J. (1999) Intensional Scientific Programming, Ph.D. thesis, Department of Computer Science, Laval University, Qu\u00e9bec, Canada."},{"key":"S0960129513000388_ref3","doi-asserted-by":"publisher","DOI":"10.1137\/0205029"},{"key":"S0960129513000388_ref16","volume-title":"Lucid, the Dataflow Programming Language","author":"Wadge","year":"1985"},{"key":"S0960129513000388_ref7","unstructured":"Kahn G. (1974) The semantics of simple language for parallel programming. In: IFIP Congress 471\u2013475."},{"key":"S0960129513000388_ref12","doi-asserted-by":"publisher","DOI":"10.1007\/s11786-008-0043-9"},{"key":"S0960129513000388_ref1","doi-asserted-by":"crossref","DOI":"10.1093\/oso\/9780195075977.001.0001","volume-title":"Multidimensional Declarative Programming","author":"Ashcroft","year":"1995"},{"key":"S0960129513000388_ref2","unstructured":"Ashcroft E. A. and Wadge W. W. (1975) Program Proving Without Tears. Technical Report CS-75-03, Department of Computer Science, University of Waterloo, Waterloo, Canada. Presented to the Symposium on Proving and Improving Programs, Huet, G. and Kahn G. (eds.) held in Arc-et-Senans, France, 1\u20133 July 1975, 99\u2013114, IRIA, http:\/\/www.cs.uwaterloo.ca\/research\/tr\/1975\/CS-75-03.pdf."},{"key":"S0960129513000388_ref15","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796899003445"}],"container-title":["Mathematical Structures in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0960129513000388","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,4,21]],"date-time":"2022-04-21T22:03:00Z","timestamp":1650578580000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0960129513000388\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,11,10]]},"references-count":16,"journal-issue":{"issue":"7","published-print":{"date-parts":[[2015,10]]}},"alternative-id":["S0960129513000388"],"URL":"https:\/\/doi.org\/10.1017\/s0960129513000388","relation":{},"ISSN":["0960-1295","1469-8072"],"issn-type":[{"value":"0960-1295","type":"print"},{"value":"1469-8072","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,11,10]]}}}