{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:10:56Z","timestamp":1750219856504,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":51,"publisher":"ACM","license":[{"start":{"date-parts":[[2022,8,31]],"date-time":"2022-08-31T00:00:00Z","timestamp":1661904000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2022,8,31]]},"DOI":"10.1145\/3587216.3587219","type":"proceedings-article","created":{"date-parts":[[2023,6,5]],"date-time":"2023-06-05T22:16:00Z","timestamp":1686003360000},"page":"1-12","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["First-Class Data Types in Shallow Embedded Domain-Specific Languages using Metaprogramming"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4015-4878","authenticated-orcid":false,"given":"Mart","family":"Lubbers","sequence":"first","affiliation":[{"name":"Radboud University, Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3688-0957","authenticated-orcid":false,"given":"Pieter","family":"Koopman","sequence":"additional","affiliation":[{"name":"Radboud University, Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0007-1606-8412","authenticated-orcid":false,"given":"Rinus","family":"Plasmeijer","sequence":"additional","affiliation":[{"name":"Radboud University, Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,6,5]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/2364506.2364509"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596638.1596644"},{"key":"e_1_3_2_1_4_1","unstructured":"Alan Bawden. 1999. Quasiquotation in Lisp. In Olivier Danvy Ed. University of Aarhus Dept. of Computer Science(BRICS Notes Series Vol.\u00a0NS-99-1). BRICS Aarhus Denmark 88\u201399. https:\/\/doi.org\/10.1.1.22.1290  Alan Bawden. 1999. Quasiquotation in Lisp. In Olivier Danvy Ed. University of Aarhus Dept. of Computer Science(BRICS Notes Series Vol.\u00a0NS-99-1). BRICS Aarhus Denmark 88\u201399. https:\/\/doi.org\/10.1.1.22.1290"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3546189.3549921"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796809007205"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411204.1411226"},{"volume-title":"Practical Aspects of Declarative Languages, Matthew Flatt and Hai-Feng Guo (Eds.)","author":"Clifton-Everest Robert","key":"e_1_3_2_1_8_1","unstructured":"Robert Clifton-Everest , Trevor McDonell , Manuel Chakravarty , and Gabriele Keller . 2014. Embedding Foreign Code . In Practical Aspects of Declarative Languages, Matthew Flatt and Hai-Feng Guo (Eds.) . Springer International Publishing , Cham , 136\u2013151. Robert Clifton-Everest, Trevor McDonell, Manuel Chakravarty, and Gabriele Keller. 2014. Embedding Foreign Code. In Practical Aspects of Declarative Languages, Matthew Flatt and Hai-Feng Guo (Eds.). Springer International Publishing, Cham, 136\u2013151."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-25935-0_4"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2633628.2633634"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2034675.2034689"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00354-022-00177-z"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2633357.2633361"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796802004574"},{"volume-title":"Embedded Computer Systems: Architectures","author":"Folmer Hendrik","key":"e_1_3_2_1_15_1","unstructured":"Hendrik Folmer , Robert de Groote , and Marco Bekooij . 2022. High-Level Synthesis of Digital Circuits from Template Haskell and SDF-AP . In Embedded Computer Systems: Architectures , Modeling, and Simulation, Alex Orailoglu, Marc Reichenbach, and Matthias Jung (Eds.). Springer International Publishing , Cham , 3\u201327. Hendrik Folmer, Robert de Groote, and Marco Bekooij. 2022. High-Level Synthesis of Digital Circuits from Template Haskell and SDF-AP. In Embedded Computer Systems: Architectures, Modeling, and Simulation, Alex Orailoglu, Marc Reichenbach, and Matthias Jung (Eds.). Springer International Publishing, Cham, 3\u201327."},{"volume-title":"A Haskell Hosted DSL for Writing Transformation Systems","author":"Gill Andy","key":"e_1_3_2_1_16_1","unstructured":"Andy Gill . 2009. A Haskell Hosted DSL for Writing Transformation Systems . In Domain-Specific Languages, Walid\u00a0Mohamed Taha (Ed.). Springer Berlin Heidelberg , Berlin, Heidelberg , 285\u2013309. Andy Gill. 2009. A Haskell Hosted DSL for Writing Transformation Systems. In Domain-Specific Languages, Walid\u00a0Mohamed Taha (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 285\u2013309."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0129626403001380"},{"volume-title":"The Fun of Programming, Jeremy Gibbons and Oege de\u00a0Moor (Eds.)","author":"Hinze Ralf","key":"e_1_3_2_1_18_1","unstructured":"Ralf Hinze . 2003. Fun With Phantom Types . In The Fun of Programming, Jeremy Gibbons and Oege de\u00a0Moor (Eds.) . Bloomsbury Publishing , Palgrave , 245\u2013262. Ralf Hinze. 2003. Fun With Phantom Types. In The Fun of Programming, Jeremy Gibbons and Oege de\u00a0Moor (Eds.). Bloomsbury Publishing, Palgrave, 245\u2013262."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411286.1411300"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-32202-0_3"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/319838.319859"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/331963.331977"},{"key":"e_1_3_2_1_23_1","volume-title":"Parsec: Direct Style Monadic Parser Combinators For The Real World. Technical Report UU-CS-2001-27. Universiteit Utrecht, Utrecht. 22 pages.","author":"Leijen Daan","year":"2001","unstructured":"Daan Leijen and Erik Meijer . 2001 . Parsec: Direct Style Monadic Parser Combinators For The Real World. Technical Report UU-CS-2001-27. Universiteit Utrecht, Utrecht. 22 pages. Daan Leijen and Erik Meijer. 2001. Parsec: Direct Style Monadic Parser Combinators For The Real World. Technical Report UU-CS-2001-27. Universiteit Utrecht, Utrecht. 22 pages."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3354584"},{"key":"e_1_3_2_1_25_1","unstructured":"Ian Lynagh. 2003. Unrolling and Simplifying Expressions with Template Haskell. http:\/\/web.comlab.ox.ac.uk\/oucl\/work\/ian.lynagh\/papers\/  Ian Lynagh. 2003. Unrolling and Simplifying Expressions with Template Haskell. http:\/\/web.comlab.ox.ac.uk\/oucl\/work\/ian.lynagh\/papers\/"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/604174.604179"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1140335.1140352"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1291201.1291211"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3549821"},{"key":"e_1_3_2_1_30_1","volume-title":"Embedded Pattern Matching. CoRR abs\/2108.13114","author":"McDonell Trevor","year":"2021","unstructured":"Trevor McDonell , Joshua Meredith , and Gabriele Keller . 2021. Embedded Pattern Matching. CoRR abs\/2108.13114 ( 2021 ). https:\/\/arxiv.org\/abs\/2108.13114 arXiv:2108.13114. Trevor McDonell, Joshua Meredith, and Gabriele Keller. 2021. Embedded Pattern Matching. CoRR abs\/2108.13114 (2021). https:\/\/arxiv.org\/abs\/2108.13114 arXiv:2108.13114."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2847538.2847541"},{"volume-title":"Mathematics of Program Construction","author":"Norell Ulf","key":"e_1_3_2_1_32_1","unstructured":"Ulf Norell and Patrik Jansson . 2004. Prototyping Generic Programming in Template Haskell . In Mathematics of Program Construction , Dexter Kozen (Ed.). Springer Berlin Heidelberg , Berlin, Heidelberg , 314\u2013333. Ulf Norell and Patrik Jansson. 2004. Prototyping Generic Programming in Template Haskell. In Mathematics of Program Construction, Dexter Kozen (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 314\u2013333."},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-25935-0_9"},{"volume-title":"The Implementation of Functional Programming Languages","author":"Peyton\u00a0Jones Simon","key":"e_1_3_2_1_34_1","unstructured":"Simon Peyton\u00a0Jones . 1987. The Implementation of Functional Programming Languages . Prentice Hall , Hertfordshire . https:\/\/www.microsoft.com\/en-us\/research\/publication\/the-implementation-of-functional-programming-languages\/ Simon Peyton\u00a0Jones. 1987. The Implementation of Functional Programming Languages. Prentice Hall, Hertfordshire. https:\/\/www.microsoft.com\/en-us\/research\/publication\/the-implementation-of-functional-programming-languages\/"},{"key":"e_1_3_2_1_35_1","unstructured":"Simon Peyton\u00a0Jones (Ed.). 2003. Haskell 98 language and libraries: the revised report. Cambridge University Press Cambridge.  Simon Peyton\u00a0Jones (Ed.). 2003. Haskell 98 language and libraries: the revised report. Cambridge University Press Cambridge."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/53990.54010"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3406088.3409021"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3331545.3342597"},{"key":"e_1_3_2_1_39_1","volume-title":"TFP 2006","author":"Polak Gracjan","year":"2006","unstructured":"Gracjan Polak and Janusz Jarosz . 2006 . Automatic Graphical User Interface Form Generation Using Template Haskell. In Revised Selected Papers from the Seventh Symposium on Trends in Functional Programming , TFP 2006 , Nottingham, United Kingdom , 19-21 April 2006(Trends in Functional Programming, Vol.\u00a07), Henrik Nilsson (Ed.). Intellect, Bristol, UK, 1\u201311. event-place: Nottingham, UK. Gracjan Polak and Janusz Jarosz. 2006. Automatic Graphical User Interface Form Generation Using Template Haskell. In Revised Selected Papers from the Seventh Symposium on Trends in Functional Programming, TFP 2006, Nottingham, United Kingdom, 19-21 April 2006(Trends in Functional Programming, Vol.\u00a07), Henrik Nilsson (Ed.). Intellect, Bristol, UK, 1\u201311. event-place: Nottingham, UK."},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796808007089"},{"volume-title":"Optimising Embedded DSLs Using Template Haskell","author":"Seefried Sean","key":"e_1_3_2_1_41_1","unstructured":"Sean Seefried , Manuel Chakravarty , and Gabriele Keller . 2004. Optimising Embedded DSLs Using Template Haskell . In Generative Programming and Component Engineering, Gabor Karsai and Eelco Visser (Eds.). Springer Berlin Heidelberg , Berlin, Heidelberg , 186\u2013205. Sean Seefried, Manuel Chakravarty, and Gabriele Keller. 2004. Optimising Embedded DSLs Using Template Haskell. In Generative Programming and Component Engineering, Gabor Karsai and Eelco Visser (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 186\u2013205."},{"volume-title":"Semantics, Applications, and Implementation of Program Generation","author":"Sheard Tim","key":"e_1_3_2_1_42_1","unstructured":"Tim Sheard . 2001. Accomplishments and Research Challenges in Meta-programming . In Semantics, Applications, and Implementation of Program Generation , Walid Taha (Ed.). Springer Berlin Heidelberg , Berlin, Heidelberg , 2\u201344. Tim Sheard. 2001. Accomplishments and Research Challenges in Meta-programming. In Semantics, Applications, and Implementation of Program Generation, Walid Taha (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 2\u201344."},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/581690.581691"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2658761.2658770"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796808006758"},{"key":"e_1_3_2_1_46_1","unstructured":"GHC Team. 2021. GHC User\u2019s Guide Documentation. https:\/\/downloads.haskell.org\/\u00a0ghc\/latest\/docs\/users_guide.pdf  GHC Team. 2021. GHC User\u2019s Guide Documentation. https:\/\/downloads.haskell.org\/\u00a0ghc\/latest\/docs\/users_guide.pdf"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2364506.2364524"},{"key":"e_1_3_2_1_48_1","volume-title":"TFP 2005","author":"Torrano Carmen","year":"2005","unstructured":"Carmen Torrano and Clara Segura . 2005 . Strictness Analysis and let-to-case Transformation using Template Haskell. In Revised Selected Papers from the Sixth Symposium on Trends in Functional Programming , TFP 2005 , Tallinn, Estonia , 23-24 September 2005(Trends in Functional Programming, Vol.\u00a06), Marko van Eekelen (Ed.). Intellect, Bristol, UK, 429\u2013442. event-place: Talinn, Estonia. Carmen Torrano and Clara Segura. 2005. Strictness Analysis and let-to-case Transformation using Template Haskell. In Revised Selected Papers from the Sixth Symposium on Trends in Functional Programming, TFP 2005, Tallinn, Estonia, 23-24 September 2005(Trends in Functional Programming, Vol.\u00a06), Marko van Eekelen (Ed.). Intellect, Bristol, UK, 429\u2013442. event-place: Talinn, Estonia."},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/3310232.3310235"},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/3409002"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3498723"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-67438-0_2"}],"event":{"name":"IFL 2022: Symposium on Implementation and Application of Functional Languages","acronym":"IFL 2022","location":"Copenhagen Denmark"},"container-title":["Proceedings of the 34th Symposium on Implementation and Application of Functional Languages"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3587216.3587219","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3587216.3587219","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:47:15Z","timestamp":1750178835000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3587216.3587219"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,8,31]]},"references-count":51,"alternative-id":["10.1145\/3587216.3587219","10.1145\/3587216"],"URL":"https:\/\/doi.org\/10.1145\/3587216.3587219","relation":{},"subject":[],"published":{"date-parts":[[2022,8,31]]},"assertion":[{"value":"2023-06-05","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}