{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:08Z","timestamp":1772164028772,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":43,"publisher":"ACM","license":[{"start":{"date-parts":[[2013,9,25]],"date-time":"2013-09-25T00:00:00Z","timestamp":1380067200000},"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":[[2013,9,25]]},"DOI":"10.1145\/2500365.2500602","type":"proceedings-article","created":{"date-parts":[[2013,9,25]],"date-time":"2013-09-25T09:13:17Z","timestamp":1380100397000},"page":"287-298","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":21,"title":["The constrained-monad problem"],"prefix":"10.1145","author":[{"given":"Neil","family":"Sculthorpe","sequence":"first","affiliation":[{"name":"The University of Kansas, Lawrence, KS, USA"}]},{"given":"Jan","family":"Bracker","sequence":"additional","affiliation":[{"name":"Christian-Albrechts-Universitat, Kiel, Germany"}]},{"given":"George","family":"Giorgidze","sequence":"additional","affiliation":[{"name":"Universitat Tuebingen, Tuebingen, Germany"}]},{"given":"Andy","family":"Gill","sequence":"additional","affiliation":[{"name":"The University of Kansas, Lawrence, KS, USA"}]}],"member":"320","published-online":{"date-parts":[[2013,9,25]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796800000885"},{"key":"e_1_3_2_1_2_1","first-page":"37","article-title":"The Operational monad tutorial","volume":"15","author":"Apfelmus H.","year":"2010","unstructured":"H. Apfelmus . The Operational monad tutorial . The Monad.Reader , 15 : 37 -- 55 , 2010 . H. Apfelmus. The Operational monad tutorial. The Monad.Reader, 15: 37--55, 2010.","journal-title":"The Monad.Reader"},{"key":"e_1_3_2_1_3_1","volume-title":"Constraint kinds for GHC","author":"Bolingbroke M.","year":"2011","unstructured":"M. Bolingbroke . Constraint kinds for GHC , 2011 . URL http:\/\/blog.omega-prime.co.uk\/?p=127. M. Bolingbroke. Constraint kinds for GHC, 2011. URL http:\/\/blog.omega-prime.co.uk\/?p=127."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086397"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796802004574"},{"key":"e_1_3_2_1_6_1","volume-title":"Cross-model Language Design and Implementation","author":"Farmer A.","year":"2012","unstructured":"A. Farmer and A. Gill . Haskell DSLs for interactive web services . In Cross-model Language Design and Implementation , 2012 . A. Farmer and A. Gill. Haskell DSLs for interactive web services. In Cross-model Language Design and Implementation, 2012."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796809007291"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596638.1596653"},{"key":"e_1_3_2_1_9_1","unstructured":"G. Giorgidze 2012. URL http:\/\/hackage.haskell.org\/package\/set-monad.  G. Giorgidze 2012. URL http:\/\/hackage.haskell.org\/package\/set-monad."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/551789.853532"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(86)90059-1"},{"key":"e_1_3_2_1_12_1","volume-title":"Haskell Workshop","author":"Hughes J.","year":"1999","unstructured":"J. Hughes . Restricted data types in Haskell . In Haskell Workshop , 1999 . J. Hughes. Restricted data types in Haskell. In Haskell Workshop, 1999."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(99)00023-4"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796810000122"},{"key":"e_1_3_2_1_15_1","unstructured":"R. Ingram and B. Felgenhauer 2008. URL http:\/\/hackage.haskell.org\/package\/MonadPrompt.  R. Ingram and B. Felgenhauer 2008. URL http:\/\/hackage.haskell.org\/package\/MonadPrompt."},{"key":"e_1_3_2_1_16_1","series-title":"LNCS","first-page":"233","volume-title":"Implementation and Application of Functional Languages","author":"Jaskelioff M.","year":"2008","unstructured":"M. Jaskelioff . Monatron: An extensible monad transformer library . In Implementation and Application of Functional Languages 2008 , volume 5836 of LNCS , pages 233 -- 248 . Springer , 2011. M. Jaskelioff. Monatron: An extensible monad transformer library. In Implementation and Application of Functional Languages 2008, volume 5836 of LNCS, pages 233--248. Springer, 2011."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2364527.2364571"},{"key":"e_1_3_2_1_18_1","volume-title":"How to make Data.Set a monad","author":"Kidd E.","year":"2007","unstructured":"E. Kidd . How to make Data.Set a monad , 2007 . URL http:\/\/www.randomhacks.net\/articles\/2007\/03\/15\/data-set-monad-haskell-macros. E. Kidd. How to make Data.Set a monad, 2007. URL http:\/\/www.randomhacks.net\/articles\/2007\/03\/15\/data-set-monad-haskell-macros."},{"key":"e_1_3_2_1_19_1","volume-title":"Restricted monads","author":"Kiselyov O.","year":"2006","unstructured":"O. Kiselyov . Restricted monads , 2006 . URL http:\/\/okmij.org\/ftp\/Haskell\/types.html#restricted-datatypes. O. Kiselyov. Restricted monads, 2006. URL http:\/\/okmij.org\/ftp\/Haskell\/types.html#restricted-datatypes."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-84882-912-1_14"},{"key":"e_1_3_2_1_21_1","unstructured":"E. A. Kmett 2013. URL http:\/\/hackage.haskell.org\/package\/kan-extensions.  E. A. Kmett 2013. URL http:\/\/hackage.haskell.org\/package\/kan-extensions."},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/186025.186031"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199528"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159803.1159840"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796807006326"},{"key":"e_1_3_2_1_26_1","volume-title":"A problem defining a monad instance","author":"Mitrofanov M.","year":"2009","unstructured":"M. Mitrofanov . A problem defining a monad instance , 2009 . URL http:\/\/www.haskell.org\/pipermail\/haskell-cafe\/2009-November\/068761.html. M. Mitrofanov. A problem defining a monad instance, 2009. URL http:\/\/www.haskell.org\/pipermail\/haskell-cafe\/2009-November\/068761.html."},{"key":"e_1_3_2_1_27_1","first-page":"14","volume-title":"Logic in Computer Science","author":"Moggi E.","year":"1989","unstructured":"E. Moggi . Computational lambda-calculus and monads . In Logic in Computer Science , pages 14 -- 23 . IEEE Press , 1989 . E. Moggi. Computational lambda-calculus and monads. In Logic in Computer Science, pages 14--23. IEEE Press, 1989."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1016\/0890-5401(91)90052-4"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-12251-4_6"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-34407-7_6"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159803.1159811"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796806006034"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/53990.54010"},{"key":"e_1_3_2_1_34_1","unstructured":"N. Sculthorpe 2013. URL http:\/\/hackage.haskell.org\/package\/constrained-normal.  N. Sculthorpe 2013. URL http:\/\/hackage.haskell.org\/package\/constrained-normal."},{"key":"e_1_3_2_1_35_1","unstructured":"G. Sittampalam and P. Gavin 2008. URL http:\/\/hackage.haskell.org\/package\/rmonad.  G. Sittampalam and P. Gavin 2008. URL http:\/\/hackage.haskell.org\/package\/rmonad."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(90)90056-J"},{"key":"e_1_3_2_1_37_1","series-title":"LNCS","volume-title":"Trends in Functional Programming","author":"Svenningsson J.","year":"2012","unstructured":"J. Svenningsson and E. Axelsson . Combining deep and shallow embedding for EDSL . In Trends in Functional Programming 2012 , volume 7829 of LNCS . Springer . J. Svenningsson and E. Axelsson. Combining deep and shallow embedding for EDSL. In Trends in Functional Programming 2012, volume 7829 of LNCS. Springer."},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796808006758"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0960129506005287"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70594-9_20"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/91556.91592"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/143165.143169"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103786.2103795"}],"event":{"name":"ICFP'13: ACM SIGPLAN International Conference on Functional Programming","location":"Boston Massachusetts USA","acronym":"ICFP'13","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","Northeastern University"]},"container-title":["Proceedings of the 18th ACM SIGPLAN international conference on Functional programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2500365.2500602","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2500365.2500602","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:34:32Z","timestamp":1750217672000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2500365.2500602"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,9,25]]},"references-count":43,"alternative-id":["10.1145\/2500365.2500602","10.1145\/2500365"],"URL":"https:\/\/doi.org\/10.1145\/2500365.2500602","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2544174.2500602","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2013,9,25]]},"assertion":[{"value":"2013-09-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}