{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:46:35Z","timestamp":1772163995747,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":35,"publisher":"ACM","license":[{"start":{"date-parts":[[2011,9,22]],"date-time":"2011-09-22T00:00:00Z","timestamp":1316649600000},"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":[[2011,9,22]]},"DOI":"10.1145\/2034675.2034677","type":"proceedings-article","created":{"date-parts":[[2011,9,23]],"date-time":"2011-09-23T11:13:10Z","timestamp":1316776390000},"page":"1-12","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Extending monads with pattern matching"],"prefix":"10.1145","author":[{"given":"Tomas","family":"Petricek","sequence":"first","affiliation":[{"name":"University of Cambridge, Cambridge, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alan","family":"Mycroft","sequence":"additional","affiliation":[{"name":"University of Cambridge, Cambridge, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Don","family":"Syme","sequence":"additional","affiliation":[{"name":"Microsoft Research Cambridge, Cambridge, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2011,9,22]]},"reference":[{"key":"e_1_3_2_2_1_1","volume-title":"Bring back monad comprehensions, retrieved","author":"Trac Haskell","year":"2011","unstructured":"Haskell Trac . Bring back monad comprehensions, retrieved 2011 . http:\/\/hackage.haskell.org\/trac\/ghc\/ticket\/4370. Haskell Trac. Bring back monad comprehensions, retrieved 2011. http:\/\/hackage.haskell.org\/trac\/ghc\/ticket\/4370."},{"key":"e_1_3_2_2_2_1","unstructured":"Haskell Documentation. Control.Monad retrieved 201.  Haskell Documentation. Control.Monad retrieved 201."},{"key":"e_1_3_2_2_3_1","volume-title":"Computational comonads and intensional semantics","author":"Brookes S.","year":"1991","unstructured":"S. Brookes , S. Geva . Computational comonads and intensional semantics . Technical Report Carnegie Mellon University-CS-91-190, Carnegie Mellon University , 1991 . S. Brookes, S. Geva. Computational comonads and intensional semantics. Technical Report Carnegie Mellon University-CS-91-190, Carnegie Mellon University, 1991."},{"key":"e_1_3_2_2_4_1","first-page":"67","volume-title":"Communicating Process Architectures 2008","author":"Brown N. C. C.","year":"2008","unstructured":"N. C. C. Brown . Communicating Haskell Processes: Composable Explicit Concurrency using Monads . In Communicating Process Architectures 2008 , pages 67 -- 83 , 2008 . N. C. C. Brown. Communicating Haskell Processes: Composable Explicit Concurrency using Monads. In Communicating Process Architectures 2008, pages 67--83, 2008."},{"key":"e_1_3_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796899003342"},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596638.1596643"},{"key":"e_1_3_2_2_7_1","volume-title":"Matching Objects with Patterns. In ECOOP 2007","author":"Emir B.","year":"2007","unstructured":"B. Emir , M. Odersky , and J. Williams . Matching Objects with Patterns. In ECOOP 2007 , 2007 . B. Emir, M. Odersky, and J. Williams. Matching Objects with Patterns. In ECOOP 2007, 2007."},{"key":"e_1_3_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796810000201"},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2034675.2034678"},{"key":"e_1_3_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/1788954.1788963"},{"key":"e_1_3_2_2_11_1","volume-title":"MonadPlus reform proposal, retrieved","year":"2011","unstructured":"HaskellWiki. MonadPlus reform proposal, retrieved 2011 . http:\/\/tinyurl.com\/monadplus-reform-proposal. HaskellWiki. MonadPlus reform proposal, retrieved 2011. http:\/\/tinyurl.com\/monadplus-reform-proposal."},{"key":"e_1_3_2_2_12_1","first-page":"1949","volume":"2638","author":"Hudak P.","year":"2003","unstructured":"P. Hudak , A. Courtney , H. Nilsson , and J. Peterson . Arrows, Robots, and Functional Reactive Programming. In Advanced Functional Programming , volume 2638 of LNCS, pages 1949 -- 1949 . 2003 . P. Hudak, A. Courtney, H. Nilsson, and J. Peterson. Arrows, Robots, and Functional Reactive Programming. In Advanced Functional Programming, volume 2638 of LNCS, pages 1949--1949. 2003.","journal-title":"Arrows, Robots, and Functional Reactive Programming. In Advanced Functional Programming"},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(99)00023-4"},{"key":"e_1_3_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796898003050"},{"key":"e_1_3_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2034675.2034685"},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1291201.1291209"},{"key":"e_1_3_2_2_17_1","volume-title":"Unpublished manuscript","author":"Kieburtz R. B.","year":"1999","unstructured":"R. B. Kieburtz . Codata and Comonads in Haskell . Unpublished manuscript , 1999 . R. B. Kieburtz. Codata and Comonads in Haskell. Unpublished manuscript, 1999."},{"key":"e_1_3_2_2_18_1","volume-title":"The comonad package, retrieved","author":"Kmett E. A.","year":"2011","unstructured":"E. A. Kmett . The comonad package, retrieved 2011 . http:\/\/hackage.haskell.org\/package\/comonad. E. A. Kmett. The comonad package, retrieved 2011. http:\/\/hackage.haskell.org\/package\/comonad."},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596550.1596559"},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1863523.1863535"},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796807006326"},{"key":"e_1_3_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1708046.1708053"},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/507635.507664"},{"key":"e_1_3_2_2_25_1","volume-title":"Fun with parallel monad comprehensions","author":"Petricek T.","year":"2011","unstructured":"T. Petricek . Fun with parallel monad comprehensions , 2011 . The Monad.Reader, Issue 18. T. Petricek. Fun with parallel monad comprehensions, 2011. The Monad.Reader, Issue 18."},{"key":"e_1_3_2_2_26_1","unstructured":"T. Petricek. Explicit speculative parallelism for Haskell's Par monad http:\/\/tomasp.net\/blog\/speculative-par-monad.aspx retrieved 2011.  T. Petricek. Explicit speculative parallelism for Haskell's Par monad http:\/\/tomasp.net\/blog\/speculative-par-monad.aspx retrieved 2011."},{"key":"e_1_3_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/1946313.1946336"},{"key":"e_1_3_2_2_28_1","volume-title":"Concurrent Programming in ML","author":"Reppy J. H.","year":"2007","unstructured":"J. H. Reppy . Concurrent Programming in ML . Cambridge University Press , 2007 . ISBN 978-0-521-71472-3. J. H. Reppy. Concurrent Programming in ML. Cambridge University Press, 2007. ISBN 978-0-521-71472-3."},{"key":"e_1_3_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/289423.289454"},{"key":"e_1_3_2_2_30_1","volume-title":"Combinator Parsing: A Short Tutorial. Technical report","author":"Swierstra S. D.","year":"2008","unstructured":"S. D. Swierstra . Combinator Parsing: A Short Tutorial. Technical report , Utrecht University , 2008 . S. D. Swierstra. Combinator Parsing: A Short Tutorial. Technical report, Utrecht University, 2008."},{"key":"e_1_3_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1291151.1291159"},{"key":"e_1_3_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796897002967"},{"key":"e_1_3_2_2_33_1","first-page":"2000","year":"2000","unstructured":"M. Tullsen. First-Class Patterns. In PADL 2000 , 2000 . M. Tullsen. First-Class Patterns. In PADL 2000, 2000.","journal-title":"M. Tullsen. First-Class Patterns. In PADL"},{"key":"e_1_3_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1007\/11575467_2"},{"key":"e_1_3_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/41625.41653"},{"key":"e_1_3_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/91556.91592"}],"event":{"name":"ICFP '11: ACM SIGPLAN International Conference on Functional Programming","location":"Tokyo Japan","acronym":"ICFP '11","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 4th ACM symposium on Haskell"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2034675.2034677","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2034675.2034677","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T05:48:26Z","timestamp":1750225706000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2034675.2034677"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011,9,22]]},"references-count":35,"alternative-id":["10.1145\/2034675.2034677","10.1145\/2034675"],"URL":"https:\/\/doi.org\/10.1145\/2034675.2034677","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2096148.2034677","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2011,9,22]]},"assertion":[{"value":"2011-09-22","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}