{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,12]],"date-time":"2025-11-12T01:56:16Z","timestamp":1762912576865,"version":"3.45.0"},"reference-count":24,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2022,10,1]],"date-time":"2022-10-01T00:00:00Z","timestamp":1664582400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2022,10,1]],"date-time":"2022-10-01T00:00:00Z","timestamp":1664582400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2022,10,1]],"date-time":"2022-10-01T00:00:00Z","timestamp":1664582400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-017"},{"start":{"date-parts":[[2022,10,1]],"date-time":"2022-10-01T00:00:00Z","timestamp":1664582400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"},{"start":{"date-parts":[[2022,10,1]],"date-time":"2022-10-01T00:00:00Z","timestamp":1664582400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-012"},{"start":{"date-parts":[[2022,10,1]],"date-time":"2022-10-01T00:00:00Z","timestamp":1664582400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2022,10,1]],"date-time":"2022-10-01T00:00:00Z","timestamp":1664582400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-004"}],"funder":[{"DOI":"10.13039\/501100002322","name":"Coordena\u00e7\u00e3o de Aperfei\u00e7oamento de Pessoal de N\u00edvel Superior","doi-asserted-by":"publisher","award":["001"],"award-info":[{"award-number":["001"]}],"id":[{"id":"10.13039\/501100002322","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100003593","name":"Conselho Nacional de Desenvolvimento Cient\u00edfico e Tecnol\u00f3gico","doi-asserted-by":"publisher","award":["153918\/2015-2","305001\/2017-5"],"award-info":[{"award-number":["153918\/2015-2","305001\/2017-5"]}],"id":[{"id":"10.13039\/501100003593","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Journal of Computer Languages"],"published-print":{"date-parts":[[2022,10]]},"DOI":"10.1016\/j.cola.2022.101151","type":"journal-article","created":{"date-parts":[[2022,8,24]],"date-time":"2022-08-24T13:03:02Z","timestamp":1661346182000},"page":"101151","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":0,"special_numbering":"C","title":["A surprisingly simple Lua compiler\u2014Extended version"],"prefix":"10.1016","volume":"72","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2444-1209","authenticated-orcid":false,"given":"Hugo Musso","family":"Gualandi","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2263-4955","authenticated-orcid":false,"given":"Roberto","family":"Ierusalimschy","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/j.cola.2022.101151_b1","doi-asserted-by":"crossref","DOI":"10.1016\/j.scico.2020.102393","article-title":"Pallene: A companion language for Lua","volume":"189","author":"Gualandi","year":"2020","journal-title":"Sci. Comput. Program."},{"issue":"4","key":"10.1016\/j.cola.2022.101151_b2","doi-asserted-by":"crossref","first-page":"381","DOI":"10.1023\/A:1010095604496","article-title":"Partial evaluation of computation process\u2013An approach to a compiler-compiler","volume":"12","author":"Futamura","year":"1999","journal-title":"High.-Order Symb. Comput."},{"article-title":"Partial evaluation and automatic program generation","year":"1993","author":"Neil D. Jones","key":"10.1016\/j.cola.2022.101151_b3"},{"key":"10.1016\/j.cola.2022.101151_b4","series-title":"Proceedings of the 25th Brazilian Symposium on Programming Languages","article-title":"A surprisingly simple lua compiler","author":"Gualandi","year":"2021"},{"issue":"7","key":"10.1016\/j.cola.2022.101151_b5","first-page":"1159","article-title":"The implementation of Lua 5.0","volume":"11","author":"Ierusalimschy","year":"2005","journal-title":"J. Univ. Comput. Sci."},{"issue":"5","key":"10.1016\/j.cola.2022.101151_b6","article-title":"The structure and performance of efficient interpreters","author":"Ertl","year":"2003","journal-title":"J. Instr.-Level Parall."},{"year":"2021","series-title":"LuaAOT 5.4 source code repository","author":"Gualandi","key":"10.1016\/j.cola.2022.101151_b7"},{"year":"2004","series-title":"Revisitando co-rotinas","author":"de Moura","key":"10.1016\/j.cola.2022.101151_b8"},{"issue":"7","key":"10.1016\/j.cola.2022.101151_b9","first-page":"910","article-title":"Coroutines in Lua","volume":"10","author":"de Moura","year":"2004","journal-title":"J. Univ. Comput. Sci."},{"year":"2022","series-title":"Lua test suite","author":"Ierusalimschy","key":"10.1016\/j.cola.2022.101151_b10"},{"year":"2005","series-title":"LuaJIT, A just-in-time compiler for Lua","author":"Pall","key":"10.1016\/j.cola.2022.101151_b11"},{"year":"2013","series-title":"The computer language benchmarks game","author":"Gouy","key":"10.1016\/j.cola.2022.101151_b12"},{"key":"10.1016\/j.cola.2022.101151_b13","series-title":"Proceedings of the 12th Symposium on Dynamic Languages","first-page":"120","article-title":"Cross-language compiler benchmarking: Are we fast yet?","author":"Marr","year":"2016"},{"year":"2019","series-title":"The teal compiler","author":"Muhamma","key":"10.1016\/j.cola.2022.101151_b14"},{"year":"2021","series-title":"Lua 5.4 interpreter source code","author":"Ierusalimschy","key":"10.1016\/j.cola.2022.101151_b15"},{"key":"10.1016\/j.cola.2022.101151_b16","series-title":"Compiler Construction","first-page":"251","article-title":"Partial evaluation of C and automatic compiler generation","author":"Andersen","year":"1992"},{"issue":"1","key":"10.1016\/j.cola.2022.101151_b17","doi-asserted-by":"crossref","first-page":"307","DOI":"10.1016\/j.scico.2004.03.010","article-title":"Transformation by interpreter specialisation","volume":"52","author":"Jones","year":"2004","journal-title":"Sci. Comput. Program."},{"key":"10.1016\/j.cola.2022.101151_b18","series-title":"Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software","first-page":"187","article-title":"One VM to rule them all","author":"W\u00fcrthinger","year":"2013"},{"key":"10.1016\/j.cola.2022.101151_b19","series-title":"Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation","first-page":"662","article-title":"Practical partial evaluation for high-performance dynamic language runtimes","author":"W\u00fcrthinger","year":"2017"},{"year":"2010","series-title":"Understanding the Potential of Interpreter-Based Optimizations For Python","author":"Mostafa","key":"10.1016\/j.cola.2022.101151_b20"},{"key":"10.1016\/j.cola.2022.101151_b21","unstructured":"Gerg\u00f6 Barany, pylibjit: A JIT Compiler Library for Python, in: Software Engineering (Workshops), 2014, pp. 213\u2013224."},{"year":"2004","series-title":"GNU libjit","author":"Weatherley","key":"10.1016\/j.cola.2022.101151_b22"},{"key":"10.1016\/j.cola.2022.101151_b23","series-title":"Proceedings of the Workshop on Dynamic Languages and Applications","first-page":"5:1","article-title":"Python interpreter performance deconstructed","author":"Barany","year":"2014"},{"year":"2010","series-title":"Design and Implementation of an Ahead-of-Time Compiler for PHP","author":"Biggar","key":"10.1016\/j.cola.2022.101151_b24"}],"container-title":["Journal of Computer Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S259011842200048X?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S259011842200048X?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,11,12]],"date-time":"2025-11-12T01:53:30Z","timestamp":1762912410000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S259011842200048X"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,10]]},"references-count":24,"alternative-id":["S259011842200048X"],"URL":"https:\/\/doi.org\/10.1016\/j.cola.2022.101151","relation":{},"ISSN":["2590-1184"],"issn-type":[{"type":"print","value":"2590-1184"}],"subject":[],"published":{"date-parts":[[2022,10]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"A surprisingly simple Lua compiler\u2014Extended version","name":"articletitle","label":"Article Title"},{"value":"Journal of Computer Languages","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.cola.2022.101151","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2022 Elsevier Ltd. All rights reserved.","name":"copyright","label":"Copyright"}],"article-number":"101151"}}