{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,1]],"date-time":"2025-11-01T17:37:29Z","timestamp":1762018649507,"version":"build-2065373602"},"publisher-location":"Cham","reference-count":15,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030336356"},{"type":"electronic","value":"9783030336363"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"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-33636-3_2","type":"book-chapter","created":{"date-parts":[[2019,10,19]],"date-time":"2019-10-19T14:02:20Z","timestamp":1571493740000},"page":"18-44","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["Handling Local State with Global State"],"prefix":"10.1007","author":[{"given":"Koen","family":"Pauwels","sequence":"first","affiliation":[]},{"given":"Tom","family":"Schrijvers","sequence":"additional","affiliation":[]},{"given":"Shin-Cheng","family":"Mu","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,10,20]]},"reference":[{"key":"2_CR1","doi-asserted-by":"crossref","unstructured":"A\u00eft-Kaci, H.: Warren\u2019s Abstract Machine: A Tutorial Reconstruction (1991)","DOI":"10.7551\/mitpress\/7160.001.0001"},{"key":"2_CR2","doi-asserted-by":"publisher","unstructured":"Bauer, A., Pretnar, M.: An effect system for algebraic effects and handlers. Logical Methods Comput. Sci. 10(4) (2014). https:\/\/doi.org\/10.2168\/LMCS-10(4:9)2014","DOI":"10.2168\/LMCS-10(4:9)2014"},{"key":"2_CR3","unstructured":"Gale, Y.: ListT done right alternative (2007). https:\/\/wiki.haskell.org\/ListT_done_right_alternative"},{"key":"2_CR4","doi-asserted-by":"crossref","unstructured":"Gibbons, J., Hinze, R.: Just do it: simple monadic equational reasoning. In: Danvy, O. (ed.) International Conference on Functional Programming, pp. 2\u201314. ACM Press (2011)","DOI":"10.1145\/2034574.2034777"},{"key":"2_CR5","unstructured":"Gill, A., Kmett, E.: The monad transformer library (2014). https:\/\/hackage.haskell.org\/package\/mtl"},{"issue":"2","key":"2_CR6","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1142\/S0129054101000436","volume":"12","author":"R Hinze","year":"2001","unstructured":"Hinze, R.: Prolog\u2019s control constructs in a functional setting - axioms and implementation. Int. J. Found. Comput. Sci. 12(2), 125\u2013170 (2001). https:\/\/doi.org\/10.1142\/S0129054101000436","journal-title":"Int. J. Found. Comput. Sci."},{"key":"2_CR7","unstructured":"Hutton, G., Fulger, D.: Reasoning about effects: seeing the wood through the trees. In: Symposium on Trends in Functional Programming (2007)"},{"key":"2_CR8","unstructured":"Kiselyov, O.: Laws of monadplus (2015). http:\/\/okmij.org\/ftp\/Computation\/monads.html#monadplus"},{"key":"2_CR9","doi-asserted-by":"crossref","unstructured":"Kiselyov, O., Ishii, H.: Freer monads, more extensible effects. In: Reppy, J.H. (ed.) Symposium on Haskell, pp. 94\u2013105. ACM Press (2015)","DOI":"10.1145\/2887747.2804319"},{"key":"2_CR10","doi-asserted-by":"crossref","unstructured":"Luk\u0161i\u010d, V., Pretnar, M.: Local algebraic effect theories (2019, submitted)","DOI":"10.1017\/S0956796819000212"},{"key":"2_CR11","unstructured":"Moggi, E.: Computational lambda-calculus and monads. In: Parikh, R. (ed.) Logic in Computer Science, pp. 14\u201323. IEEE Computer Society Press (1989)"},{"key":"2_CR12","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":"2_CR13","unstructured":"Volkov, N.: The list-t package (2014). http:\/\/hackage.haskell.org\/package\/list-t"},{"key":"2_CR14","doi-asserted-by":"publisher","first-page":"233","DOI":"10.1007\/978-3-662-02880-3_8","volume-title":"Program Design Calculi: Marktoberdorf Summer School","author":"P Wadler","year":"1992","unstructured":"Wadler, P.: Monads for functional programming. In: Broy, M. (ed.) Program Design Calculi: Marktoberdorf Summer School, pp. 233\u2013264. Springer, Heidelberg (1992). https:\/\/doi.org\/10.1007\/978-3-662-02880-3_8"},{"key":"2_CR15","doi-asserted-by":"crossref","unstructured":"Wu, N., Schrijvers, T., Hinze, R.: Effect handlers in scope. In: Voigtl\u00e4nder, J. (ed.) Symposium on Haskell, pp. 1\u201312. ACM Press (2012)","DOI":"10.1145\/2775050.2633358"}],"container-title":["Lecture Notes in Computer Science","Mathematics of Program Construction"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-33636-3_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,1,25]],"date-time":"2021-01-25T09:22:14Z","timestamp":1611566534000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-33636-3_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030336356","9783030336363"],"references-count":15,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-33636-3_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"20 October 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"MPC","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Mathematics of Program Construction","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Porto","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":"7 October 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"9 October 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"mpc2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.cs.nott.ac.uk\/~pszgmh\/mpc19.html","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":"22","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":"15","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":"68% - 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":"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)"}}]}}