{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T14:51:38Z","timestamp":1742914298974,"version":"3.40.3"},"publisher-location":"Cham","reference-count":27,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030059972"},{"type":"electronic","value":"9783030059989"}],"license":[{"start":{"date-parts":[[2018,12,19]],"date-time":"2018-12-19T00:00:00Z","timestamp":1545177600000},"content-version":"tdm","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":[[2019]]},"DOI":"10.1007\/978-3-030-05998-9_12","type":"book-chapter","created":{"date-parts":[[2018,12,18]],"date-time":"2018-12-18T12:05:24Z","timestamp":1545134724000},"page":"187-203","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Creating Domain-Specific Languages by Composing Syntactical Constructs"],"prefix":"10.1007","author":[{"given":"Viktor","family":"Palmkvist","sequence":"first","affiliation":[]},{"given":"David","family":"Broman","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2018,12,19]]},"reference":[{"key":"12_CR1","doi-asserted-by":"crossref","unstructured":"Augustsson, L., Mansell, H., Sittampalam, G.: Paradise: a two-stage dsl embedded in haskell. In: Proceedings of the 13th ACM SIGPLAN International Conference on Functional Programming, ICFP 2008, pp. 225\u2013228. ACM (2008)","DOI":"10.1145\/1411204.1411236"},{"issue":"1","key":"12_CR2","doi-asserted-by":"publisher","first-page":"174","DOI":"10.1145\/291251.289440","volume":"34","author":"Per Bjesse","year":"1999","unstructured":"Bjesse, P., Claessen, K., Sheeran, M., Singh, S.: Lava: hardware design in Haskell. In: Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming, pp. 174\u2013184. ACM Press, New York (1998)","journal-title":"ACM SIGPLAN Notices"},{"issue":"1","key":"12_CR3","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1016\/j.scico.2007.11.003","volume":"72","author":"M Bravenboer","year":"2008","unstructured":"Bravenboer, M., Kalleberg, K.T., Vermaas, R., Visser, E.: Stratego\/XT 0.17. A language and toolset for program transformation. Sci. Comput. Program. 72(1), 52\u201370 (2008)","journal-title":"Sci. Comput. Program."},{"key":"12_CR4","doi-asserted-by":"crossref","unstructured":"Broman, D., Siek, J.G.: Gradually typed symbolic expressions. In: Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2018, pp. 15\u201329. ACM, New York (2018)","DOI":"10.1145\/3162068"},{"issue":"4","key":"12_CR5","doi-asserted-by":"publisher","first-page":"477","DOI":"10.1145\/321138.321145","volume":"9","author":"DG Cantor","year":"1962","unstructured":"Cantor, D.G.: On the ambiguity problem of backus systems. J. ACM 9(4), 477\u2013479 (1962)","journal-title":"J. ACM"},{"issue":"4","key":"12_CR6","doi-asserted-by":"publisher","first-page":"295","DOI":"10.1007\/BF01806308","volume":"5","author":"RK Dybvig","year":"1993","unstructured":"Dybvig, R.K., Hieb, R., Bruggeman, C.: Syntactic abstraction in scheme. LISP Symb. Comput. 5(4), 295\u2013326 (1993)","journal-title":"LISP Symb. Comput."},{"issue":"2","key":"12_CR7","doi-asserted-by":"publisher","first-page":"94","DOI":"10.1145\/362007.362035","volume":"13","author":"J Earley","year":"1970","unstructured":"Earley, J.: An efficient context-free parsing algorithm. Commun. ACM 13(2), 94\u2013102 (1970)","journal-title":"Commun. ACM"},{"issue":"1","key":"12_CR8","doi-asserted-by":"publisher","first-page":"14","DOI":"10.1016\/j.scico.2007.02.003","volume":"69","author":"T Ekman","year":"2007","unstructured":"Ekman, T., Hedin, G.: The JastAdd system \u2013 modular extensible compiler construction. Sci. Comput. Program. 69(1), 14\u201326 (2007)","journal-title":"Sci. Comput. Program."},{"key":"12_CR9","doi-asserted-by":"crossref","unstructured":"Flatt, M.: Binding as sets of scopes. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, pp. 705\u2013717. ACM, New York (2016)","DOI":"10.1145\/2837614.2837620"},{"key":"12_CR10","unstructured":"Flatt, M., PLT: Reference: Racket. Technical report PLT-TR-2010-1, PLT Design Inc. (2010)"},{"key":"12_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"138","DOI":"10.1007\/978-3-642-24452-0_8","volume-title":"Implementation and Application of Functional Languages","author":"G Giorgidze","year":"2011","unstructured":"Giorgidze, G., Nilsson, H.: Embedding a functional hybrid modelling language in haskell. In: Scholz, S.-B., Chitil, O. (eds.) IFL 2008. LNCS, vol. 5836, pp. 138\u2013155. Springer, Heidelberg (2011). \n                    https:\/\/doi.org\/10.1007\/978-3-642-24452-0_8"},{"issue":"11","key":"12_CR12","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\u2013reference manual\u2013. ACM SIGPLAN Not. 24(11), 43\u201375 (1989)","journal-title":"ACM SIGPLAN Not."},{"key":"12_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"48","DOI":"10.1007\/978-3-540-78739-6_4","volume-title":"Programming Languages and Systems","author":"D Herman","year":"2008","unstructured":"Herman, D., Wand, M.: A theory of hygienic macros. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 48\u201362. Springer, Heidelberg (2008). \n                    https:\/\/doi.org\/10.1007\/978-3-540-78739-6_4"},{"key":"12_CR14","doi-asserted-by":"publisher","first-page":"196","DOI":"10.1145\/242224.242477","volume":"28","author":"P Hudak","year":"1996","unstructured":"Hudak, P.: Building domain-specific embedded languages. ACM Comput. Surv. 28, 196 (1996)","journal-title":"ACM Comput. Surv."},{"issue":"OOPSLA","key":"12_CR15","doi-asserted-by":"publisher","first-page":"98:1","DOI":"10.1145\/3138224","volume":"1","author":"T Kaminski","year":"2017","unstructured":"Kaminski, T., Kramer, L., Carlson, T., Van Wyk, E.: Reliable and automatic composition of language extensions to C: the ableC extensible language framework. Proc. ACM Program. Lang. 1(OOPSLA), 98:1\u201398:29 (2017)","journal-title":"Proc. ACM Program. Lang."},{"key":"12_CR16","doi-asserted-by":"crossref","unstructured":"Lorenzen, F., Erdweg, S.: Sound type-dependent syntactic language extension. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), vol. 51, pp. 204\u2013216. ACM Press (2016)","DOI":"10.1145\/2914770.2837644"},{"key":"12_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"105","DOI":"10.1007\/978-3-662-44202-9_5","volume-title":"ECOOP 2014 \u2013 Object-Oriented Programming","author":"C Omar","year":"2014","unstructured":"Omar, C., Kurilova, D., Nistor, L., Chung, B., Potanin, A., Aldrich, J.: Safely composable type-specific languages. In: Jones, R. (ed.) ECOOP 2014. LNCS, vol. 8586, pp. 105\u2013130. Springer, Heidelberg (2014). \n                    https:\/\/doi.org\/10.1007\/978-3-662-44202-9_5"},{"key":"12_CR18","unstructured":"Palmkvist, V.: Building Programming Languages, Construction by Construction. Master\u2019s thesis, KTH Royal Institute of Technology (2018)"},{"key":"12_CR19","doi-asserted-by":"crossref","unstructured":"Rompf, T., Odersky, M.: Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs. In: Proceedings of the Ninth International Conference on Generative Programming and Component Engineering, GPCE 2010, pp. 127\u2013136. ACM, New York (2010)","DOI":"10.1145\/1868294.1868314"},{"key":"12_CR20","doi-asserted-by":"crossref","unstructured":"Sheard, T., Jones, S.P.: Template meta-programming for Haskell. In: Haskell 2002: Proceedings of the 2002 ACM SIGPLAN Workshop on Haskell, pp. 1\u201316. ACM Press, New York (2002)","DOI":"10.1145\/581690.581691"},{"key":"12_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"69","DOI":"10.1007\/978-3-642-40447-4_5","volume-title":"Trends in Functional Programming","author":"E Silkensen","year":"2013","unstructured":"Silkensen, E., Siek, J.: Well-typed islands parse faster. In: Loidl, H.-W., Pe\u00f1a, R. (eds.) TFP 2012. LNCS, vol. 7829, pp. 69\u201384. Springer, Heidelberg (2013). \n                    https:\/\/doi.org\/10.1007\/978-3-642-40447-4_5"},{"key":"12_CR22","doi-asserted-by":"crossref","unstructured":"Stansifer, P., Wand, M.: Romeo. In: Proceedings of the 19th ACM SIGPLAN International Conference on Functional Programming - ICFP 2014, vol. 49, pp. 53\u201365. ACM Press, New York (2014)","DOI":"10.1145\/2692915.2628162"},{"key":"12_CR23","doi-asserted-by":"crossref","unstructured":"Steele, Jr., G.L.: An overview of COMMON LISP. In: Proceedings of the 1982 ACM Symposium on LISP and Functional Programming, LFP 1982, pp. 98\u2013107. ACM, New York (1982)","DOI":"10.1145\/800068.802140"},{"issue":"4s","key":"12_CR24","first-page":"134:1","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. Embed. Comput. Syst. (TECS) 13(4s), 134:1\u2013134:25 (2014)","journal-title":"ACM Trans. Embed. Comput. Syst. (TECS)"},{"issue":"1\u20132","key":"12_CR25","doi-asserted-by":"crossref","first-page":"39","DOI":"10.1016\/j.scico.2009.07.004","volume":"75","author":"E Wyk Van","year":"2010","unstructured":"Van Wyk, E., Bodin, D., Gao, J., Krishnan, L.: Silver: an extensible attribute grammar system. Sci. Comput. Program. 75(1\u20132), 39\u201354 (2010)","journal-title":"Sci. Comput. Program."},{"key":"12_CR26","doi-asserted-by":"crossref","unstructured":"Van Wyk, E.R., Schwerdfeger, A.C.: Context-aware scanning for parsing extensible languages. In: Proceedings of the 6th International Conference on Generative Programming and Component Engineering - GPCE 2007, p. 63. ACM Press, New York (2007)","DOI":"10.1145\/1289971.1289983"},{"key":"12_CR27","doi-asserted-by":"crossref","unstructured":"Wan, Z., Hudak, P.: Functional reactive programming from first principles. In: PLDI 2000: Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation, pp. 242\u2013252. ACM Press, New York (2000)","DOI":"10.1145\/358438.349331"}],"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-05998-9_12","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,29]],"date-time":"2019-08-29T07:37:46Z","timestamp":1567064266000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-05998-9_12"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,12,19]]},"ISBN":["9783030059972","9783030059989"],"references-count":27,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-05998-9_12","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018,12,19]]},"assertion":[{"value":"19 December 2018","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":"Lisbon","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"14 January 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"15 January 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"padl2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/uta.engineering\/conferences\/bi-2018\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}