{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,28]],"date-time":"2025-10-28T00:24:59Z","timestamp":1761611099421,"version":"build-2065373602"},"reference-count":64,"publisher":"Elsevier BV","issue":"1-2","license":[{"start":{"date-parts":[[2003,1,1]],"date-time":"2003-01-01T00:00:00Z","timestamp":1041379200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2003,1,1]],"date-time":"2003-01-01T00:00:00Z","timestamp":1041379200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2013,7,17]],"date-time":"2013-07-17T00:00:00Z","timestamp":1374019200000},"content-version":"vor","delay-in-days":3850,"URL":"http:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["The Journal of Logic and Algebraic Programming"],"published-print":{"date-parts":[[2003,1]]},"DOI":"10.1016\/s1567-8326(02)00028-0","type":"journal-article","created":{"date-parts":[[2002,10,8]],"date-time":"2002-10-08T16:46:42Z","timestamp":1034095602000},"page":"1-64","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":25,"title":["Typed generic traversal with term rewriting strategies"],"prefix":"10.1016","volume":"54","author":[{"given":"Ralf","family":"L\u00e4mmel","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/S1567-8326(02)00028-0_BIB1","doi-asserted-by":"crossref","unstructured":"E. Astesiano, M. Bidoit, H. Kirchner, B. Krieg-Br\u00fcckner, P.D. Mosses, D. Sannella, A. Tarlecki, CASL: The Common Algebraic Specification Language, Theoretical Computer Science (2001), to appear","DOI":"10.1016\/S0304-3975(01)00368-1"},{"issue":"2","key":"10.1016\/S1567-8326(02)00028-0_BIB2","doi-asserted-by":"crossref","first-page":"237","DOI":"10.1145\/103135.103138","article-title":"Dynamic typing in a statically typed language","volume":"13","author":"Abadi","year":"1991","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB3","series-title":"in: Proceedings of the 1992 ACM Workshop on ML and its Applications, San Francisco, June 1992","first-page":"92","article-title":"Dynamic typing in polymorphic languages","author":"Abadi","year":"1992"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB4","article-title":"Lambda calculi with types","volume":"vol. 2","author":"Barendregt","year":"1992"},{"issue":"2","key":"10.1016\/S1567-8326(02)00028-0_BIB5","doi-asserted-by":"crossref","first-page":"202","DOI":"10.1006\/inco.1995.1086","article-title":"Intersection and union types: syntax and semantics","volume":"119","author":"Barbanera","year":"1995","journal-title":"Information and Computation"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB6","series-title":"in: Compiler Construction 2001 (CC 2001)","article-title":"The ASF+SDF meta-environment: a component-based language development environment","volume":"vol. 2027","author":"van den Brand","year":"2001"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB7","series-title":"in: Algebraic Specification","first-page":"1","article-title":"The algebraic specification formalism ASF","author":"Bergstra","year":"1989"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB8","unstructured":"P. Borovansky, C. Kirchner, H. Kirchner, Controlling rewriting by rewriting, in: Meseguer [49]"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB9","unstructured":"P. Borovansk\u00fd, C. Kirchner, H. Kirchner, P.-E. Moreau, C. Ringeissen. An overview of ELAN, in: Kirchner and Kirchner [37]"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB10","doi-asserted-by":"crossref","DOI":"10.1142\/S0129054101000412","article-title":"Rewriting with strategies in ELAN: a functional semantics","author":"Borovansk\u00fd","year":"2001","journal-title":"International Journal of Foundations of Computer Science"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB11","unstructured":"M.G.J. van den Brand, P. Klint, J. Vinju, Term rewriting with traversal functions, SE N-R0121, CWI, Amsterdam, 2001"},{"issue":"3","key":"10.1016\/S1567-8326(02)00028-0_BIB12","doi-asserted-by":"crossref","first-page":"267","DOI":"10.1016\/S0168-0072(96)00036-X","article-title":"Comparing cubes of typed and type assignment systems","volume":"86","author":"van Bakel","year":"1997","journal-title":"Annals of Pure and Applied Logic"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB13","series-title":"Proceedings of the Fourth Working Conference on Reverse Engineering","first-page":"144","article-title":"Generation of components for software renovation factories from context-free grammars","author":"van den Brand","year":"1997"},{"issue":"2\u20133","key":"10.1016\/S1567-8326(02)00028-0_BIB14","doi-asserted-by":"crossref","first-page":"209","DOI":"10.1016\/S0167-6423(99)00037-4","article-title":"Generation of components for software renovation factories from context-free grammars","volume":"36","author":"van den Brand","year":"2000","journal-title":"Science of Computer Programming"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB15","doi-asserted-by":"crossref","first-page":"45","DOI":"10.1002\/malq.19810270205","article-title":"Functional characters of solvable terms","volume":"27","author":"Coppo","year":"1981","journal-title":"Zeitschrift f\u00fcr Mathematische Logik und Grundlagen der Mathematik"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB16","series-title":"Proceedings of the 10th International Conference on Rewriting Techniques and Applications (RTA-99), Trento, Italy","first-page":"240","article-title":"The Maude system\u2014system description","volume":"vol. 1631","author":"Clavel","year":"1999"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB17","article-title":"Polytypic programming in Maude","volume":"vol. 36","author":"Clavel","year":"2001"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB18","unstructured":"M. Clavel, S. Eker, P. Lincoln, J. Meseguer, Principles of Maude, in: Meseguer [49]"},{"issue":"1","key":"10.1016\/S1567-8326(02)00028-0_BIB19","doi-asserted-by":"crossref","first-page":"115","DOI":"10.1006\/inco.1995.1033","article-title":"A calculus for overloaded functions with subtyping","volume":"117","author":"Castagna","year":"1995","journal-title":"Information and Computation"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB20","unstructured":"H. Cirstea, C. Kirchner, Introduction to the rewriting calculus, Rapport de recherche 3818, INRIA, December 1999"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB21","series-title":"Foundations of Software Science and Computation Structures, Genova, Italy","first-page":"168","article-title":"The rho cube","volume":"vol. 2030","author":"Cirstea","year":"2001"},{"issue":"4","key":"10.1016\/S1567-8326(02)00028-0_BIB22","doi-asserted-by":"crossref","first-page":"471","DOI":"10.1145\/6041.6042","article-title":"On understanding types, data abstraction, and polymorphism","volume":"17","author":"Cardelli","year":"1985","journal-title":"ACM Computing Surveys"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB23","series-title":"in: Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP \u201998)","first-page":"301","article-title":"Intensional polymorphism in type-erasure semantics","volume":"vol. 34(1)","author":"Crary","year":"1999"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB24","unstructured":"T. Despeyroux, TYPOL: A formalism to implement natural semantics, Technical report 94, INRIA, March 1988"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB25","doi-asserted-by":"crossref","unstructured":"C. Dubois, F. Rouaix, P. Weis, Extensional polymorphism, in: Proceedings of the 22th ACM Conference on Principles of Programming Languages, January 1995","DOI":"10.1145\/199448.199473"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB26","unstructured":"H. Geuvers, Logics and type systems, PhD thesis, Computer Science Institute, Katholieke Universiteit Nijmegen, 1993"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB27","unstructured":"J.-Y. Girard, Interpr\u00e9tation fonctionelle et \u00e9limination des coupures dans l\u2019arith\u00e9tique d\u2019ordre sup\u00e9rieur, PhD thesis, Universit\u00e9 Paris VII, 1972"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB28","unstructured":"B. Gramlich, S. Lucas (Eds.), Proceedings of the International Workshop on Reduction Strategies in Rewriting and Programming (WRS 2001), vol. SPUPV 2359, Utrecht, The Netherlands, May 2001, Servicio de Publicaciones, Universidad Polit\u00e9cnica de Valencia"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB29","series-title":"in: ACM SIGPLAN International Conference on Functional Programming (ICFP-99)","first-page":"172","article-title":"Type dispatch for named hierarchical types","volume":"vol. 34.9","author":"Glew","year":"1999"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB30","unstructured":"R. Hinze, A generic programming extension for Haskell, in: E. Meijer (Ed.), Proceedings of the 3rd Haskell Workshop, Paris, France, September 1999, Technical report, Universiteit Utrecht, UU-CS-1999-28"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB31","series-title":"in: Conference Record of POPL \u201995: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, CA","first-page":"130","article-title":"Compiling polymorphism using intentional type analysis","author":"Harper","year":"1995"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB32","unstructured":"J. Jeuring (Ed.), Proceedings of WGP\u20192000, Technical Report, Universiteit Utrecht, July 2000"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB33","series-title":"in: POPL \u201997: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","first-page":"470","article-title":"PolyP\u2014a polytypic programming language extension","author":"Jansson","year":"1997"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB34","series-title":"Advanced Functional Programming","first-page":"97","article-title":"Functional programming with overloading and higher-order polymorphism","volume":"vol. 925","author":"Jones","year":"1995"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB35","doi-asserted-by":"crossref","unstructured":"P. Johann, E. Visser, Fusing logic and control with local transformations: an example optimization, Technical report, Institute of Information and Computing Sciences, Universiteit Utrecht, 2001","DOI":"10.1016\/S1571-0661(04)00271-3"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB36","series-title":"in: Fourth Annual Symposium on Theoretical Aspects of Computer Science, Passau, Germany, 19\u201321 February 1987","first-page":"22","article-title":"Natural semantics","volume":"vol. 247","author":"Kahn","year":"1987"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB37","series-title":"Proceedings of the International Workshop on Rewriting Logic and its Applications (WRLA\u201998), Pont-\u00e0-Mousson, France","volume":"vol. 15","author":"Kirchner","year":"1998"},{"issue":"2","key":"10.1016\/S1567-8326(02)00028-0_BIB38","doi-asserted-by":"crossref","first-page":"176","DOI":"10.1145\/151257.151260","article-title":"A meta-environment for generating programming environments","volume":"2","author":"Klint","year":"1993","journal-title":"ACM Transactions on Software Engineering and Methodology"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB39","unstructured":"R. L\u00e4mmel, Generic type-preserving traversal strategies, in: Gramlich and Lucas [28]"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB40","unstructured":"R. L\u00e4mmel, W. Lohmann, Format evolution, in: Proceedings of the 7th International Conference on Reverse Engineering for Information Systems (RETIS 2001), vol. 155 of books@ocg.at, OCG, 2001, pp. 113\u2013134"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB41","unstructured":"K.J. Lieberherr, B. Patt-Shamir, Traversals of object structures: specification and efficient implementation, Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, July 1997"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB42","series-title":"Proc. LDTA\u201901","article-title":"Prological language processing","volume":"vol. 44","author":"L\u00e4mmel","year":"2001"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB43","series-title":"Second International Workshop on the Theory and Practice of Algebraic Specifications (ASF+SDF\u201997), Electronic Workshops in Computing","article-title":"Specification of rewriting strategies","author":"Luttik","year":"1997"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB44","unstructured":"R. L\u00e4mmel, J. Visser, Type-safe functional strategies. in: Draft Proceedings of SFP\u201900, St Andrews, July 2000"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB45","unstructured":"R. L\u00e4mmel, J. Visser, Typed combinators for generic traversal, Technical Report SEN-R0124, Centrum voor Wiskunde en Informatica, August 2001, 34 p; also published in Proceedings of PADL\u201902, LNCS 2257, Springer, Berlin"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB46","unstructured":"R. L\u00e4mmel, J. Visser, J. Kort, Dealing with large bananas. in: Jeuring [32], pp. 46\u201359"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB47","series-title":"Proceedings of the First Workshop on Language Descriptions, Tools and Applications (LDTA\u201901), Genova, Italy, April 7, 2001, Satellite event of ETAPS\u20192001","article-title":"Transformation of SDF syntax definitions in the ASF+SDF Meta-Environment","volume":"vol. 44","author":"L\u00e4mmel","year":"2001"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB48","series-title":"International Symposium on Progr. Languages, Implementations, Logics and Programs (PLILP\u201996)","first-page":"1","article-title":"Calculate polytypically!","volume":"vol. 1140","author":"Meertens","year":"1996"},{"volume":"vol. 4","year":"1996","series-title":"Proceedings of the 1st International Workshop on Rewriting Logic and its Applications, RWLW\u201996 (Asilomar, Pacific Grove, CA, USA)","key":"10.1016\/S1567-8326(02)00028-0_BIB49"},{"issue":"3","key":"10.1016\/S1567-8326(02)00028-0_BIB50","doi-asserted-by":"crossref","first-page":"348","DOI":"10.1016\/0022-0000(78)90014-4","article-title":"A theory of type polymorphism in programming","volume":"17","author":"Milner","year":"1978","journal-title":"Journal of Computer and System Sciences"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB51","unstructured":"P.-E. Moreau, Compilation de r\u00e8gles de r\u00e9\u00e9criture et de strat\u00e9gies non-d\u00e9terministes, PhD thesis, Universit\u00e9 Henri Poincar\u00e9 - Nancy 1, 1999"},{"issue":"2","key":"10.1016\/S1567-8326(02)00028-0_BIB52","doi-asserted-by":"crossref","first-page":"119","DOI":"10.1016\/0167-6423(83)90008-4","article-title":"A higher-order implementation of rewriting","volume":"3","author":"Paulson","year":"1983","journal-title":"Science of Computer Programming"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB53","series-title":"Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming, PLILP\u201994","first-page":"117","article-title":"RML\u2014a new language and implementation for natural semantics","volume":"vol. 844","author":"Pettersson","year":"1994"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB54","series-title":"in: Programming Symposium (Colloque sur la Programmation, Paris)","first-page":"408","article-title":"Towards a theory of type structures","volume":"vol. 19","author":"Reynolds","year":"1974"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB55","series-title":"Proceedings of the 9th IFIP World Computer Congress, Information Processing \u201983, Paris, France","first-page":"513","article-title":"Types, abstraction and parametric polymorphism","author":"Reynolds","year":"1983"},{"year":"1994","series-title":"The Structure of Typed Programming Languages, in: Foundations of Computing Series","author":"Schmidt","key":"10.1016\/S1567-8326(02)00028-0_BIB56"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB57","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1016\/0167-6423(90)90056-J","article-title":"A functional theory of exceptions","volume":"14","author":"Spivey","year":"1990","journal-title":"Science of Computer Programming"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB58","unstructured":"E. Visser, Z. Benaissa, A core language for rewriting, in: Kirchner and Kirchner [37]"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB59","series-title":"in: International Conference on Functional Programming (ICFP\u201998), Baltimore, MD, ACM SIGPLAN","first-page":"13","article-title":"Building program optimizers with rewriting strategies","author":"Visser","year":"1998"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB60","unstructured":"E. Visser, Language independent traversals for program transformation, in: Jeuring [32], pp. 86\u2013104"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB61","unstructured":"E. Visser, A survey of strategies in program transformation systems, in: Gramlich and Lucas [28]"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB62","series-title":"in: Proceedings of the 4th International Conference on Funct. Prog. Languages and Computer Arch., FPCA\u201989, London, UK","first-page":"347","article-title":"Theorems for free!","author":"Wadler","year":"1989"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB63","doi-asserted-by":"crossref","unstructured":"P. Wadler, The essence of functional programming, in: ACM (Ed.), Conference record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Albuquerque, NM, January 19\u201322, 1992, ACM, New York, pp. 1\u201314","DOI":"10.1145\/143165.143169"},{"key":"10.1016\/S1567-8326(02)00028-0_BIB64","doi-asserted-by":"crossref","unstructured":"P. Wadler, S. Blott. How to make ad-hoc polymorphism less ad hoc, in: ACM-SIGPLAN ACM-SIGACT (Ed.), Conference Record of the 16th Annual ACM Symposium on Principles of Programming Languages (POPL \u201989), Austin, TX, USA, January 1989, ACM, New York, pp. 60\u201376","DOI":"10.1145\/75277.75283"}],"container-title":["The Journal of Logic and Algebraic Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1567832602000280?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1567832602000280?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,10,27]],"date-time":"2025-10-27T18:33:42Z","timestamp":1761590022000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S1567832602000280"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2003,1]]},"references-count":64,"journal-issue":{"issue":"1-2","published-print":{"date-parts":[[2003,1]]}},"alternative-id":["S1567832602000280"],"URL":"https:\/\/doi.org\/10.1016\/s1567-8326(02)00028-0","relation":{},"ISSN":["1567-8326"],"issn-type":[{"type":"print","value":"1567-8326"}],"subject":[],"published":{"date-parts":[[2003,1]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Typed generic traversal with term rewriting strategies","name":"articletitle","label":"Article Title"},{"value":"The Journal of Logic and Algebraic Programming","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/S1567-8326(02)00028-0","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"converted-article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 2002 Elsevier Science Inc. All rights reserved.","name":"copyright","label":"Copyright"}]}}