{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,4,2]],"date-time":"2022-04-02T13:49:11Z","timestamp":1648907351424},"reference-count":37,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2010,11,1]],"date-time":"2010-11-01T00:00:00Z","timestamp":1288569600000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Higher-Order Symb Comput"],"published-print":{"date-parts":[[2010,11]]},"DOI":"10.1007\/s10990-011-9064-1","type":"journal-article","created":{"date-parts":[[2011,1,13]],"date-time":"2011-01-13T18:48:08Z","timestamp":1294944488000},"page":"433-463","source":"Crossref","is-referenced-by-count":0,"title":["A functional approach to generic programming using adaptive traversals"],"prefix":"10.1007","volume":"23","author":[{"given":"Bryan","family":"Chadwick","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Karl","family":"Lieberherr","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2011,1,14]]},"reference":[{"key":"9064_CR1","doi-asserted-by":"crossref","first-page":"113","DOI":"10.1145\/117954.117963","volume-title":"OOPSLA \u201991","author":"R. Agrawal","year":"1991","unstructured":"Agrawal, R., Demichiel, L.G., Lindsay, B.G.: Static type checking of multi-methods. In: OOPSLA \u201991, pp. 113\u2013128. ACM, New York (1991)"},{"key":"9064_CR2","series-title":"LNCS","doi-asserted-by":"crossref","first-page":"28","DOI":"10.1007\/10704973_2","volume-title":"Advanced Functional Programming","author":"R. Backhouse","year":"1999","unstructured":"Backhouse, R., Jansson, P., Jeuring, J., Meertens, L.: Generic programming\u2014an introduction. In: Swierstra, S., Oliveira, J., Henriques, P. (eds.) Advanced Functional Programming. LNCS, vol. 1608, pp. 28\u2013115. Springer, Berlin (1999)"},{"issue":"2","key":"9064_CR3","doi-asserted-by":"crossref","first-page":"55","DOI":"10.1145\/359997.359999","volume":"19","author":"G.V. Bochmann","year":"1976","unstructured":"Bochmann, G.V.: Semantic evaluation from left to right. Commun. ACM 19(2), 55\u201362 (1976)","journal-title":"Commun. ACM"},{"key":"9064_CR4","unstructured":"Chadwick, B.: Algorithms in DemeterF (May 2009). http:\/\/www.ccs.neu.edu\/home\/chadwick\/files\/algo.pdf"},{"key":"9064_CR5","volume-title":"AOSD 2009, FOAL Workshop","author":"B. Chadwick","year":"2009","unstructured":"Chadwick, B., Lieberherr, K.: A type system for functional traversal-based aspects. In: AOSD 2009, FOAL Workshop. ACM, New York (2009)"},{"key":"9064_CR6","doi-asserted-by":"crossref","first-page":"61","DOI":"10.1145\/1739230.1739238","volume-title":"AOSD \u201910","author":"B. Chadwick","year":"2010","unstructured":"Chadwick, B., Lieberherr, K.J.: Weaving generic programming and traversal performance. In: J\u00e9z\u00e9quel, J.-M., S\u00fcdholt, M. (eds.) AOSD \u201910, pp. 61\u201372. ACM, New York (2010)"},{"issue":"6","key":"9064_CR7","doi-asserted-by":"crossref","first-page":"805","DOI":"10.1145\/218570.218571","volume":"17","author":"C. Chambers","year":"1995","unstructured":"Chambers, C., Leavens, G.T.: Typechecking and modules for multimethods. ACM Trans. Program. Lang. Syst. 17(6), 805\u2013843 (1995)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"9064_CR8","volume-title":"OOPSLA \u201908","author":"B.C.d.S. Oliveira","year":"2008","unstructured":"Oliveira, B.C.d.S., Wang, M., Gibbons, J.: The visitor pattern as a reusable, generic, type-safe component. In: Kiczales, G. (ed.) OOPSLA \u201908, October (2008)"},{"key":"9064_CR9","series-title":"LNCS","first-page":"66","volume-title":"Advanced Functional Programming, Sixth International School","author":"O. Danvy","year":"2008","unstructured":"Danvy, O.: From reduction-based to reduction-free normalization. In: Koopman, P., Plasmeijer, R., Swierstra, D. (eds.) Advanced Functional Programming, Sixth International School, Nijmegen, The Netherlands, May. LNCS, vol. 5382, pp. 66\u2013164. Springer, Berlin (2008)"},{"issue":"3","key":"9064_CR10","doi-asserted-by":"crossref","first-page":"100","DOI":"10.1016\/j.ipl.2007.10.010","volume":"106","author":"O. Danvy","year":"2008","unstructured":"Danvy, O., Millikin, K.: On the equivalence between small-step and big-step abstract machines: a simple application of lightweight fusion. Inf. Process. Lett. 106(3), 100\u2013109 (2008)","journal-title":"Inf. Process. Lett."},{"issue":"1\u20132","key":"9064_CR11","doi-asserted-by":"crossref","first-page":"243","DOI":"10.1016\/S0304-3975(00)00054-2","volume":"248","author":"O. Danvy","year":"2000","unstructured":"Danvy, O., Schultz, U.P.: Lambda-dropping: transforming recursive equations into programs with block structure. Theor. Comput. Sci. 248(1\u20132), 243\u2013287 (2000)","journal-title":"Theor. Comput. Sci."},{"issue":"4","key":"9064_CR12","doi-asserted-by":"crossref","first-page":"841","DOI":"10.1145\/76359.76366","volume":"36","author":"J. Engelfriet","year":"1989","unstructured":"Engelfriet, J., Fil\u00e9, G.: Passes, sweeps, and visits in attribute grammars. J. ACM 36(4), 841\u2013869 (1989)","journal-title":"J. ACM"},{"key":"9064_CR13","series-title":"LNCS","volume-title":"Spring School on Datatype-Generic Programming","author":"J. Gibbons","year":"2007","unstructured":"Gibbons, J.: Datatype-generic programming. In: Backhouse, R., Gibbons, J., Hinze, R., Jeuring, J. (eds.) Spring School on Datatype-Generic Programming. LNCS, vol. 4719. Springer, Berlin (2007)"},{"key":"9064_CR14","first-page":"119","volume-title":"POPL \u201999","author":"R. Hinze","year":"1999","unstructured":"Hinze, R.: A new approach to generic functional programming. In: POPL \u201999, pp. 119\u2013132. ACM, New York (1999)"},{"key":"9064_CR15","first-page":"470","volume-title":"POPL\u201997","author":"P. Jansson","year":"1997","unstructured":"Jansson, P., Jeuring, J.: PolyP\u2014a polytypic programming language extension. In: POPL\u201997, pp. 470\u2013482. ACM, New York (1997)"},{"key":"9064_CR16","volume-title":"Haskell 98 Language and Libraries: The Revised Report","author":"S.P. Jones","year":"2003","unstructured":"Jones, S.P.: Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)"},{"key":"9064_CR17","unstructured":"Kelsey, R., Clinger, W., Rees, J. (eds.): Revised5 report on the algorithmic language Scheme. Higher-Order Symb. Comput. 11(1), 7\u2013105 (1998)"},{"issue":"2","key":"9064_CR18","first-page":"127","volume":"2","author":"D.E. Knuth","year":"1968","unstructured":"Knuth, D.E.: Semantics of context-free languages. Theory Comput. Syst. 2(2), 127\u2013145 (1968)","journal-title":"Theory Comput. Syst."},{"key":"9064_CR19","first-page":"91","volume-title":"ECOOP \u201998","author":"S. Krishnamurthi","year":"1998","unstructured":"Krishnamurthi, S., Felleisen, M., Friedman, D.P.: Synthesizing object-oriented and functional design to promote re-use. In: ECOOP \u201998, pp. 91\u2013113. Springer, London (1998)"},{"key":"9064_CR20","series-title":"LNCS","first-page":"137","volume-title":"PADL \u201902","author":"R. L\u00e4mmel","year":"2002","unstructured":"L\u00e4mmel, R., Visser, J.: Typed combinators for generic traversal. In: PADL \u201902. LNCS, vol. 2257, pp. 137\u2013154. Springer, Berlin (2002)"},{"key":"9064_CR21","doi-asserted-by":"crossref","first-page":"26","DOI":"10.1145\/604174.604179","volume-title":"TLDI \u201903","author":"R. L\u00e4mmel","year":"2003","unstructured":"L\u00e4mmel, R., Peyton Jones, S.: Scrap your boilerplate: a practical design pattern for generic programming. In: TLDI \u201903, pp. 26\u201337. ACM, New York (2003)"},{"key":"9064_CR22","doi-asserted-by":"crossref","first-page":"244","DOI":"10.1145\/1016850.1016883","volume-title":"ICFP \u201904","author":"R. L\u00e4mmel","year":"2004","unstructured":"L\u00e4mmel, R., Peyton Jones, S.: Scrap more boilerplate: reflection, zips, and generalised casts. In: ICFP \u201904, pp. 244\u2013255. ACM, New York (2004)"},{"key":"9064_CR23","doi-asserted-by":"crossref","first-page":"204","DOI":"10.1145\/1086365.1086391","volume-title":"ICFP \u201905","author":"R. L\u00e4mmel","year":"2005","unstructured":"L\u00e4mmel, R., Peyton Jones, S.: Scrap your boilerplate with class: extensible generic functions. In: ICFP \u201905, pp. 204\u2013215. ACM, New York (2005)"},{"key":"9064_CR24","first-page":"46","volume-title":"WGP \u201900","author":"R. L\u00e4mmel","year":"2000","unstructured":"L\u00e4mmel, R., Visser, J., Kort, J.: Dealing with large bananas. In: Jeuring, J. (ed.) WGP \u201900, July, pp. 46\u201359 (2000)"},{"key":"9064_CR25","volume-title":"Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns","author":"K.J. Lieberherr","year":"1996","unstructured":"Lieberherr, K.J.: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston (1996)"},{"key":"9064_CR26","unstructured":"Loeh, A., Jeuring, J. (eds.): Dave Clarke, Ralf Hinze, Alexey Rodriguez, and Jan de Wit. Generic haskell user\u2019s guide\u2014version 1.42 (coral). Technical Report UU-CS-2005-004, Department of Information and Computing Sciences, Utrecht University (2005)"},{"key":"9064_CR27","first-page":"124","volume-title":"FPCA \u201991","author":"E. Meijer","year":"1991","unstructured":"Meijer, E., Fokkinga, M., Paterson, R.: Functional programming with bananas, lenses, envelopes and barbed wire. In: Hughes, J. (ed.) FPCA \u201991, vol. 523, pp. 124\u2013144. Springer, Berlin (1991)"},{"key":"9064_CR28","first-page":"279","volume-title":"ECOOP \u201999","author":"T.D. Millstein","year":"1999","unstructured":"Millstein, T.D., Chambers, C.: Modular statically typed multimethods. In: ECOOP \u201999, pp. 279\u2013303. Springer, London (1999)"},{"key":"9064_CR29","first-page":"269","volume-title":"ECOOP \u201909","author":"B.C. Oliveira","year":"2009","unstructured":"Oliveira, B.C.: Modular visitor components. In: ECOOP \u201909, pp. 269\u2013293. Springer, Berlin (2009)"},{"key":"9064_CR30","unstructured":"PLT Scheme. Website (2009). http:\/\/www.plt-scheme.org\/"},{"key":"9064_CR31","doi-asserted-by":"crossref","first-page":"233","DOI":"10.1145\/165180.165216","volume-title":"FPCA \u201993","author":"T. Sheard","year":"1993","unstructured":"Sheard, T., Fegaras, L.: A fold for all seasons. In: FPCA \u201993, pp. 233\u2013242. ACM, New York (1993)"},{"key":"9064_CR32","volume-title":"Common LISP: The Language","author":"G.L. Steele Jr.","year":"1990","unstructured":"Steele, G.L. Jr.: Common LISP: The Language, 2nd edn. Digital Press, Newton (1990)","edition":"2"},{"issue":"2","key":"9064_CR33","doi-asserted-by":"crossref","first-page":"115","DOI":"10.1007\/s10990-007-9022-0","volume":"22","author":"Aaron Stump","year":"2009","unstructured":"Stump, Aaron: Directly reflective meta-programming. High.-Order Symb. Comput. 22(2), 115\u2013144 (2009)","journal-title":"High.-Order Symb. Comput."},{"key":"9064_CR34","volume-title":"FOOL \u201904","author":"T. VanDrunen","year":"2004","unstructured":"VanDrunen, T., Palsberg, J.: Visitor-oriented programming. In: FOOL \u201904, January (2004)"},{"key":"9064_CR35","doi-asserted-by":"crossref","first-page":"270","DOI":"10.1145\/504282.504302","volume-title":"OOPSLA \u201901","author":"J. Visser","year":"2001","unstructured":"Visser, J.: Visitor combination and traversal control. In: OOPSLA \u201901, pp. 270\u2013282. ACM, New York (2001)"},{"issue":"5","key":"9064_CR36","doi-asserted-by":"crossref","first-page":"890","DOI":"10.1145\/1018203.1018208","volume":"26","author":"M. Wand","year":"2004","unstructured":"Wand, M., Kiczales, G., Dutchyn, C.: A semantics for advice and dynamic join points in aspect-oriented programming. ACM Trans. Program. Lang. Syst. 26(5), 890\u2013910 (2004)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"9064_CR37","doi-asserted-by":"crossref","first-page":"38","DOI":"10.1006\/inco.1994.1093","volume":"115","author":"A.K. Wright","year":"1994","unstructured":"Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Inf. Comput. 115, 38\u201394 (1994)","journal-title":"Inf. Comput."}],"container-title":["Higher-Order and Symbolic Computation"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10990-011-9064-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10990-011-9064-1\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10990-011-9064-1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,6,1]],"date-time":"2019-06-01T01:29:42Z","timestamp":1559352582000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10990-011-9064-1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010,11]]},"references-count":37,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2010,11]]}},"alternative-id":["9064"],"URL":"https:\/\/doi.org\/10.1007\/s10990-011-9064-1","relation":{},"ISSN":["1388-3690","1573-0557"],"issn-type":[{"value":"1388-3690","type":"print"},{"value":"1573-0557","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010,11]]}}}