{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:30Z","timestamp":1772164050569,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":26,"publisher":"ACM","license":[{"start":{"date-parts":[[2016,9,8]],"date-time":"2016-09-08T00:00:00Z","timestamp":1473292800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2016,9,8]]},"DOI":"10.1145\/2976002.2976007","type":"proceedings-article","created":{"date-parts":[[2016,8,26]],"date-time":"2016-08-26T08:40:09Z","timestamp":1472200809000},"page":"92-104","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["Desugaring Haskell's do-notation into applicative operations"],"prefix":"10.1145","author":[{"given":"Simon","family":"Marlow","sequence":"first","affiliation":[{"name":"Facebook, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Simon","family":"Peyton Jones","sequence":"additional","affiliation":[{"name":"Microsoft Research, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Edward","family":"Kmett","sequence":"additional","affiliation":[{"name":"S&amp;P Global, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andrey","family":"Mokhov","sequence":"additional","affiliation":[{"name":"Newcastle University, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,9,8]]},"reference":[{"key":"e_1_3_2_1_1_1","first-page":"23","volume-title":"Proc. of 19th Int. Conf. on Types for Proofs and Programs, TYPES","volume":"13","author":"Ahman D.","year":"2014","unstructured":"D. Ahman and T. Uustalu . Update monads: cointerpreting directed containers . In Proc. of 19th Int. Conf. on Types for Proofs and Programs, TYPES , volume 13 , pages 1\u2013 23 , 2014 . D. Ahman and T. Uustalu. Update monads: cointerpreting directed containers. In Proc. of 19th Int. Conf. on Types for Proofs and Programs, TYPES, volume 13, pages 1\u201323, 2014."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1017\/S095679681300018X"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926354.1926358"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-89330-1_15"},{"key":"e_1_3_2_1_5_1","volume-title":"Sixth Symposium on Operating System Design and Implementation (OSDI\u201904)","author":"Dean J.","year":"2004","unstructured":"J. Dean and S. Ghemawat . MapReduce: simplified data processing on large clusters . In Sixth Symposium on Operating System Design and Implementation (OSDI\u201904) , San Francisco , Dec. 2004 . J. Dean and S. Ghemawat. MapReduce: simplified data processing on large clusters. In Sixth Symposium on Operating System Design and Implementation (OSDI\u201904), San Francisco, Dec. 2004."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2034675.2034678"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796805005769"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1559845.1559962"},{"key":"e_1_3_2_1_9_1","unstructured":"1559962.  1559962."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(75)90019-3"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2633628.2633636"},{"key":"e_1_3_2_1_12_1","unstructured":"2633636.  2633636."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1017\/S095679680999027X"},{"key":"e_1_3_2_1_14_1","unstructured":".  ."},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1291201.1291211"},{"key":"e_1_3_2_1_16_1","volume-title":"Haskell 2010 language report","author":"Marlow S.","year":"2010","unstructured":"S. Marlow . Haskell 2010 language report . 2010 . S. Marlow. Haskell 2010 language report. 2010."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2628136.2628144"},{"key":"e_1_3_2_1_18_1","unstructured":"C. McBride. The Strathclyde Haskell Enhancement (SHE).  C. McBride. The Strathclyde Haskell Enhancement (SHE)."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796807006326"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-04132-2_3"},{"key":"e_1_3_2_1_21_1","unstructured":".  ."},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(95)00126-3"},{"key":"e_1_3_2_1_23_1","volume-title":"Beautiful folding","author":"Rabkin M.","year":"2008","unstructured":"M. Rabkin . Beautiful folding . Nov. 2008 . M. Rabkin. Beautiful folding. Nov. 2008."},{"key":"e_1_3_2_1_24_1","first-page":"207","volume-title":"Advanced Functional Programming","author":"Swierstra S. D.","unstructured":"S. D. Swierstra and L. Duponcheel . Deterministic, error-correcting combinator parsers . In Advanced Functional Programming , pages 184\u2013 207 . Springer-Verlag, 1996. S. D. Swierstra and L. Duponcheel. Deterministic, error-correcting combinator parsers. In Advanced Functional Programming, pages 184\u2013207. Springer-Verlag, 1996."},{"key":"e_1_3_2_1_25_1","first-page":"128","volume-title":"Functional Programming Languages and Computer Architecture","author":"Wadler P.","unstructured":"P. Wadler . How to replace failure by a list of successes a method for exception handling, backtracking, and pattern matching in lazy functional languages . In Functional Programming Languages and Computer Architecture , pages 113\u2013 128 . Springer, 1985. P. Wadler. How to replace failure by a list of successes a method for exception handling, backtracking, and pattern matching in lazy functional languages. In Functional Programming Languages and Computer Architecture, pages 113\u2013128. Springer, 1985."},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/91556.91592"}],"event":{"name":"ICFP'16: ACM SIGPLAN International Conference on Functional Programming","location":"Nara Japan","acronym":"ICFP'16","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 9th International Symposium on Haskell"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2976002.2976007","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2976002.2976007","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:50:19Z","timestamp":1750204219000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2976002.2976007"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,9,8]]},"references-count":26,"alternative-id":["10.1145\/2976002.2976007","10.1145\/2976002"],"URL":"https:\/\/doi.org\/10.1145\/2976002.2976007","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/3241625.2976007","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2016,9,8]]},"assertion":[{"value":"2016-09-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}