{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,5]],"date-time":"2026-02-05T08:57:14Z","timestamp":1770281834058,"version":"3.49.0"},"publisher-location":"Cham","reference-count":36,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783319897189","type":"print"},{"value":"9783319897196","type":"electronic"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"unspecified","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":[[2018]]},"DOI":"10.1007\/978-3-319-89719-6_6","type":"book-chapter","created":{"date-parts":[[2018,4,18]],"date-time":"2018-04-18T10:44:21Z","timestamp":1524048261000},"page":"98-117","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":21,"title":["Concurrent System Programming with Effect Handlers"],"prefix":"10.1007","author":[{"given":"Stephen","family":"Dolan","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Spiros","family":"Eliopoulos","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Daniel","family":"Hillerstr\u00f6m","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Anil","family":"Madhavapeddy","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3491-1780","authenticated-orcid":false,"given":"K. C.","family":"Sivaramakrishnan","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Leo","family":"White","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,4,19]]},"reference":[{"issue":"1","key":"6_CR1","doi-asserted-by":"publisher","first-page":"7","DOI":"10.1023\/A:1010051815785","volume":"11","author":"H Abelson","year":"1998","unstructured":"Abelson, H., Dybvig, R.K., Haynes, C.T., Rozas, G.J., Adams, N., Friedman, D.P., Kohlbecker, E., Steele, G., Bartley, D.H., Halstead, R., et al.: Revised(5) report on the algorithmic language Scheme. High. Order Symbolic Comput. 11(1), 7\u2013105 (1998)","journal-title":"High. Order Symbolic Comput."},{"key":"6_CR2","unstructured":"Aeio: An asynchronous, effect-based I\/O library (2017). \nhttps:\/\/github.com\/kayceesrk\/ocaml-aeio\n\n. Accessed 05 May 2017"},{"issue":"4","key":"6_CR3","doi-asserted-by":"publisher","first-page":"48","DOI":"10.1145\/3015146","volume":"60","author":"L Barroso","year":"2017","unstructured":"Barroso, L., Marty, M., Patterson, D., Ranganathan, P.: Attack of the killer microseconds. Commun. ACM 60(4), 48\u201354 (2017). \nhttps:\/\/doi.org\/10.1145\/3015146","journal-title":"Commun. ACM"},{"issue":"1","key":"6_CR4","doi-asserted-by":"publisher","first-page":"108","DOI":"10.1016\/j.jlamp.2014.02.001","volume":"84","author":"A Bauer","year":"2015","unstructured":"Bauer, A., Pretnar, M.: Programming with algebraic effects and handlers. J. Logical Algebraic Methods Program. 84(1), 108\u2013123 (2015)","journal-title":"J. Logical Algebraic Methods Program."},{"key":"6_CR5","doi-asserted-by":"publisher","unstructured":"Brady, E.: Programming and reasoning with algebraic effects and dependent types. In: Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming, ICFP 2013, pp. 133\u2013144. ACM, New York (2013). \nhttps:\/\/doi.org\/10.1145\/2500365.2500581","DOI":"10.1145\/2500365.2500581"},{"key":"6_CR6","doi-asserted-by":"crossref","unstructured":"Bruggeman, C., Waddell, O., Dybvig, R.K.: Representing control in the presence of one-shot continuations. In: Fischer, C.N. (ed.) Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation (PLDI), 21\u201324 May 1996, pp. 99\u2013107. ACM, Philadephia (1996)","DOI":"10.1145\/231379.231395"},{"key":"6_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"266","DOI":"10.1007\/978-3-540-74792-5_12","volume-title":"Formal Methods for Components and Objects","author":"E Cooper","year":"2007","unstructured":"Cooper, E., Lindley, S., Wadler, P., Yallop, J.: Links: web programming without tiers. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2006. LNCS, vol. 4709, pp. 266\u2013296. Springer, Heidelberg (2007). \nhttps:\/\/doi.org\/10.1007\/978-3-540-74792-5_12"},{"key":"6_CR8","unstructured":"Dolan, S., White, L., Madhavapeddy, A.: Multicore OCaml. In: OCaml Workshop (2014)"},{"key":"6_CR9","unstructured":"Dolan, S., White, L., Sivaramakrishnan, K.C., Yallop, J., Madhavapeddy, A.: Effective concurrency through Algebraic Effects. In: OCaml Workshop (2015)"},{"issue":"ICFP","key":"6_CR10","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3110257","volume":"1","author":"Yannick Forster","year":"2017","unstructured":"Forster, Y., Kammar, O., Lindley, S., Pretnar, M.: On the expressive power of user-defined effects: effect handlers, monadic reflection, delimited control. Proceedings of ACM on Programming Languages, vol. 1(ICFP), pp. 13:1\u201313:29, August 2017. \nhttps:\/\/doi.org\/10.1145\/3110257","journal-title":"Proceedings of the ACM on Programming Languages"},{"key":"6_CR11","doi-asserted-by":"publisher","unstructured":"Friedman, D.P., Haynes, C.T.: Constraining control. In: Proceedings of the 12th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL 1985, pp. 245\u2013254. ACM, New York (1985). \nhttps:\/\/doi.org\/10.1145\/318593.318654","DOI":"10.1145\/318593.318654"},{"key":"6_CR12","doi-asserted-by":"publisher","unstructured":"Hillerstr\u00f6m, D., Lindley, S.: Liberating effects with rows and handlers. In: Proceedings of the 1st International Workshop on Type-Driven Development, TyDe 2016, pp. 15\u201327. ACM, New York (2016). \nhttps:\/\/doi.org\/10.1145\/2976022.2976033","DOI":"10.1145\/2976022.2976033"},{"key":"6_CR13","unstructured":"Hillerstr\u00f6m, D., Lindley, S., Atkey, R., Sivaramakrishnan, K.C.: Continuation passing style for effect handlers. In: Miller, D. (ed.) 2nd International Conference on Formal Structures for Computation and Deduction (FSCD 2017). In: Leibniz International Proceedings in Informatics (LIPIcs), vol. 84, pp. 18:1\u201318:19. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl (2017). \nhttp:\/\/drops.dagstuhl.de\/opus\/volltexte\/2017\/7739"},{"key":"6_CR14","unstructured":"Hillerstr\u00f6m, D., Lindley, S., Sivaramakrishnan, K.C.: Compiling links effect handlers to the OCaml backend. In: ML Workshop (2016)"},{"key":"6_CR15","doi-asserted-by":"publisher","unstructured":"Kammar, O., Lindley, S., Oury, N.: Handlers in action. In: Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming, ICFP 2013, pp. 145\u2013158. ACM, New York (2013). \nhttps:\/\/doi.org\/10.1145\/2500365.2500590","DOI":"10.1145\/2500365.2500590"},{"key":"6_CR16","doi-asserted-by":"publisher","unstructured":"Kiselyov, O., Ishii, H.: Freer Monads, more extensible effects. In: Proceedings of the 2015 ACM SIGPLAN Symposium on Haskell, Haskell 2015, pp. 94\u2013105. ACM, New York (2015). \nhttps:\/\/doi.org\/10.1145\/2804302.2804319","DOI":"10.1145\/2804302.2804319"},{"key":"6_CR17","doi-asserted-by":"publisher","unstructured":"Kiselyov, O., Sabry, A., Swords, C.: Extensible effects: an alternative to monad transformers. In: Proceedings of the 2013 ACM SIGPLAN Symposium on Haskell, Haskell 2013, pp. 59\u201370. ACM, New York (2013). \nhttps:\/\/doi.org\/10.1145\/2503778.2503791","DOI":"10.1145\/2503778.2503791"},{"key":"6_CR18","unstructured":"Kiselyov, O., Sivaramakrishnan, K.C.: Eff directly in OCaml. In: ML Workshop (2016)"},{"key":"6_CR19","doi-asserted-by":"publisher","unstructured":"Leijen, D.: Structured asynchrony with algebraic effects. In: Proceedings of the 2nd ACM SIGPLAN International Workshop on Type-Driven Development, TyDe 2017, pp. 16\u201329. ACM, New York (2017). \nhttps:\/\/doi.org\/10.1145\/3122975.3122977","DOI":"10.1145\/3122975.3122977"},{"key":"6_CR20","doi-asserted-by":"publisher","unstructured":"Leijen, D.: Type directed compilation of row-typed algebraic effects. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, pp. 486\u2013499. ACM, New York (2017). \nhttps:\/\/doi.org\/10.1145\/3009837.3009872","DOI":"10.1145\/3009837.3009872"},{"key":"6_CR21","doi-asserted-by":"publisher","unstructured":"Lindley, S., McBride, C., McLaughlin, C.: Do be do be do. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, pp. 500\u2013514. ACM, New York (2017). \nhttps:\/\/doi.org\/10.1145\/3009837.3009897","DOI":"10.1145\/3009837.3009897"},{"key":"6_CR22","doi-asserted-by":"publisher","unstructured":"Marlow, S., Jones, S.P., Moran, A., Reppy, J.: Asynchronous exceptions in Haskell. In: Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation, PLDI 2001, pp. 274\u2013285. ACM, New York (2001). \nhttps:\/\/doi.org\/10.1145\/378795.378858","DOI":"10.1145\/378795.378858"},{"key":"6_CR23","doi-asserted-by":"publisher","unstructured":"Marlow, S., Jones, S.P., Thaller, W.: Extending the Haskell foreign function interface with concurrency. In: Proceedings of the 2004 ACM SIGPLAN Workshop on Haskell, Haskell 2004, pp. 22\u201332. ACM, New York (2004). \nhttps:\/\/doi.org\/10.1145\/1017472.1017479","DOI":"10.1145\/1017472.1017479"},{"key":"6_CR24","unstructured":"Minsky, Y., Madhavapeddy, A., Hickey, J.: Real World OCaml - Functional Programming for the Masses. O\u2019Reilly (2013). \nhttp:\/\/shop.oreilly.com\/product\/0636920024743.do#tab_04_2"},{"issue":"1","key":"6_CR25","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1016\/0890-5401(91)90052-4","volume":"93","author":"E Moggi","year":"1991","unstructured":"Moggi, E.: Notions of computation and monads. Inf. Comput. 93(1), 55\u201392 (1991). \nhttps:\/\/doi.org\/10.1016\/0890-5401(91)90052-4","journal-title":"Inf. Comput."},{"key":"6_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"39","DOI":"10.1007\/3-540-45407-1_3","volume-title":"Advances in Exception Handling Techniques","author":"KM Pitman","year":"2001","unstructured":"Pitman, K.M.: Condition handling in the Lisp language family. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A. (eds.) Advances in Exception Handling Techniques. LNCS, vol. 2022, pp. 39\u201359. Springer, Heidelberg (2001). \nhttps:\/\/doi.org\/10.1007\/3-540-45407-1_3"},{"key":"6_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/3-540-45315-6_1","volume-title":"Foundations of Software Science and Computation Structures","author":"G Plotkin","year":"2001","unstructured":"Plotkin, G., Power, J.: Adequacy for algebraic effects. In: Honsell, F., Miculan, M. (eds.) FoSSaCS 2001. LNCS, vol. 2030, pp. 1\u201324. Springer, Heidelberg (2001). \nhttps:\/\/doi.org\/10.1007\/3-540-45315-6_1"},{"key":"6_CR28","doi-asserted-by":"publisher","unstructured":"Plotkin, G.D., Pretnar, M.: Handling algebraic effects. Logical Methods Comput. Sci. 9(4) (2013). \nhttps:\/\/doi.org\/10.2168\/LMCS-9(4:23)2013","DOI":"10.2168\/LMCS-9(4:23)2013"},{"key":"6_CR29","unstructured":"Pretnar, M., Saleh, A.H., Faes, A., Schrijvers, T.: Efficient compilation of algebraic effects and handlers. Technical report CW 708, KU Leuven, Belgium, October 2017"},{"issue":"5\u20136","key":"6_CR30","doi-asserted-by":"publisher","first-page":"884","DOI":"10.1017\/S147106841600034X","volume":"16","author":"AH Saleh","year":"2016","unstructured":"Saleh, A.H., Schrijvers, T.: Efficient algebraic effect handlers for prolog. Theory Pract. Logic Program. 16(5\u20136), 884\u2013898 (2016)","journal-title":"Theory Pract. Logic Program."},{"key":"6_CR31","doi-asserted-by":"publisher","first-page":"e9","DOI":"10.1017\/S0956796816000071","volume":"26","author":"KC Sivaramakrishnan","year":"2016","unstructured":"Sivaramakrishnan, K.C., Harris, T., Marlow, S., Peyton Jones, S.: Composable scheduler activations for haskell. J. Funct. Program. 26, e9 (2016)","journal-title":"J. Funct. Program."},{"key":"6_CR32","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"175","DOI":"10.1007\/978-3-642-18378-2_15","volume-title":"Practical Aspects of Declarative Languages","author":"D Syme","year":"2011","unstructured":"Syme, D., Petricek, T., Lomov, D.: The F# asynchronous programming model. In: Rocha, R., Launchbury, J. (eds.) PADL 2011. LNCS, vol. 6539, pp. 175\u2013189. Springer, Heidelberg (2011). \nhttps:\/\/doi.org\/10.1007\/978-3-642-18378-2_15"},{"key":"6_CR33","volume-title":"Concurrent Programming in ERLANG","author":"R Virding","year":"1996","unstructured":"Virding, R., Wikstr\u00f6m, C., Williams, M.: Concurrent Programming in ERLANG, 2nd edn. Prentice Hall International (UK) Ltd., Hertfordshire (1996)","edition":"2"},{"key":"6_CR34","doi-asserted-by":"publisher","unstructured":"Vouillon, J.: Lwt: a cooperative thread library. In: Proceedings of the 2008 ACM SIGPLAN Workshop on ML, ML 2008, pp. 3\u201312. ACM, New York (2008). \nhttps:\/\/doi.org\/10.1145\/1411304.1411307","DOI":"10.1145\/1411304.1411307"},{"key":"6_CR35","doi-asserted-by":"publisher","unstructured":"Wadler, P.: The Essence of Functional Programming. In: Proceedings of the 19th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1992, pp. 1\u201314. ACM, New York (1992). \nhttps:\/\/doi.org\/10.1145\/143165.143169","DOI":"10.1145\/143165.143169"},{"key":"6_CR36","doi-asserted-by":"publisher","unstructured":"Wu, N., Schrijvers, T., Hinze, R.: Effect handlers in scope. In: Proceedings of the 2014 ACM SIGPLAN Symposium on Haskell, Haskell 2014, pp. 1\u201312. ACM, New York (2014). \nhttps:\/\/doi.org\/10.1145\/2633357.2633358","DOI":"10.1145\/2633357.2633358"}],"container-title":["Lecture Notes in Computer Science","Trends in Functional Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-89719-6_6","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2018,4,18]],"date-time":"2018-04-18T10:47:16Z","timestamp":1524048436000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-89719-6_6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319897189","9783319897196"],"references-count":36,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-89719-6_6","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018]]}}}