{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,2]],"date-time":"2026-02-02T13:48:46Z","timestamp":1770040126945,"version":"3.49.0"},"publisher-location":"Cham","reference-count":30,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030890506","type":"print"},{"value":"9783030890513","type":"electronic"}],"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-89051-3_11","type":"book-chapter","created":{"date-parts":[[2021,10,12]],"date-time":"2021-10-12T09:30:38Z","timestamp":1634031038000},"page":"182-201","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":13,"title":["Latent Effects for Reusable Language Components"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-0088-9546","authenticated-orcid":false,"given":"Birthe","family":"van den Berg","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8771-5559","authenticated-orcid":false,"given":"Tom","family":"Schrijvers","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0622-7639","authenticated-orcid":false,"given":"Casper Bach","family":"Poulsen","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4161-985X","authenticated-orcid":false,"given":"Nicolas","family":"Wu","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,10,12]]},"reference":[{"key":"11_CR1","doi-asserted-by":"crossref","unstructured":"Atkey, R., Johann, P.: Interleaving data and effects. J. Funct. Program. 25 (2015)","DOI":"10.1017\/S0956796815000209"},{"key":"11_CR2","doi-asserted-by":"crossref","unstructured":"van den Berg, B., Schrijvers, T., Bach-Poulsen, C., Wu, N.: Latent effects for reusable language components: extended version (2021)","DOI":"10.1007\/978-3-030-89051-3_11"},{"key":"11_CR3","doi-asserted-by":"crossref","unstructured":"Filinski, A.: Representing layered monads. In: 26th Symposium on Principles of Programming Languages, POPL 1999, pp. 175\u2013188 (1999)","DOI":"10.1145\/292540.292557"},{"key":"11_CR4","doi-asserted-by":"crossref","unstructured":"Forster, Y., Kammar, O., Lindley, S., Pretnar, M.: On the expressive power of user-defined effects: effect handlers, monadic reflection, delimited control. J. Funct. Program. 29, e15 (2019)","DOI":"10.1017\/S0956796819000121"},{"key":"11_CR5","doi-asserted-by":"crossref","unstructured":"Garcia, R., Lumsdaine, A., Sabry, A.: Lazy evaluation and delimited control. Log. Methods Comput. Sci. 6(3) (2010)","DOI":"10.2168\/LMCS-6(3:1)2010"},{"issue":"1\u20133","key":"11_CR6","doi-asserted-by":"publisher","first-page":"70","DOI":"10.1016\/j.tcs.2006.03.013","volume":"357","author":"M Hyland","year":"2006","unstructured":"Hyland, M., Plotkin, G., Power, J.: Combining effects: sum and tensor. Theoret. Comput. Sci. 357(1\u20133), 70\u201399 (2006)","journal-title":"Theoret. Comput. Sci."},{"key":"11_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"233","DOI":"10.1007\/978-3-642-24452-0_13","volume-title":"Implementation and Application of Functional Languages","author":"M Jaskelioff","year":"2011","unstructured":"Jaskelioff, M.: Monatron: an extensible monad transformer library. In: Scholz, S.-B., Chitil, O. (eds.) IFL 2008. LNCS, vol. 5836, pp. 233\u2013248. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-24452-0_13"},{"key":"11_CR8","doi-asserted-by":"crossref","unstructured":"Kiselyov, O., Ishii, H.: Freer monads, more extensible effects. In: 8th Symposium on Haskell, pp. 94\u2013105. ACM (2015)","DOI":"10.1145\/2887747.2804319"},{"key":"11_CR9","doi-asserted-by":"crossref","unstructured":"Leijen, D.: Type directed compilation of row-typed algebraic effects. In: 44th Symposium on Principles of Programming Languages, pp. 486\u2013499. ACM (2017)","DOI":"10.1145\/3009837.3009872"},{"issue":"4","key":"11_CR10","doi-asserted-by":"publisher","first-page":"377","DOI":"10.1007\/s10990-006-0480-6","volume":"19","author":"PB Levy","year":"2006","unstructured":"Levy, P.B.: Call-by-push-value: decomposing call-by-value and call-by-name. High. Order Symb. Comput. 19(4), 377\u2013414 (2006)","journal-title":"High. Order Symb. Comput."},{"key":"11_CR11","doi-asserted-by":"crossref","unstructured":"Liang, S., Hudak, P., Jones, M.: Monad transformers and modular interpreters. In: Symposium on Principles of Programming Languages, pp. 333\u2013343. ACM (1995)","DOI":"10.1145\/199448.199528"},{"key":"11_CR12","doi-asserted-by":"crossref","unstructured":"Lindley, S., McBride, C., McLaughlin, C.: Do be do be do. In: 44th Symposium on Principles of Programming Languages. ACM (2017)","DOI":"10.1145\/3009837.3009897"},{"key":"11_CR13","unstructured":"Moggi, E.: An abstract view of programming languages. Technical report ECS-LFCS-90-113, Edinburgh University, Department of Computer Science, June 1989"},{"key":"11_CR14","doi-asserted-by":"crossref","unstructured":"Pir\u00f3g, M., Schrijvers, T., Wu, N., Jaskelioff, M.: Syntax and semantics for operations with scopes. In: Logic in Computer Science, pp. 809\u2013818. ACM (2018)","DOI":"10.1145\/3209108.3209166"},{"key":"11_CR15","unstructured":"Pir\u00f3g, M., Wu, N., Gibbons, J.: Modules over monads and their algebras. In: 6th Conference on Algebra and Coalgebra in Computer Science. LIPIcs, vol. 35, pp. 290\u2013303. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2015)"},{"key":"11_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"342","DOI":"10.1007\/3-540-45931-6_24","volume-title":"Foundations of Software Science and Computation Structures","author":"G Plotkin","year":"2002","unstructured":"Plotkin, G., Power, J.: Notions of computation determine monads. In: Nielsen, M., Engberg, U. (eds.) FoSSaCS 2002. LNCS, vol. 2303, pp. 342\u2013356. Springer, Heidelberg (2002). https:\/\/doi.org\/10.1007\/3-540-45931-6_24"},{"issue":"1","key":"11_CR17","doi-asserted-by":"publisher","first-page":"69","DOI":"10.1023\/A:1023064908962","volume":"11","author":"GD Plotkin","year":"2003","unstructured":"Plotkin, G.D., Power, J.: Algebraic operations and generic effects. Appl. Categ. Struct. 11(1), 69\u201394 (2003)","journal-title":"Appl. Categ. Struct."},{"key":"11_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"80","DOI":"10.1007\/978-3-642-00590-9_7","volume-title":"Programming Languages and Systems","author":"G Plotkin","year":"2009","unstructured":"Plotkin, G., Pretnar, M.: Handlers of algebraic effects. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 80\u201394. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-00590-9_7"},{"key":"11_CR19","doi-asserted-by":"crossref","unstructured":"Rompf, T., Odersky, M.: Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs. In: Generative Programming and Component Engineering, pp. 127\u2013136. ACM (2010)","DOI":"10.1145\/1942788.1868314"},{"key":"11_CR20","doi-asserted-by":"crossref","unstructured":"Schrijvers, T., Pir\u00f3g, M., Wu, N., Jaskelioff, M.: Monad transformers and modular algebraic effects: what binds them together. In: 12th International Symposium on Haskell, pp. 98\u2013113. ACM (2019)","DOI":"10.1145\/3331545.3342595"},{"key":"11_CR21","doi-asserted-by":"crossref","unstructured":"Schuster, P., Brachth\u00e4user, J.I., Ostermann, K.: Compiling effect handlers in capability-passing style. Proc. ACM Program. Lang. 4(ICFP), 93:1\u201393:28 (2020)","DOI":"10.1145\/3408975"},{"issue":"12","key":"11_CR22","doi-asserted-by":"publisher","first-page":"60","DOI":"10.1145\/636517.636528","volume":"37","author":"T Sheard","year":"2002","unstructured":"Sheard, T., Jones, S.L.P.: Template meta-programming for Haskell. ACM SIGPLAN Not. 37(12), 60\u201375 (2002)","journal-title":"ACM SIGPLAN Not."},{"issue":"4","key":"11_CR23","doi-asserted-by":"publisher","first-page":"423","DOI":"10.1017\/S0956796808006758","volume":"18","author":"W Swierstra","year":"2008","unstructured":"Swierstra, W.: Data types \u00e0 la carte. J. Funct. Program. 18(4), 423\u2013436 (2008)","journal-title":"J. Funct. Program."},{"key":"11_CR24","doi-asserted-by":"crossref","unstructured":"Taha, W., Sheard, T.: Multi-stage programming with explicit annotations. In: PEPM, pp. 203\u2013217 (1997)","DOI":"10.1145\/258994.259019"},{"key":"11_CR25","doi-asserted-by":"crossref","unstructured":"Taha, W., Sheard, T.: MetaML and multi-stage programming with explicit annotations. Theor. Comput. Sci. 248(1), 211\u2013242 (2000). PEPM 1997","DOI":"10.1016\/S0304-3975(00)00053-0"},{"key":"11_CR26","unstructured":"Wadler, P.: The expression problem. Mailing list (1998)"},{"key":"11_CR27","doi-asserted-by":"crossref","unstructured":"Wei, G., Bra\u010devac, O., Tan, S., Rompf, T.: Compiling symbolic execution with staging and algebraic effects. Proc. ACM Program. Lang. 4(OOPSLA) (2020)","DOI":"10.1145\/3428232"},{"key":"11_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"302","DOI":"10.1007\/978-3-319-19797-5_15","volume-title":"Mathematics of Program Construction","author":"N Wu","year":"2015","unstructured":"Wu, N., Schrijvers, T.: Fusion for free. In: Hinze, R., Voigtl\u00e4nder, J. (eds.) MPC 2015. LNCS, vol. 9129, pp. 302\u2013322. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-19797-5_15"},{"key":"11_CR29","doi-asserted-by":"crossref","unstructured":"Wu, N., Schrijvers, T., Hinze, R.: Effect handlers in scope. In: Symposium on Haskell, pp. 1\u201312. ACM (2014)","DOI":"10.1145\/2775050.2633358"},{"key":"11_CR30","doi-asserted-by":"crossref","unstructured":"Yallop, J.: Staged generic programming. Proc. ACM Program. Lang. 1(ICFP), 29:1\u201329:29 (2017)","DOI":"10.1145\/3110273"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-89051-3_11","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,1,11]],"date-time":"2023-01-11T20:59:37Z","timestamp":1673470777000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-89051-3_11"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030890506","9783030890513"],"references-count":30,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-89051-3_11","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"12 October 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"APLAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Asian Symposium on Programming Languages and Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Chicago, IL","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"USA","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":"17 October 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18 October 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"aplas2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/conf.researchr.org\/home\/aplas-2021","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"HotCrp","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"43","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":"17","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":"40% - 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":"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)"}}]}}