{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:48:00Z","timestamp":1772164080194,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":40,"publisher":"ACM","license":[{"start":{"date-parts":[[2015,10,26]],"date-time":"2015-10-26T00:00:00Z","timestamp":1445817600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2015,10,26]]},"DOI":"10.1145\/2814204.2814213","type":"proceedings-article","created":{"date-parts":[[2015,12,4]],"date-time":"2015-12-04T09:48:03Z","timestamp":1449222483000},"page":"85-94","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Inverse macro in Scala"],"prefix":"10.1145","author":[{"given":"Hiroshi","family":"Yamaguchi","sequence":"first","affiliation":[{"name":"University of Tokyo, Japan"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shigeru","family":"Chiba","sequence":"additional","affiliation":[{"name":"University of Tokyo, Japan"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2015,10,26]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"ACM SIGPLAN Continuation Workshop 2011","author":"Asai K.","year":"2011","unstructured":"K. Asai and O. Kiselyov . Introduction to programming with shift and reset . ACM SIGPLAN Continuation Workshop 2011 , 2011 . K. Asai and O. Kiselyov. Introduction to programming with shift and reset. ACM SIGPLAN Continuation Workshop 2011, 2011."},{"key":"e_1_3_2_1_2_1","volume-title":"Style DeKalb IL","author":"Bachrach J.","year":"1999","unstructured":"J. Bachrach , K. Playford , and C. Street . D-expressions: Lisp power, dylan style . Style DeKalb IL , 1999 . J. Bachrach, K. Playford, and C. Street. D-expressions: Lisp power, dylan style. Style DeKalb IL, 1999."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2489837.2489840"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/954186.954190"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/99583.99607"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/91556.91622"},{"key":"e_1_3_2_1_7_1","volume-title":"Camlp4 reference manual","author":"de Rauglaudre D.","year":"2003","unstructured":"D. de Rauglaudre . Camlp4 reference manual , 2003 . http: \/\/caml.inria.fr\/pub\/docs\/manual-camlp4\/index.html. D. de Rauglaudre. Camlp4 reference manual, 2003. http: \/\/caml.inria.fr\/pub\/docs\/manual-camlp4\/index.html."},{"key":"e_1_3_2_1_8_1","volume-title":"Language oriented programming: The next programming paradigm","author":"Dmitriev S.","year":"2004","unstructured":"S. Dmitriev . Language oriented programming: The next programming paradigm , 2004 . S. Dmitriev. Language oriented programming: The next programming paradigm, 2004."},{"key":"e_1_3_2_1_9_1","unstructured":"https:\/\/www.jetbrains.com\/mps\/docs\/ Language_Oriented_Programming.pdf.  https:\/\/www.jetbrains.com\/mps\/docs\/ Language_Oriented_Programming.pdf."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048099"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/73560.73576"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/174675.178047"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/292540.292557"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1706299.1706354"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/155090.155113"},{"key":"e_1_3_2_1_16_1","volume-title":"Language workbenches: The killer-app for domain specific languages?","author":"Fowler M.","year":"2005","unstructured":"M. Fowler . Language workbenches: The killer-app for domain specific languages? , 2005 . http:\/\/martinfowler.com\/articles\/ languageWorkbench.html. M. Fowler. Language workbenches: The killer-app for domain specific languages?, 2005. http:\/\/martinfowler.com\/articles\/ languageWorkbench.html."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/224164.224173"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.5555\/888856"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2577080.2577092"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1869542.1869592"},{"key":"e_1_3_2_1_21_1","series-title":"Lecture Notes in Computer Science","first-page":"242","volume-title":"ECOOP\u201997 \u2014 Object-Oriented Programming","author":"Kiczales G.","unstructured":"G. Kiczales , J. Lamping , A. Mendhekar , C. Maeda , C. Lopes , J.-M. Loingtier , and J. Irwin . Aspect-oriented programming . In ECOOP\u201997 \u2014 Object-Oriented Programming , volume 1241 of Lecture Notes in Computer Science , pages 220\u2013 242 . Springer Berlin Heidelberg, 1997. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In ECOOP\u201997 \u2014 Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 220\u2013242. Springer Berlin Heidelberg, 1997."},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/646158.680006"},{"key":"e_1_3_2_1_23_1","volume-title":"MetaOCaml \u2014 an OCaml dialect for multi-stage programming","author":"Kiselyov O.","year":"2010","unstructured":"O. Kiselyov . MetaOCaml \u2014 an OCaml dialect for multi-stage programming , 2010 . http:\/\/okmij.org\/ftp\/ML\/MetaOCaml. html. O. Kiselyov. MetaOCaml \u2014 an OCaml dialect for multi-stage programming, 2010. http:\/\/okmij.org\/ftp\/ML\/MetaOCaml. html."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/319838.319859"},{"key":"e_1_3_2_1_25_1","unstructured":"S. Marlow. The haskell 2010 language report 2009. http: \/\/www.haskell.org\/onlinereport\/haskell2010\/.  S. Marlow. The haskell 2010 language report 2009. http: \/\/www.haskell.org\/onlinereport\/haskell2010\/."},{"key":"e_1_3_2_1_26_1","volume-title":"Applicative do-notation","author":"Marlow S.","year":"2013","unstructured":"S. Marlow . Applicative do-notation , 2013 . https:\/\/ghc.haskell. org\/trac\/ghc\/wiki\/ApplicativeDo. S. Marlow. Applicative do-notation, 2013. https:\/\/ghc.haskell. org\/trac\/ghc\/wiki\/ApplicativeDo."},{"key":"e_1_3_2_1_27_1","series-title":"Lecture Notes in Computer Science","first-page":"121","volume-title":"Programming Languages and Systems","author":"Masuhara H.","unstructured":"H. Masuhara and K. Kawauchi . Dataflow pointcut in aspect-oriented programming . In Programming Languages and Systems , volume 2895 of Lecture Notes in Computer Science , pages 105\u2013 121 . Springer Berlin Heidelberg, 2003. H. Masuhara and K. Kawauchi. Dataflow pointcut in aspect-oriented programming. In Programming Languages and Systems, volume 2895 of Lecture Notes in Computer Science, pages 105\u2013121. Springer Berlin Heidelberg, 2003."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796807006326"},{"key":"e_1_3_2_1_29_1","volume-title":"MFPS 2001, Seventeenth Conference on the Mathematical Foundations of Programming Semantics","volume":"45","author":"Nielsen L. R.","year":"2001","unstructured":"L. R. Nielsen . A selective CPS transformation . In MFPS 2001, Seventeenth Conference on the Mathematical Foundations of Programming Semantics , volume 45 of Electronic Notes in Theoretical Computer Science, pages 311\u2013331. Elsevier , 2001 . L. R. Nielsen. A selective CPS transformation. In MFPS 2001, Seventeenth Conference on the Mathematical Foundations of Programming Semantics, volume 45 of Electronic Notes in Theoretical Computer Science, pages 311\u2013331. Elsevier, 2001."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_5"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/99583.99610"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1868294.1868314"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596550.1596596"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10990-013-9096-9"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594316"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/636517.636528"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01806126"},{"key":"e_1_3_2_1_38_1","volume-title":"Third International Conference on Generative Programming and Component Engineering (GPCE\u201904)","author":"Skalski K.","year":"2004","unstructured":"K. Skalski , M. Moskal , and P. Olszta . Meta-programming in nemerle . Third International Conference on Generative Programming and Component Engineering (GPCE\u201904) , 2004 . K. Skalski, M. Moskal, and P. Olszta. Meta-programming in nemerle. Third International Conference on Generative Programming and Component Engineering (GPCE\u201904), 2004."},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2584665"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/258993.259019"}],"event":{"name":"GPCE'15: Generative Programming: Concepts and Experiences","location":"Pittsburgh PA USA","acronym":"GPCE'15","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2814204.2814213","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2814204.2814213","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:12:47Z","timestamp":1750212767000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2814204.2814213"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,10,26]]},"references-count":40,"alternative-id":["10.1145\/2814204.2814213","10.1145\/2814204"],"URL":"https:\/\/doi.org\/10.1145\/2814204.2814213","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2936314.2814213","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2015,10,26]]},"assertion":[{"value":"2015-10-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}