{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T09:28:27Z","timestamp":1742981307649,"version":"3.40.3"},"publisher-location":"Cham","reference-count":24,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030674373"},{"type":"electronic","value":"9783030674380"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021]]},"DOI":"10.1007\/978-3-030-67438-0_2","type":"book-chapter","created":{"date-parts":[[2021,1,15]],"date-time":"2021-01-15T11:04:40Z","timestamp":1610708680000},"page":"20-36","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["On Adding Pattern Matching to Haskell-Based Deeply Embedded Domain Specific Languages"],"prefix":"10.1007","author":[{"given":"David","family":"Young","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mark","family":"Grebe","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andy","family":"Gill","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2021,1,13]]},"reference":[{"key":"2_CR1","doi-asserted-by":"publisher","unstructured":"Atkey, R., Lindley, S., Yallop, J.: Unembedding domain-specific languages. In: Proceedings of the 2nd ACM SIGPLAN Symposium on Haskell, Haskell 2009, pp. 37\u201348. Association for Computing Machinery, New York (2009). https:\/\/doi.org\/10.1145\/1596638.1596644","DOI":"10.1145\/1596638.1596644"},{"key":"2_CR2","doi-asserted-by":"crossref","unstructured":"Axelsson, E., et al.: Feldspar: a domain specific language for digital signal processing algorithms. In: MEMOCODE 2010, pp. 169\u2013178 (2010)","DOI":"10.1109\/MEMCOD.2010.5558637"},{"key":"2_CR3","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511763199","volume-title":"Pearls of Functional Algorithm Design","author":"R Bird","year":"2010","unstructured":"Bird, R.: Pearls of Functional Algorithm Design. Cambridge University Press, Cambridge (2010). https:\/\/doi.org\/10.1017\/CBO9780511763199"},{"key":"2_CR4","unstructured":"Elliott, C.: (2015). https:\/\/github.com\/conal\/lambda-ccc"},{"key":"2_CR5","unstructured":"Elliott, C.: (2015). https:\/\/github.com\/conal\/talk-2015-haskell-to-hardware"},{"key":"2_CR6","unstructured":"Elliott, C.: (2016). https:\/\/github.com\/conal\/reification-rules"},{"key":"2_CR7","doi-asserted-by":"publisher","unstructured":"Elliott, C.: Compiling to categories. Proc. ACM Program. Lang. 1(ICFP) (2017). https:\/\/doi.org\/10.1145\/3110271. http:\/\/conal.net\/papers\/compiling-to-categories","DOI":"10.1145\/3110271"},{"key":"2_CR8","doi-asserted-by":"crossref","unstructured":"Elliott, C.: The simple essence of automatic differentiation. In: Proceedings of the ACM on Programming Languages (ICFP) (2018). http:\/\/conal.net\/papers\/essence-of-ad\/","DOI":"10.1145\/3236765"},{"key":"2_CR9","unstructured":"Elliott, C.: Generalized convolution and efficient language recognition (extended version). CoRR abs\/1903.10677 (2019). https:\/\/arxiv.org\/abs\/1903.10677"},{"key":"2_CR10","doi-asserted-by":"crossref","unstructured":"Elliott, C., Finne, S., de Moor, O.: Compiling embedded languages. J. Funct. Program. 13(2) (2003). http:\/\/conal.net\/papers\/jfp-saig\/. updated version of paper by the same name that appeared in SAIG \u201900 proceedings","DOI":"10.1017\/S0956796802004574"},{"key":"2_CR11","doi-asserted-by":"crossref","unstructured":"Elliott, T., et al.: Guilt free ivory. In: Proceedings of the 8th ACM SIGPLAN Symposium on Haskell, pp. 189\u2013200. ACM (2015)","DOI":"10.1145\/2887747.2804318"},{"key":"2_CR12","doi-asserted-by":"publisher","unstructured":"Ganz, S.E., Friedman, D.P., Wand, M.: Trampolined style. In: Proceedings of the Fourth ACM SIGPLAN International Conference on Functional Programming, ICFP 1999, pp. 18\u201327. Association for Computing Machinery, New York (1999). https:\/\/doi.org\/10.1145\/317636.317779","DOI":"10.1145\/317636.317779"},{"key":"2_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"151","DOI":"10.1007\/3-540-47797-7_5","volume-title":"Algebraic and Coalgebraic Methods in the Mathematics of Program Construction","author":"J Gibbons","year":"2002","unstructured":"Gibbons, J.: Calculating functional programs. In: Backhouse, R., Crole, R., Gibbons, J. (eds.) Algebraic and Coalgebraic Methods in the Mathematics of Program Construction. LNCS, vol. 2297, pp. 151\u2013203. Springer, Heidelberg (2002). https:\/\/doi.org\/10.1007\/3-540-47797-7_5"},{"issue":"6","key":"2_CR14","doi-asserted-by":"publisher","first-page":"42","DOI":"10.1145\/2605205","volume":"57","author":"A Gill","year":"2014","unstructured":"Gill, A.: Domain-specific languages and code synthesis using Haskell. Commun. ACM 57(6), 42\u201349 (2014). https:\/\/doi.org\/10.1145\/2605205","journal-title":"Commun. ACM"},{"issue":"2","key":"2_CR15","doi-asserted-by":"publisher","first-page":"227","DOI":"10.1017\/S0956796809007175","volume":"19","author":"A Gill","year":"2009","unstructured":"Gill, A., Hutton, G.: The worker\/wrapper transformation. J. Funct. Program. 19(2), 227\u2013251 (2009)","journal-title":"J. Funct. Program."},{"key":"2_CR16","doi-asserted-by":"publisher","unstructured":"Grebe, M., Young, D., Gill, A.: Rewriting a shallow DSL using a GHC compiler extension. In: Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2017, pp. 246\u2013258. ACM, New York (2017). https:\/\/doi.org\/10.1145\/3136040.3136048","DOI":"10.1145\/3136040.3136048"},{"key":"2_CR17","doi-asserted-by":"publisher","unstructured":"Jovanovic, V., Shaikhha, A., Stucki, S., Nikolaev, V., Koch, C., Odersky, M.: Yin-yang: Concealing the deep embedding of DSLs. In: Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences, GPCE 2014, pp. 73\u201382. Association for Computing Machinery, New York (2014). https:\/\/doi.org\/10.1145\/2658761.2658771","DOI":"10.1145\/2658761.2658771"},{"key":"2_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"85","DOI":"10.1007\/978-3-642-34407-7_6","volume-title":"Implementation and Application of Functional Languages","author":"A Persson","year":"2012","unstructured":"Persson, A., Axelsson, E., Svenningsson, J.: Generic monadic constructs for embedded languages. In: Gill, A., Hage, J. (eds.) IFL 2011. LNCS, vol. 7257, pp. 85\u201399. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-34407-7_6"},{"key":"2_CR19","unstructured":"Sculthorpe, N., Bracker, J., Giorgidze, G., Gill, A.: The constrained-monad problem. In: Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming, pp. 287\u2013298. ACM (2013). http:\/\/dl.acm.org\/citation.cfm?doid=2500365.2500602"},{"issue":"4s","key":"2_CR20","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2584665","volume":"13","author":"AK Sujeeth","year":"2014","unstructured":"Sujeeth, A.K., et al.: Delite: a compiler architecture for performance-oriented embedded domain-specific languages. ACM Trans. Embedd. Comput. Syst. (TECS) 13(4s), 1\u201325 (2014)","journal-title":"ACM Trans. Embedd. Comput. Syst. (TECS)"},{"key":"2_CR21","doi-asserted-by":"publisher","unstructured":"Sujeeth, A.K., et al.: Forge: generating a high performance DSL implementation from a declarative specification. In: Proceedings of the 12th International Conference on Generative Programming: Concepts and Experiences, GPCE 2013, pp. 145\u2013154. ACM, New York (2013). https:\/\/doi.org\/10.1145\/2517208.2517220","DOI":"10.1145\/2517208.2517220"},{"key":"2_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1007\/978-3-642-40447-4_2","volume-title":"Trends in Functional Programming","author":"J Svenningsson","year":"2013","unstructured":"Svenningsson, J., Axelsson, E.: Combining deep and shallow embedding for EDSL. In: Loidl, H.-W., Pe\u00f1a, R. (eds.) TFP 2012. LNCS, vol. 7829, pp. 21\u201336. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-40447-4_2"},{"key":"2_CR23","doi-asserted-by":"crossref","unstructured":"Svenningsson, J.D., Svensson, B.J.: Simple and compositional reification of monadic embedded languages. In: Proceedings of the 18th International Conference on Functional Programming, pp. 299\u2013304. ACM (2013)","DOI":"10.1145\/2500365.2500611"},{"key":"2_CR24","unstructured":"Vytiniotis, D., Weirich, S., Peyton Jones, S.: Simple unification-based type inference for GADTs. In: International Conference on Functional Programming (ICFP 2006). ACM SIGPLAN (2006). https:\/\/www.microsoft.com\/en-us\/research\/publication\/simple-unification-based-type-inference-for-gadts\/. 2016 ACM SIGPLAN Most Influential ICFP Paper Award"}],"container-title":["Lecture Notes in Computer Science","Practical Aspects of Declarative Languages"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-67438-0_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,1,15]],"date-time":"2021-01-15T11:07:03Z","timestamp":1610708823000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-67438-0_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030674373","9783030674380"],"references-count":24,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-67438-0_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"13 January 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"PADL","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Practical Aspects of Declarative Languages","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Copenhagen","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Denmark","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18 January 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 January 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"23","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"padl2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/popl21.sigplan.org\/home\/PADL-2021","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"21","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"10","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"48% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3,5","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Due to the Corona pandemic this event was held virtually.","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}