{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T23:19:45Z","timestamp":1743031185466,"version":"3.40.3"},"publisher-location":"Cham","reference-count":22,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030839772"},{"type":"electronic","value":"9783030839789"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/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":"https:\/\/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-83978-9_3","type":"book-chapter","created":{"date-parts":[[2021,8,22]],"date-time":"2021-08-22T23:03:52Z","timestamp":1629673432000},"page":"44-66","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Dynamic Editors for Well-Typed Expressions"],"prefix":"10.1007","author":[{"given":"Pieter","family":"Koopman","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Steffen","family":"Michels","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rinus","family":"Plasmeijer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2021,8,23]]},"reference":[{"key":"3_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1007\/3-540-44854-3_2","volume-title":"Implementation of Functional Languages","author":"P Achten","year":"2001","unstructured":"Achten, P., Alimarine, A., Plasmeijer, R.: When generic functions use dynamic values. In: Pe\u00f1a, R., Arts, T. (eds.) IFL 2002. LNCS, vol. 2670, pp. 17\u201333. Springer, Heidelberg (2001). https:\/\/doi.org\/10.1007\/3-540-44854-3_2"},{"key":"3_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"187","DOI":"10.1007\/978-3-319-15940-9_5","volume-title":"Central European Functional Programming School","author":"P Achten","year":"2015","unstructured":"Achten, P., Koopman, P., Plasmeijer, R.: An introduction to task oriented programming. In: Zs\u00f3k, V., Horv\u00e1th, Z., Csat\u00f3, L. (eds.) CEFP 2013. LNCS, vol. 8606, pp. 187\u2013245. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-15940-9_5"},{"key":"3_CR3","unstructured":"Achten, P.: Clean for Haskell98 programmers - a quick reference guide, July 13 2007. http:\/\/www.mbsd.cs.ru.nl\/publications\/papers\/2007\/achp2007-CleanHaskellQuickGuide.pdf"},{"key":"3_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"168","DOI":"10.1007\/3-540-46028-4_11","volume-title":"Implementation of Functional Languages","author":"A Alimarine","year":"2002","unstructured":"Alimarine, A., Plasmeijer, R.: A generic programming extension for clean. In: Arts, T., Mohnen, M. (eds.) IFL 2001. LNCS, vol. 2312, pp. 168\u2013185. Springer, Heidelberg (2002). https:\/\/doi.org\/10.1007\/3-540-46028-4_11"},{"key":"3_CR5","doi-asserted-by":"crossref","unstructured":"Cheney, J., Hinze, R.: A lightweight implementation of generics and dynamics. In: Proceedings of the 2002 ACM SIGPLAN Haskell Workshop, June 2004","DOI":"10.1145\/581690.581698"},{"key":"3_CR6","unstructured":"Gordon, A., Peyton Johnes, S.: LAMBDA: the ultimate excel worksheet function (2021). https:\/\/www.microsoft.com\/en-us\/research\/blog\/lambda-the-ultimatae-excel-worksheet-function\/"},{"key":"3_CR7","unstructured":"HaskellWiki: Applications and libraries\/GUI libraries \u2013 HaskellWiki (2019). https:\/\/wiki.haskell.org\/index.php?title=Applications_and_libraries\/GUI_libraries&oldid=63014. Accessed 6 Apr 2020"},{"key":"3_CR8","unstructured":"Hinze, R.: Memo functions, polytypically! In: Proceedings of the 2nd Workshop on Generic Programming, Ponte de, pp. 17\u201332 (2000)"},{"key":"3_CR9","unstructured":"Hughes, J.: Restricted data types in Haskell. In: Proceedings of the 1999 Haskell Workshop (1999)"},{"key":"3_CR10","doi-asserted-by":"publisher","unstructured":"Jones, W., Field, T., Allwood, T.: Deconstraining dsls (2012). https:\/\/doi.org\/10.1145\/2364527.2364571","DOI":"10.1145\/2364527.2364571"},{"key":"3_CR11","doi-asserted-by":"crossref","unstructured":"Mestanogullari, A., Hahn, S., Arni, J.K., L\u00f6h, A.: Type-level web APIs with servant: an exercise in domain-specific generic programming. In: Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming, pp. 1\u201312. ACM (2015)","DOI":"10.1145\/2808098.2808099"},{"issue":"1","key":"3_CR12","doi-asserted-by":"publisher","first-page":"86","DOI":"10.1145\/3093333.3009900","volume":"52","author":"C Omar","year":"2017","unstructured":"Omar, C., Voysey, I., Hilton, M., Aldrich, J., Hammer, M.A.: Hazelnut: a bidirectionally typed structure editor calculus. SIGPLAN Not. 52(1), 86\u201399 (2017). https:\/\/doi.org\/10.1145\/3093333.3009900","journal-title":"SIGPLAN Not."},{"key":"3_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"169","DOI":"10.1007\/3-540-48515-5_11","volume-title":"Implementation of Functional Languages","author":"M Pil","year":"1999","unstructured":"Pil, M.: Dynamic types and type dependent functions. In: Hammond, K., Davie, T., Clack, C. (eds.) IFL 1998. LNCS, vol. 1595, pp. 169\u2013185. Springer, Heidelberg (1999). https:\/\/doi.org\/10.1007\/3-540-48515-5_11"},{"key":"3_CR14","doi-asserted-by":"publisher","unstructured":"Plasmeijer, R., Lijnse, B., Michels, S., Achten, P., Koopman, P.: Task-oriented programming in a pure functional language. In: Proceedings of the 14th PPDP Symposium, pp. 195\u2013206. ACM (2012). https:\/\/doi.org\/10.1145\/2370776.2370801","DOI":"10.1145\/2370776.2370801"},{"key":"3_CR15","unstructured":"Plasmeijer, R., van Eekelen, M.: Clean language report (2012). https:\/\/clean.cs.ru.nl\/Documentation"},{"key":"3_CR16","unstructured":"Richardson, C., Rymer, J.R.: New development platforms emerge for customer-facing applications (2014). www.forrester.com"},{"key":"3_CR17","doi-asserted-by":"crossref","unstructured":"Saraiva, J., Swierstra, D.: Generating spreadsheet-like tools from strong attribute grammars. In: Pfenning, F., Smaragdakis, Y. (eds.) Generative Programming and Component Engineering, pp. 307\u2013323 (2003)","DOI":"10.1007\/978-3-540-39815-8_19"},{"key":"3_CR18","doi-asserted-by":"publisher","unstructured":"Schrijvers, T., Peyton Jones, S., Sulzmann, M., Vytiniotis, D.: Complete and decidable type inference for GADTs. In: Proceedings of the 14th ACM SIGPLAN ICFP, ICFP 2009, pp. 341\u2013352. ACM (2009). https:\/\/doi.org\/10.1145\/1596550.1596599","DOI":"10.1145\/1596550.1596599"},{"key":"3_CR19","unstructured":"Snoyman, M.: Developing Web Apps with Haskell and Yesod. O\u2019Reilly Media, Sebastopol (2015)"},{"key":"3_CR20","unstructured":"team, H.: Happstack. happstack.com. Accessed 6 Apr 2020"},{"key":"3_CR21","unstructured":"Vincent, P., Lijjima, K., Driver, M., Wong, J., Natis, Y.: Magic quadrant for enterprise low-code application platforms (2019). www.gartner.com"},{"key":"3_CR22","unstructured":"Wikipedia contributors: Low-code development platform \u2013 Wikipedia (2020). https:\/\/en.wikipedia.org\/w\/index.php?title=Low-code_development_platform&oldid=944262991. Accessed 14 Mar 2020"}],"container-title":["Lecture Notes in Computer Science","Trends in Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-83978-9_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,8,22]],"date-time":"2021-08-22T23:25:27Z","timestamp":1629674727000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-83978-9_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030839772","9783030839789"],"references-count":22,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-83978-9_3","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":"23 August 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"TFP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Trends in Functional Programming","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"17 February 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 February 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tfp2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/tfp2021.org\/","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":"18","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":"6","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":"33% - 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-4","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)"}}]}}