{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,28]],"date-time":"2025-03-28T09:19:14Z","timestamp":1743153554043,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":28,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642026546"},{"type":"electronic","value":"9783642026553"}],"license":[{"start":{"date-parts":[[2009,1,1]],"date-time":"2009-01-01T00:00:00Z","timestamp":1230768000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2009]]},"DOI":"10.1007\/978-3-642-02655-3_12","type":"book-chapter","created":{"date-parts":[[2009,6,29]],"date-time":"2009-06-29T02:17:34Z","timestamp":1246241854000},"page":"160-176","source":"Crossref","is-referenced-by-count":1,"title":["Writing Composable Software with InterpreterLib"],"prefix":"10.1007","author":[{"given":"Mark","family":"Snyder","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nicolas","family":"Frisby","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Garrin","family":"Kimmell","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Perry","family":"Alexander","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"12_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"244","DOI":"10.1007\/3-540-57887-0_99","volume-title":"Theoretical Aspects of Computer Software","author":"R. Cartwright","year":"1994","unstructured":"Cartwright, R., Felleisen, M.: Extensible denotational language specifications. In: Hagiya, M., Mitchell, J.C. (eds.) TACS 1994. LNCS, vol.\u00a0789, pp. 244\u2013272. Springer, Heidelberg (1994)"},{"key":"12_CR2","series-title":"AMAST Series in Computing","volume-title":"Language Prototyping: An Algebraic Specification Approach","year":"1996","unstructured":"Deursen, A.v., Heering, J., Klint, P. (eds.): Language Prototyping: An Algebraic Specification Approach. AMAST Series in Computing, vol.\u00a05. World Scientific Publishing Co., Singapore (1996)"},{"key":"12_CR3","unstructured":"Espinosa, D.: Semantic Lego. PhD thesis, Columbia University (1995)"},{"issue":"3","key":"12_CR4","first-page":"391","volume":"8","author":"J.E.L. Gayo","year":"2001","unstructured":"Gayo, J.E.L., Lovelle, J.M.C., D\u00edez, M.C.L., del R\u00edo, A.C.: Modular development of interpreters from semantic building blocks. Nordic J. of Computing\u00a08(3), 391\u2013407 (2001)","journal-title":"Nordic J. of Computing"},{"issue":"11","key":"12_CR5","doi-asserted-by":"publisher","first-page":"43","DOI":"10.1145\/71605.71607","volume":"24","author":"J. Heering","year":"1989","unstructured":"Heering, J., Hendriks, P.R.H., Klint, P., Rekers, J.: The syntax definition formalism sdf\u2014reference manual\u2014. SIGPLAN Not.\u00a024(11), 43\u201375 (1989), http:\/\/doi.acm.org\/10.1145\/71605.71607","journal-title":"SIGPLAN Not."},{"key":"12_CR6","volume-title":"Qualified types: theory and practice","author":"M.P. Jones","year":"1995","unstructured":"Jones, M.P.: Qualified types: theory and practice. Cambridge University Press, Cambridge (1995)"},{"key":"12_CR7","unstructured":"Kimmell, G.: System Synthesis from a Monadic Functional Language. PhD thesis, University of Kansas (2008)"},{"key":"12_CR8","unstructured":"Komp, E., Kimmell, G., Ward, J., Alexander, P.: The Raskell Evaluation Environment. Technical report, The University of Kansas Information and Telecommunications Technology Center, 2335 Irving Hill Rd, Lawrence, KS, USA (November 2003)"},{"key":"12_CR9","unstructured":"L\u00e4mmel, R.: Typed Generic Traversal With Term Rewriting Strategies. Journal of Logic and Algebraic Programming, 54 (2003); arXiv technical report cs.PL\/0205018"},{"key":"12_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"357","DOI":"10.1007\/3-540-36388-2_24","volume-title":"Practical Aspects of Declarative Languages","author":"R. L\u00e4mmel","year":"2003","unstructured":"L\u00e4mmel, R., Visser, J.: A Strafunski application letter. In: Dahl, V., Wadler, P. (eds.) PADL 2003. LNCS, vol.\u00a02562, pp. 357\u2013375. Springer, Heidelberg (2003)"},{"key":"12_CR11","unstructured":"L\u00e4mmel, R., Visser, J., Kort, J.: Dealing with large bananas. In: Jeuring, J. (ed.), Proceedings of WGP 2000, Technical Report, Universiteit Utrecht, pp. 46\u201359 (July 2000)"},{"key":"12_CR12","unstructured":"Leijen, D.: Parsec, a fast combinator parser (2001)"},{"key":"12_CR13","doi-asserted-by":"publisher","first-page":"333","DOI":"10.1145\/199448.199528","volume-title":"22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","author":"S. Liang","year":"1995","unstructured":"Liang, S., Hudak, P., Jones, M.: Monad transformers and modular interpreters. In: ACM (ed.) 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, California, January 22\u201325, 1995, pp. 333\u2013343. ACM Press, New York (1995)"},{"key":"12_CR14","doi-asserted-by":"publisher","first-page":"195","DOI":"10.1016\/j.jlap.2004.03.008","volume":"60-61","author":"P.D. Mosses","year":"2004","unstructured":"Mosses, P.D.: Modular structural operational semantics. J. Log. Algebr. Program.\u00a060-61, 195\u2013228 (2004)","journal-title":"J. Log. Algebr. Program."},{"volume-title":"Haskell 98 Language and Libraries \u2013 The Revised Report","year":"2003","key":"12_CR15","unstructured":"Peyton Jones, S. (ed.): Haskell 98 Language and Libraries \u2013 The Revised Report. Cambridge University Press, Cambridge (2003)"},{"key":"12_CR16","volume-title":"Types and Programming Languages","author":"B.C. Pierce","year":"2002","unstructured":"Pierce, B.C.: Types and Programming Languages. The MIT Press, Cambridge (2002)"},{"key":"12_CR17","doi-asserted-by":"crossref","unstructured":"Plotkin, G.: The origins of structural operational semantics (2003), http:\/\/citeseer.ist.psu.edu\/plotkin03origins.html","DOI":"10.1016\/S1567-8326(04)00026-8"},{"key":"12_CR18","unstructured":"Plotkin, G.D.: A structural approach to operational semantics (1981)"},{"issue":"3","key":"12_CR19","doi-asserted-by":"publisher","first-page":"42","DOI":"10.1145\/390010.808247","volume":"9","author":"T. Reps","year":"1984","unstructured":"Reps, T., Teitelbaum, T.: The synthesizer generator. SIGSOFT Softw. Eng. Notes\u00a09(3), 42\u201348 (1984), http:\/\/doi.acm.org\/10.1145\/390010.808247","journal-title":"SIGSOFT Softw. Eng. Notes"},{"key":"12_CR20","doi-asserted-by":"publisher","first-page":"111","DOI":"10.1145\/1411286.1411301","volume-title":"Haskell 2008: Proceedings of the first ACM SIGPLAN symposium on Haskell","author":"A. Rodriguez","year":"2008","unstructured":"Rodriguez, A., Jeuring, J., Jansson, P., Gerdes, A., Kiselyov, O., Oliveira, B.C.d.S.: Comparing libraries for generic programming in haskell. In: Haskell 2008: Proceedings of the first ACM SIGPLAN symposium on Haskell, pp. 111\u2013122. ACM, New York (2008)"},{"key":"12_CR21","first-page":"1","volume-title":"ACM SIGPLAN Haskell Workshop 2002","author":"T. Sheard","year":"2002","unstructured":"Sheard, T., Peyton Jones, S.: Template metaprogramming for Haskell. In: Chakravarty, M.M.T. (ed.) ACM SIGPLAN Haskell Workshop 2002, pp. 1\u201316. ACM Press, New York (2002)"},{"key":"12_CR22","doi-asserted-by":"publisher","first-page":"472","DOI":"10.1145\/174675.178068","volume-title":"21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","author":"G.L. Steele","year":"1994","unstructured":"Steele, G.L.: Building interpreters by composing monads. In: ACM (ed.) 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon, January 17\u201321, 1994, pp. 472\u2013492. ACM Press, New York (1994)"},{"key":"12_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"365","DOI":"10.1007\/3-540-45306-7_26","volume-title":"Compiler Construction","author":"M. Brand van den","year":"2001","unstructured":"van den Brand, M., Heering, J., de Jong, H., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P., Scheerder, J., Vinju, J., Visser, E., Visser, J.: The ASF+SDF Meta-Environment: a Component-Based Language Development Environment. In: Wilhelm, R. (ed.) CC 2001. LNCS, vol.\u00a02027, p. 365. Springer, Heidelberg (2001)"},{"key":"12_CR24","unstructured":"Visser, E.: Language independent traversals for program transformation. In: Jeuring, J. (ed.) Workshop on Generic Programming (WGP 2000), Ponte de Lima, Portugal, Technical Report UU-CS-2000-19, Department of Information and Computing Sciences, Universiteit Utrecht (July 2000)"},{"key":"12_CR25","doi-asserted-by":"crossref","unstructured":"Wadler, P.: The essence of functional programming. In: Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Albequerque, New Mexico, pp. 1\u201314 (1992)","DOI":"10.1145\/143165.143169"},{"key":"12_CR26","first-page":"60","volume-title":"POPL 1989: Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages","author":"P. Wadler","year":"1989","unstructured":"Wadler, P., Blott, S.: How to make ad-hoc polymorphism less ad hoc. In: POPL 1989: Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 60\u201376. ACM Press, New York (1989)"},{"key":"12_CR27","doi-asserted-by":"publisher","first-page":"473","DOI":"10.1145\/1321631.1321712","volume-title":"ASE","author":"P. Weaver","year":"2007","unstructured":"Weaver, P., Kimmell, G., Frisby, N., Alexander, P.: Modular and generic programming with interpreterlib. In: Stirewalt, R.E.K., Egyed, A., Fischer, B. (eds.) ASE, pp. 473\u2013476. ACM, New York (2007)"},{"key":"12_CR28","first-page":"155","volume-title":"GPCE 2007: Proceedings of the 6th international conference on Generative programming and component engineering","author":"P. Weaver","year":"2007","unstructured":"Weaver, P., Kimmell, G., Frisby, N., Alexander, P.: Constructing language processors with algebra combinators. In: GPCE 2007: Proceedings of the 6th international conference on Generative programming and component engineering, pp. 155\u2013164. ACM Press, New York (2007)"}],"container-title":["Lecture Notes in Computer Science","Software Composition"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-02655-3_12","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,20]],"date-time":"2019-05-20T23:58:41Z","timestamp":1558396721000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-02655-3_12"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009]]},"ISBN":["9783642026546","9783642026553"],"references-count":28,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-02655-3_12","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2009]]}}}