{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:33:25Z","timestamp":1750221205427,"version":"3.41.0"},"publisher-location":"New York, New York, USA","reference-count":37,"publisher":"ACM Press","license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1145\/3237009.3237018","type":"proceedings-article","created":{"date-parts":[[2018,8,30]],"date-time":"2018-08-30T14:00:37Z","timestamp":1535637637000},"page":"1-14","source":"Crossref","is-referenced-by-count":2,"title":["Specializing a meta-interpreter"],"prefix":"10.1145","author":[{"given":"Vlad","family":"Vergu","sequence":"first","affiliation":[{"name":"TU Delft, The Netherlands"}]},{"given":"Eelco","family":"Visser","sequence":"additional","affiliation":[{"name":"TU Delft, The Netherlands"}]}],"member":"320","reference":[{"key":"key-10.1145\/3237009.3237018-1","doi-asserted-by":"crossref","unstructured":"Nada Amin and Tiark Rompf. 2018. Collapsing towers of interpreters.PACMPL2, POPL (2018).","DOI":"10.1145\/3158140"},{"key":"key-10.1145\/3237009.3237018-2","doi-asserted-by":"crossref","unstructured":"Davide Ancona, Massimo Ancona, Antonio Cuni, and Nicholas D. Matsakis. 2007. RPython: a step towards reconciling dynamically and statically typed OO languages. InProceedings of the 2007 Symposium on Dynamic Languages, DLS 2007, October 22, 2007, Montreal, Quebec, Canada, Pascal Costanza and Robert Hirschfeld (Eds.). ACM, 53--64.","DOI":"10.1145\/1297081.1297091"},{"key":"key-10.1145\/3237009.3237018-3","doi-asserted-by":"crossref","unstructured":"Andrew W. Appel. 1998.Modern Compiler Implementation in ML.Cambridge University Press.","DOI":"10.1017\/CBO9780511811449"},{"key":"key-10.1145\/3237009.3237018-4","doi-asserted-by":"crossref","unstructured":"Spenser Bauman, Carl Friedrich Bolz, Robert Hirschfeld, Vasily Kirilichev, Tobias Pape, Jeremy G. Siek, and Sam Tobin-Hochstadt. 2015. Pycket: a tracing JIT for a functional language. InProceedings of the 20th ACM SIGPLAN International Conference on Functional Programming, ICFP 2015, Vancouver, BC, Canada, September 1--3, 2015, Kathleen Fisher and John H. Reppy (Eds.). ACM, 22--34.","DOI":"10.1145\/2784731.2784740"},{"key":"key-10.1145\/3237009.3237018-5","unstructured":"Hubert Baumeister, Harald Ganzinger, Georg Heeg, and Michael R&#252;ger. 1987. Smalltalk-80.it - Information Technology29, 4 (1987), 241--251."},{"key":"key-10.1145\/3237009.3237018-6","doi-asserted-by":"crossref","unstructured":"Denis Bogdanas and Grigore Rosu. 2015. K-Java: A Complete Semantics of Java. InProceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015, Mumbai, India, January 15--17, 2015, Sriram K. Rajamani and David Walker (Eds.). ACM, 445--456.","DOI":"10.1145\/2676726.2676982"},{"key":"key-10.1145\/3237009.3237018-7","unstructured":"Carl Friedrich Bolz. 2014.Meta-Tracing Just-in-Time Compilation for RPython.Ph.D. Dissertation. Heinrich Heine University D&#252;sseldorf. https:\/\/doi.org\/1057957054"},{"key":"key-10.1145\/3237009.3237018-8","doi-asserted-by":"crossref","unstructured":"Martin Churchill, Peter D. Mosses, Neil Sculthorpe, and Paolo Torrini. 2015. Reusable Components of Semantic Specifications.Transactions on Aspect-Oriented Software Development12 (2015), 132--179.","DOI":"10.1007\/978-3-662-46734-3_4"},{"key":"key-10.1145\/3237009.3237018-9","unstructured":"Manuel Clavel, Francisco Dur&#225;n, Steven Eker, Patrick Lincoln, Narciso Marti-Oliet, Jos&#233; Meseguer, and Jose F. Quesada. 1999. The Maude System. InRewriting Techniques and Applications, 10th International Conference, RTA-99, Trento, Italy, July 2--4, 1999, Proceedings (Lecture Notes in Computer Science), Paliath Narendran and Micha&#235;l Rusinowitch (Eds.), Vol. 1631. Springer, 240--243. https:\/\/doi.org\/link\/service\/series\/0558\/bibs\/1631\/16310240.htm"},{"key":"key-10.1145\/3237009.3237018-10","doi-asserted-by":"crossref","unstructured":"Chucky Ellison and Grigore Rosu. 2012. An executable formal semantics of C with applications. InProceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2012, Philadelphia, Pennsylvania, USA, January 22--28, 2012, John Field and Michael Hicks (Eds.). ACM, 533--544.","DOI":"10.1145\/2103656.2103719"},{"key":"key-10.1145\/3237009.3237018-11","unstructured":"Matthias Felleisen, Robby Findler, and Matthew Flatt. 2009.Semantics Engineering with PLT Redex.MIT Press."},{"key":"key-10.1145\/3237009.3237018-12","unstructured":"Matthias Felleisen, Robby Findler, Matthew Flatt, Shriram Krishnamurthi, Eli Barzilay, JayA. McCarthy, and Sam Tobin-Hochstadt. 2015. The Racket Manifesto. In1st Summit on Advances in Programming Languages, SNAPL 2015, May 3--6, 2015, Asilomar, California, USA (LIPIcs), Thomas Ball, Rastislav Bodik, Shriram Krishnamurthi, Benjamin S. Lerner, and Greg Morrisett (Eds.), Vol. 32. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 113--128."},{"key":"key-10.1145\/3237009.3237018-13","doi-asserted-by":"crossref","unstructured":"Yoshihiko Futamura. 1999. Partial Evaluation of Computation Process - An Approach to a Compiler-Compiler.Higher-Order and Symbolic Computation12, 4 (1999), 381--391. https:\/\/doi.org\/content\/l46w6q3720n57607\/","DOI":"10.1023\/A:1010095604496"},{"key":"key-10.1145\/3237009.3237018-14","doi-asserted-by":"crossref","unstructured":"Yoshihiko Futamura. 1999. Partial Evaluation of Computation Process, Revisited.Higher-Order and Symbolic Computation12, 4 (1999), 377--380.","DOI":"10.1023\/A:1010043619517"},{"key":"key-10.1145\/3237009.3237018-15","doi-asserted-by":"crossref","unstructured":"Christian Humer, Christian Wimmer, Christian Wirth, Andreas W&#246;&#223;, and Thomas W&#252;rthinger. 2014. A domain-specific language for building self-optimizing AST interpreters. InGenerative Programming: Concepts and Experiences, GPCE'14, Vasteras, Sweden, September 15--16, 2014, Ulrik Pagh Schultz and Matthew Flatt (Eds.). ACM, 123--132.","DOI":"10.1145\/2658761.2658776"},{"key":"key-10.1145\/3237009.3237018-16","unstructured":"Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. 1993.Partial Evaluation and Automatic Program Generation.Prentice Hall International, International Series in Computer Science. ISBN number 0-13-020249-5 (pbk)."},{"key":"key-10.1145\/3237009.3237018-17","doi-asserted-by":"crossref","unstructured":"Gilles Kahn. 1987. Natural Semantics. InSTACS 87, 4th Annual Symposium on Theoretical Aspects of Computer Science, Passau, Germany, February 19--21, 1987, Proceedings (Lecture Notes in Computer Science), Franz-Josef Brandenburg, Guy Vidal-Naquet, and Martin Wirsing (Eds.), Vol. 247. Springer, 22--39.","DOI":"10.1007\/BFb0039592"},{"key":"key-10.1145\/3237009.3237018-18","doi-asserted-by":"crossref","unstructured":"Lennart C. L. Kats and Eelco Visser. 2010. The Spoofax language workbench: rules for declarative specification of languages and IDEs. InProceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, William R. Cook, Siobh&#225;n Clarke, and Martin C. Rinard (Eds.). ACM, Reno\/Tahoe, Nevada, 444--463.","DOI":"10.1145\/1869459.1869497"},{"key":"key-10.1145\/3237009.3237018-19","doi-asserted-by":"crossref","unstructured":"Casey Klein, John Clements, Christos Dimoulas, Carl Eastlund, Matthias Felleisen, Matthew Flatt, Jay A. McCarthy, Jon Rafkind, Sam Tobin-Hochstadt, and Robby Findler. 2012. Run your research: on the effectiveness of lightweight mechanization. InProceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2012, Philadelphia, Pennsylvania, USA, January 22--28, 2012, John Field and Michael Hicks (Eds.). ACM, 285--296.","DOI":"10.1145\/2103656.2103691"},{"key":"key-10.1145\/3237009.3237018-20","doi-asserted-by":"crossref","unstructured":"Stefan Marr, Benoit Daloze, and Hanspeter M&#246;ssenb&#246;ck. 2016. Cross-language compiler benchmarking: are we fast yet?. InProceedings of the 12th Symposium on Dynamic Languages, DLS 2016, Amsterdam, The Netherlands, November 1, 2016, Roberto Ierusalimschy (Ed.). ACM, 120--131.","DOI":"10.1145\/2989225.2989232"},{"key":"key-10.1145\/3237009.3237018-21","doi-asserted-by":"crossref","unstructured":"Stefan Marr, Tobias Pape, and Wolfgang De Meuter. 2014. Are We There Yet?: Simple Language Implementation Techniques for the 21st Century.IEEE Software31, 5 (2014), 60--67.","DOI":"10.1109\/MS.2014.98"},{"key":"key-10.1145\/3237009.3237018-22","doi-asserted-by":"crossref","unstructured":"Stefan Marr, Chris Seaton, and St&#233;phane Ducasse. 2015. Zero-overhead metaprogramming: reflection and metaobject protocols fast and without compromises. InProceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, Portland, OR, USA, June 15--17, 2015, David Grove and Steve Blackburn (Eds.). ACM, 545--554.","DOI":"10.1145\/2737924.2737963"},{"key":"key-10.1145\/3237009.3237018-23","unstructured":"Peter D. Mosses. 2004. Modular structural operational semantics.Journal of Logic and Algebraic Programming60--61 (2004), 195--228."},{"key":"key-10.1145\/3237009.3237018-24","doi-asserted-by":"crossref","unstructured":"Peter D. Mosses and Mark J. New. 2009. Implicit Propagation in Structural Operational Semantics.Electronic Notes in Theoretical Computer Science229, 4 (2009), 49--66.","DOI":"10.1016\/j.entcs.2009.07.073"},{"key":"key-10.1145\/3237009.3237018-25","doi-asserted-by":"crossref","unstructured":"Pierre N&#233;ron, Andrew P. Tolmach, Eelco Visser, and Guido Wachsmuth. 2015. A Theory of Name Resolution. InProgramming Languages and Systems - 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11--18, 2015. Proceedings (Lecture Notes in Computer Science), Jan Vitek (Ed.), Vol. 9032. Springer, 205--231.","DOI":"10.1007\/978-3-662-46669-8_9"},{"key":"key-10.1145\/3237009.3237018-26","doi-asserted-by":"crossref","unstructured":"Mikael Pettersson. 1996. A Compiler for Natural Semantics. InCompiler Construction, 6th International Conference, CC 96, Link&#246;ping, Sweden, April 24--26, 1996, Proceedings (Lecture Notes in Computer Science), Tibor Gyim&#243;thy (Ed.), Vol. 1060. Springer, 177--191.","DOI":"10.1007\/3-540-61053-7_61"},{"key":"key-10.1145\/3237009.3237018-27","unstructured":"Gordon D. Plotkin. 2004. A structural approach to operational semantics.Journal of Logic and Algebraic Programming60--61 (2004), 17--139."},{"key":"key-10.1145\/3237009.3237018-28","unstructured":"Casper Bach Poulsen and Peter D. Mosses. 2013. Generating Specialized Interpreters for Modular Structural Operational Semantics. InLogic-Based Program Synthesis and Transformation, 23rd International Symposium, LOPSTR 2013, Madrid, Spain, September 18--19, 2013, Revised Selected Papers (Lecture Notes in Computer Science), Gopal Gupta and Ricardo Pena (Eds.), Vol. 8901. Springer, 220--236."},{"key":"key-10.1145\/3237009.3237018-29","unstructured":"Casper Bach Poulsen, Pierre N&#233;ron, Andrew P. Tolmach, and Eelco Visser. 2016. Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics. In30th European Conference on Object-Oriented Programming, ECOOP 2016, July 18--22, 2016, Rome, Italy (LIPIcs), Shriram Krishnamurthi and Benjamin S. Lerner (Eds.), Vol. 56. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik."},{"key":"key-10.1145\/3237009.3237018-30","unstructured":"Armin Rigo and Samuele Pedroni. 2006. PyPy s approach to virtual machine construction. InCompanion to the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22--26, 2006, Portland, Oregon, USA, Peri L. Tarr and William R. Cook (Eds.). ACM, 944--953."},{"key":"key-10.1145\/3237009.3237018-31","doi-asserted-by":"crossref","unstructured":"Grigore Rosu and Traian-Florin Serbanuta. 2010. An overview of the K semantic framework.Journal of Logic and Algebraic Programming79, 6 (2010), 397--434.","DOI":"10.1016\/j.jlap.2010.03.012"},{"key":"key-10.1145\/3237009.3237018-32","doi-asserted-by":"crossref","unstructured":"Hendrik van Antwerpen, Pierre N&#233;ron, Andrew P. Tolmach, Eelco Visser, and Guido Wachsmuth. 2016. A constraint language for static semantic analysis based on scope graphs. InProceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2016, St. Petersburg, FL, USA, January 20 - 22, 2016, Martin Erwig and Tiark Rompf (Eds.). ACM, 49--60.","DOI":"10.1145\/2847538.2847543"},{"key":"key-10.1145\/3237009.3237018-33","unstructured":"Vlad A. Vergu, Pierre N&#233;ron, and Eelco Visser. 2015. DynSem: A DSL for Dynamic Semantics Specification. In26th International Conference on Rewriting Techniques and Applications, RTA 2015, June 29 to July 1, 2015, Warsaw, Poland (LIPIcs), Maribel Fern&#225;ndez (Ed.), Vol. 36. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 365--378."},{"key":"key-10.1145\/3237009.3237018-34","doi-asserted-by":"crossref","unstructured":"Eelco Visser, Guido Wachsmuth, Andrew P. Tolmach, Pierre N&#233;ron, Vlad A. Vergu, Augusto Passalaqua, and Gabri&#235;l Konat. 2014. A Language Designer's Workbench: A One-Stop-Shop for Implementation and Verification of Language Designs. InOnward! 2014, Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming &#38; Software, part of SPLASH '14, Portland, OR, USA, October 20--24, 2014, Andrew P. Black, Shriram Krishnamurthi, Bernd Bruegge, and Joseph N. Ruskiewicz (Eds.). ACM, 95--111.","DOI":"10.1145\/2661136.2661149"},{"key":"key-10.1145\/3237009.3237018-35","doi-asserted-by":"crossref","unstructured":"Thomas W&#252;rthinger, Christian Wimmer, Christian Humer, Andreas W&#246;&#223;, Lukas Stadler, Chris Seaton, Gilles Duboscq, Doug Simon, and Matthias Grimmer. 2017. Practical partial evaluation for high-performance dynamic language runtimes. InProceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, Barcelona, Spain, June 18--23, 2017, Albert Cohen 0001 and Martin T. Vechev (Eds.). ACM, 662--676.","DOI":"10.1145\/3062341.3062381"},{"key":"key-10.1145\/3237009.3237018-36","doi-asserted-by":"crossref","unstructured":"Thomas W&#252;rthinger, Christian Wimmer, Andreas W&#246;&#223;, Lukas Stadler, Gilles Duboscq, Christian Humer, Gregor Richards, Doug Simon, and Mario Wolczko. 2013. One VM to rule them all. InACM Symposium on New Ideas in Programming and Reflections on Software, Onward! 2013, part of SPLASH '13, Indianapolis, IN, USA, October 26--31, 2013, Antony L. Hosking, Patrick Th. Eugster, and Robert Hirschfeld (Eds.). ACM, 187--204.","DOI":"10.1145\/2509578.2509581"},{"key":"key-10.1145\/3237009.3237018-37","doi-asserted-by":"crossref","unstructured":"Thomas W&#252;rthinger, Andreas W&#246;&#223;, Lukas Stadler, Gilles Duboscq, Doug Simon, and Christian Wimmer. 2012. Self-optimizing AST interpreters. InProceedings of the 8th Symposium on Dynamic Languages, DLS '12, Tucson, AZ, USA, October 22, 2012, Alessandro Warth (Ed.). ACM, 73--82.","DOI":"10.1145\/2384577.2384587"}],"event":{"name":"the 15th International Conference","start":{"date-parts":[[2018,9,12]]},"number":"15","location":"Linz, Austria","end":{"date-parts":[[2018,9,13]]},"acronym":"ManLang '18"},"container-title":["Proceedings of the 15th International Conference on Managed Languages &amp; Runtimes - ManLang '18"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3237009.3237018","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/dl.acm.org\/ft_gateway.cfm?id=3237018&ftid=1999834&dwn=1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:39:34Z","timestamp":1750210774000},"score":1,"resource":{"primary":{"URL":"http:\/\/dl.acm.org\/citation.cfm?doid=3237009.3237018"}},"subtitle":["JIT compilation of dynsem specifications on the graal VM"],"proceedings-subject":"Managed Languages & Runtimes","short-title":[],"issued":{"date-parts":[[2018]]},"references-count":37,"URL":"https:\/\/doi.org\/10.1145\/3237009.3237018","relation":{},"subject":[],"published":{"date-parts":[[2018]]}}}