{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:28:26Z","timestamp":1750307306750,"version":"3.41.0"},"reference-count":8,"publisher":"Association for Computing Machinery (ACM)","issue":"5","license":[{"start":{"date-parts":[[2011,5,1]],"date-time":"2011-05-01T00:00:00Z","timestamp":1304208000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Queue"],"published-print":{"date-parts":[[2011,5]]},"abstract":"<jats:p>Scripting languages are an important element in the current landscape of programming languages. A key feature of a scripting language is its ability to integrate with a system language. This integration takes two main forms: extending and embedding. In the first form, you extend the scripting language with libraries and functions written in the system language and write your main program in the scripting language. In the second form, you embed the scripting language in a host program (written in the system language) so that the host can run scripts and call functions defined in the scripts; the main program is the host program. In this setting, the system language is usually called the host language.<\/jats:p>","DOI":"10.1145\/1978862.1983083","type":"journal-article","created":{"date-parts":[[2012,10,15]],"date-time":"2012-10-15T19:22:23Z","timestamp":1350328943000},"page":"20-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Passing a Language through the Eye of a Needle"],"prefix":"10.1145","volume":"9","author":[{"given":"Roberto","family":"Ierusalimschy","sequence":"first","affiliation":[{"name":"PUC-Rio"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Luiz Henrique","family":"de Figueiredo","sequence":"additional","affiliation":[{"name":"National Institute for Pure and Applied Mathematics in Rio de Janeiro"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Waldemar","family":"Celes","sequence":"additional","affiliation":[{"name":"PUC-Rio"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2011,5,12]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1462166.1462167"},{"key":"e_1_2_1_2_1","volume-title":"The engine survey: general results. Gamasutra","author":"DeLoura M.","year":"2009","unstructured":"DeLoura , M. 2009. The engine survey: general results. Gamasutra ; http:\/\/www.gamasutra.com\/blogs\/MarkDeLoura\/ 2009 0302\/581\/The_Engine_Survey_General_results.php. DeLoura, M. 2009. The engine survey: general results. Gamasutra; http:\/\/www.gamasutra.com\/blogs\/MarkDeLoura\/20090302\/581\/The_Engine_Survey_General_results.php."},{"volume-title":"Programming in Lua","author":"Ierusalimschy R.","key":"e_1_2_1_3_1","unstructured":"Ierusalimschy , R. 2006. Programming in Lua , second edition. Lua.org, Rio de Janeiro, Brazil . Ierusalimschy, R. 2006. Programming in Lua, second edition. Lua.org, Rio de Janeiro, Brazil."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/229593.229595"},{"issue":"7","key":"e_1_2_1_5_1","article-title":"The implementation of Lua 5.0","volume":"11","author":"Ierusalimschy R.","year":"2005","unstructured":"Ierusalimschy , R. , de Figueiredo , L. H. , Celes , W. 2005 . The implementation of Lua 5.0 . Journal of Universal Computer Science 11 ( 7 ): 1159\u00bf1176. Ierusalimschy, R., de Figueiredo, L. H., Celes, W. 2005. The implementation of Lua 5.0. Journal of Universal Computer Science 11(7): 1159\u00bf1176.","journal-title":"Journal of Universal Computer Science"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1238844.1238846"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.660187"},{"key":"e_1_2_1_8_1","unstructured":"Python Software Foundation. 2011. Extending and embedding the Python interpreter release 2.7 (April); http:\/\/docs.python.org\/extending\/.  Python Software Foundation. 2011. Extending and embedding the Python interpreter release 2.7 (April); http:\/\/docs.python.org\/extending\/."}],"container-title":["Queue"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1978862.1983083","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1978862.1983083","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T11:00:01Z","timestamp":1750244401000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1978862.1983083"}},"subtitle":["How the embeddability of Lua impacted its design"],"short-title":[],"issued":{"date-parts":[[2011,5]]},"references-count":8,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2011,5]]}},"alternative-id":["10.1145\/1978862.1983083"],"URL":"https:\/\/doi.org\/10.1145\/1978862.1983083","relation":{},"ISSN":["1542-7730","1542-7749"],"issn-type":[{"type":"print","value":"1542-7730"},{"type":"electronic","value":"1542-7749"}],"subject":[],"published":{"date-parts":[[2011,5]]},"assertion":[{"value":"2011-05-12","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}