{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,12]],"date-time":"2025-11-12T03:08:39Z","timestamp":1762916919185,"version":"build-2065373602"},"reference-count":18,"publisher":"Elsevier BV","issue":"3","license":[{"start":{"date-parts":[[2002,7,1]],"date-time":"2002-07-01T00:00:00Z","timestamp":1025481600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2002,7,1]],"date-time":"2002-07-01T00:00:00Z","timestamp":1025481600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2013,7,29]],"date-time":"2013-07-29T00:00:00Z","timestamp":1375056000000},"content-version":"vor","delay-in-days":4046,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Electronic Notes in Theoretical Computer Science"],"published-print":{"date-parts":[[2002,7]]},"DOI":"10.1016\/s1571-0661(04)80427-4","type":"journal-article","created":{"date-parts":[[2004,9,28]],"date-time":"2004-09-28T15:29:25Z","timestamp":1096385365000},"page":"57-76","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":7,"title":["Building Interpreters with Rewriting Strategies"],"prefix":"10.1016","volume":"65","author":[{"given":"Eelco","family":"Dolstra","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eelco","family":"Visser","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB1","series-title":"Modern Compiler Implementation in ML","first-page":"18","author":"Appel","year":"1998"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB2","doi-asserted-by":"crossref","unstructured":"P. Borovansk\u00fd, C. Kirchner, H. Kirchner, P.-E. Moreau, and M. Vittek. Elan: A logical framework based on computational systems. In J. Meseguer, editor, Electronic Notes in Theoretical Computer Science, volume 4. Elsevier Science Publishers, 1996. Proceedings of the First Workshop on Rewriting Logic and Applications 1996 (WRLA'96). 2.","DOI":"10.1016\/S1571-0661(04)00032-5"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB3","doi-asserted-by":"crossref","unstructured":"P. Borra, D. Clement, T. Despeyroux, J. Incerpi, G. Kahn, B. Lang, and V. Pascual. Centaur: The system. Technical Report 777, INRIA, Sophia Antipolis, 1987. 2.","DOI":"10.1145\/64140.65005"},{"first-page":"2","year":"1996","series-title":"Language Prototyping. An Algebraic Specification Approach, volume 5 of AMAST Series in Computing","key":"10.1016\/S1571-0661(04)80427-4_NEWBIB4"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB5","doi-asserted-by":"crossref","unstructured":"K.-G. Doh and P. D. Mosses. Composing programming languages by combining action-semantics modules. In Workshop on Language Descriptions, Tools and Applications (LDTA'2001), Genova, Italy, April 2001. 1, 2.","DOI":"10.1016\/S1571-0661(04)80922-8"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB6","unstructured":"E. Dolstra. First-class rules and generic traversal for program transformation languages. Master's thesis, Utrecht University, Utrecht, The Netherlands, August 2001. 2, 3, 10, 14, 17, 18."},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB7","doi-asserted-by":"crossref","unstructured":"M. Felleisen and R. Hieb. The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science, 103(2):235\u2013271, 1992. 2.","DOI":"10.1016\/0304-3975(92)90014-7"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB8","series-title":"Workshop on Reduction Strategies in Rewriting and Programming (WRS'01), volume 57 of Electronic Notes in Theoretical Computer Science","first-page":"6","article-title":"Fusing logic and control with local transformations: An example optimization","author":"Johann","year":"2001"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB9","unstructured":"G. Kahn. Natural semantics. In Proceedings of the Symposium on Theoretical Aspects of Computer Science, Passau, Germany, 1987. 2."},{"issue":"5","key":"10.1016\/S1571-0661(04)80427-4_NEWBIB10","first-page":"416","article-title":"Montages specifications of realistic programming languages","volume":"3","author":"Kutter","year":"1997","journal-title":"Journal of Universal Computer Science"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB11","doi-asserted-by":"crossref","unstructured":"J. E. Labra Gayo, M. C. Luengo D\u00edez, J. M. Cueva Lovelle, and A. Cernuda del R\u00edo. Lps: A language prototyping system using modular monadic semantics. In Workshop on Language Definitions, Tools and Applications (LDTA'01), volume 44\/2 of Electronic Notes in Theoretical Computer Science. Elsevier Science. 1.","DOI":"10.1016\/S1571-0661(04)80923-X"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB12","doi-asserted-by":"crossref","unstructured":"G. L. Steele Jr. Building interpreters by composing monads. In 21st ACM Symp. on Principles of Programming Languages (POPL'94), pages 472\u2013492, Portland, Oregon, January 1994. 1.","DOI":"10.1145\/174675.178068"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB13","series-title":"Rule Based Programming (RULE'01), volume 59\/4 of Electronic Notes in Theoretical Computer Science","first-page":"3","article-title":"Scoped dynamic rewrite rules","author":"Visser","year":"2001"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB14","doi-asserted-by":"crossref","unstructured":"E. Visser. Stratego: A language for program transformation based on rewriting strategies. System description of Stratego 0.5. In A. Middeldorp, editor, Rewriting Techniques and Applications (RTA'01), volume 2051 of Lecture Notes in Computer Science, pages 357\u2013361. Springer-Verlag, May 2001. 3.","DOI":"10.1007\/3-540-45127-7_27"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB15","series-title":"Generative Programming and Component Engineering (GPCE'02)","article-title":"Meta-programming with concrete object syntax","author":"Visser","year":"2002"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB16","doi-asserted-by":"crossref","unstructured":"E. Visser, Z.-e.-A. Benaissa, and A. Tolmach. Building program optimizers with rewriting strategies. In Proceedings of the third ACM SIGPLAN International Conference on Functional Programming (ICFP'98), pages 13\u201326. ACM Press, September 1998. 2, 3.","DOI":"10.1145\/289423.289425"},{"key":"10.1016\/S1571-0661(04)80427-4_NEWBIB17","unstructured":"Y. Xiao, Z. M. Ariola, and M. Mauny. From syntactic theories to interpreters: A specification language and its compilation. In N. Dershowitz and C. Kirchner, editors, Proceedings of the First International Workshop on Rule-Based Programming (RULE'00), Montr\u00e9al, Canada, September 2000. http:\/\/www.loria.fr\/~ckirchne\/=rule2000\/proceedings\/. 2."},{"issue":"4","key":"10.1016\/S1571-0661(04)80427-4_NEWBIB18","doi-asserted-by":"crossref","DOI":"10.1023\/A:1014408032446","article-title":"From syntactic theories to interpreters: Automating the proof of unique decomposition","volume":"14","author":"Xiao","year":"2001","journal-title":"Higher-Order and Symbolic Computation"}],"container-title":["Electronic Notes in Theoretical Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1571066104804274?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1571066104804274?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,10,28]],"date-time":"2025-10-28T00:03:48Z","timestamp":1761609828000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S1571066104804274"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2002,7]]},"references-count":18,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2002,7]]}},"alternative-id":["S1571066104804274"],"URL":"https:\/\/doi.org\/10.1016\/s1571-0661(04)80427-4","relation":{},"ISSN":["1571-0661"],"issn-type":[{"type":"print","value":"1571-0661"}],"subject":[],"published":{"date-parts":[[2002,7]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Building Interpreters with Rewriting Strategies","name":"articletitle","label":"Article Title"},{"value":"Electronic Notes in Theoretical Computer Science","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/S1571-0661(04)80427-4","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"converted-article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 2002 Published by Elsevier B.V.","name":"copyright","label":"Copyright"}]}}