{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,7]],"date-time":"2025-08-07T20:33:58Z","timestamp":1754598838367,"version":"3.41.0"},"publisher-location":"Cham","reference-count":47,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319309354"},{"type":"electronic","value":"9783319309361"}],"license":[{"start":{"date-parts":[[2016,1,1]],"date-time":"2016-01-01T00:00:00Z","timestamp":1451606400000},"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":[[2016]]},"DOI":"10.1007\/978-3-319-30936-1_7","type":"book-chapter","created":{"date-parts":[[2016,3,29]],"date-time":"2016-03-29T20:27:44Z","timestamp":1459283264000},"page":"132-151","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["Comprehending Ringads"],"prefix":"10.1007","author":[{"given":"Jeremy","family":"Gibbons","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2016,3,25]]},"reference":[{"unstructured":"Backhouse, R.: An exploration of the Bird-Meertens formalism. Technical report CS 8810, Department of Computer Science, Groningen University (1988). http:\/\/www.cs.nott.ac.uk\/psarb2\/papers\/abstract.html#exploration","key":"7_CR1"},{"unstructured":"Boiten, E., Hoogendijk, P.: A database calculus based on strong monads and partial functions, March 1995. Submitted to DBPL","key":"7_CR2"},{"unstructured":"Boiten, E., Hoogendijk, P.: Nested collections and polytypism. Technical report 96\/17, Eindhoven (1996)","key":"7_CR3"},{"unstructured":"Breuer, P.T.:. Applicative query languages. University Computing, the Universities and Colleges Information Systems Association of the UK (UCISA) Bulletin of Academic Computing and Information Systems (1989). https:\/\/www.academia.edu\/2499641\/Applicative_Query_Languages","key":"7_CR4"},{"issue":"1","key":"7_CR5","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1016\/0304-3975(95)00024-Q","volume":"149","author":"P Buneman","year":"1995","unstructured":"Buneman, P., Navqi, S., Tannen, V., Wong, L.: Principles of programming with collections and complex object types. Theor. Comput. Sci. 149(1), 3\u201348 (1995)","journal-title":"Theor. Comput. Sci."},{"key":"7_CR6","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., 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)"},{"issue":"4","key":"7_CR7","doi-asserted-by":"publisher","first-page":"457","DOI":"10.1145\/377674.377676","volume":"25","author":"L Fegaras","year":"2000","unstructured":"Fegaras, L., Maier, D.: Optimizing object queries using an effective calculus. ACM Trans. Database Syst. 25(4), 457\u2013516 (2000). doi: 10.1145\/377674.377676","journal-title":"ACM Trans. Database Syst."},{"doi-asserted-by":"crossref","unstructured":"Fernandez, M., Simeon, J., Wadler, P.: A semi-monad for semi-structured data. In: International Conference on Database Theory, pp. 263\u2013300 (2001)","key":"7_CR8","DOI":"10.1007\/3-540-44503-X_18"},{"issue":"4","key":"7_CR9","first-page":"81","volume":"1","author":"M Maarten","year":"1990","unstructured":"Maarten, M.: Tupling and mutumorphisms. Squiggolist 1(4), 81\u201382 (1990)","journal-title":"Squiggolist"},{"doi-asserted-by":"crossref","unstructured":"Fujii, S., Katsumata, S., Melli\u00e8s, P.-A.: Towards a formal theory of graded monads. In: Foundations of Software Science and Computation Structures. Lecture Notes in Computer Science. Springer (2016, to appear)","key":"7_CR10","DOI":"10.1007\/978-3-662-49630-5_30"},{"unstructured":"GHC 5.0. Glasgow Haskell Compiler users\u2019 guide, version 5.00, April 2001. https:\/\/downloads.haskell.org\/~ghc\/5.00\/docs\/set\/book-users-guide.html","key":"7_CR11"},{"unstructured":"GHC 7.10. Glasgow Haskell Compiler users\u2019 guide, version 7.10, July 2015. https:\/\/downloads.haskell.org\/~ghc\/7.10.1\/docs\/html\/users_guide\/","key":"7_CR12"},{"doi-asserted-by":"crossref","unstructured":"Giorgidze, G., Grust, T., Schweinsberg, N., Weijers, J.: Bringing back monad comprehensions. In: Haskell Symposium, pp. 13\u201322 (2011)","key":"7_CR13","DOI":"10.1145\/2096148.2034678"},{"unstructured":"Grust, T.: Comprehending queries. Ph.D. thesis, Universit\u00e4t Konstanz (1999)","key":"7_CR14"},{"unstructured":"Haskell 2010. Haskell 2010 language report, April 2010. https:\/\/www.haskell.org\/onlinereport\/haskell2010\/","key":"7_CR15"},{"issue":"3","key":"7_CR16","doi-asserted-by":"publisher","first-page":"337","DOI":"10.1007\/s10990-011-9078-8","volume":"23","author":"F Henglein","year":"2010","unstructured":"Henglein, F., Larsen, K.F.: Generic multiset programming with discrimination-based joins, symbolic cartesian products. High.-Order Symb. Comput. 23(3), 337\u2013370 (2010). doi: 10.1007\/s10990-011-9078-8","journal-title":"High.-Order Symb. Comput."},{"doi-asserted-by":"crossref","unstructured":"Katsumata, S.: Parametric effect monads and semantics of effect systems. In: Principles of Programming Languages, pp. 633\u2013645 (2014)","key":"7_CR17","DOI":"10.1145\/2535838.2535846"},{"unstructured":"Kiselyov, O.: Laws of MonadPlus, January 2015. http:\/\/okmij.org\/ftp\/Computation\/monads.html#monadplus","key":"7_CR18"},{"unstructured":"Luposchainsky, D.: MonadFail proposal, June 2015. https:\/\/github.com\/quchen\/articles\/blob\/master\/monad_fail.md","key":"7_CR19"},{"issue":"10","key":"7_CR20","doi-asserted-by":"publisher","first-page":"45","DOI":"10.1145\/2001269.2001285","volume":"54","author":"E Meijer","year":"2011","unstructured":"Meijer, E.: The world according to LINQ. Commun. ACM 54(10), 45\u201351 (2011)","journal-title":"Commun. ACM"},{"unstructured":"Milius, S., Pattinson, D., Schr\u00f6der, L.: Generic trace semantics and graded monads. In: Moss, L., Sobocinski, P., (eds.) 6th International Conference on Algebra and Coalgebra in Computer Science (CALCO 2015), pp. 251\u2013266 (2015)","key":"7_CR21"},{"issue":"1","key":"7_CR22","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)","journal-title":"Inf. Comput."},{"unstructured":"Nikhil, R.S.: The semantics of update in a functional database programming language. In: Bancilhon, F., Buneman, P., (eds.) Advances in Database Programming Languages (DBPL-1, 1987), pp. 403\u2013421. ACM Press\/Addison-Wesley (1990)","key":"7_CR23"},{"doi-asserted-by":"crossref","unstructured":"Orchard, D., Yoshida, N.: Effects as sessions, sessions as effects. In: Principles of Programming Languages (2016)","key":"7_CR24","DOI":"10.1145\/2837614.2837634"},{"unstructured":"Orchard, D., Petricek, T., Mycroft, A.: The semantic marriage of monads, effects (2014). arXiv:1401.5391","key":"7_CR25"},{"unstructured":"Petricek, T.: Fun with parallel monad comprehensions. Monad Reader (18), (2011). https:\/\/themonadreader.wordpress.com\/2011\/07\/05\/issue-18\/","key":"7_CR26"},{"key":"7_CR27","volume-title":"The Implementation of Functional Programming Languages","author":"S Peyton Jones","year":"1987","unstructured":"Peyton Jones, S.: The Implementation of Functional Programming Languages. Prentice Hall, New Jersey (1987)"},{"unstructured":"Plasmeijer, R., van Eekelen, M.: Concurrent clean language report (version 1.0). Technical report, University of Nijmegen (1995). ftp:\/\/ftp.science.ru.nl\/pub\/Clean\/old\/Clean10\/doc\/refman.ps.gz","key":"7_CR28"},{"unstructured":"Poulovassilis, A.: FDL: an integration of the functional data model and the functional computational model. In: British National Conference on Databases, pp. 215\u2013236 (1988)","key":"7_CR29"},{"key":"7_CR30","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4613-9575-1","volume-title":"Programming with Sets: An Introduction to SETL","author":"JT Schwartz","year":"1986","unstructured":"Schwartz, J.T., Dewar, R.B.K., Dubinsky, E., Schonberg, E.: Programming with Sets: An Introduction to SETL. Springer, New York (1986)"},{"unstructured":"Schwartz, J.T.: On programming: an interim report on the SETL project. Technical report, Courant Institute of Mathematical Sciences, New York University, June 1975","key":"7_CR31"},{"unstructured":"Suciu, D.: Fixpoints and bounded fixpoints for complex objects. Technical report MS-CIS-93-32, University of Pennsylvania (1993a)","key":"7_CR32"},{"unstructured":"Suciu, D.: Queries on databases with user-defined functions. Technical report MS-CIS-93-62, University of Pennsylvania (1993b)","key":"7_CR33"},{"doi-asserted-by":"crossref","unstructured":"Suzuki, K., Kiselyov, O., Kameyama, Y.: Finally, safely-extensible and efficient language-integrated query. In: Partial Evaluation and Program Manipulation (2016)","key":"7_CR34","DOI":"10.1145\/2847538.2847542"},{"unstructured":"Trinder, P.: Comprehensions: a query notation for DBPLs. In: Database Programming Languages (1991)","key":"7_CR35"},{"unstructured":"Trinder, P., Wadler, P.: Improving list comprehension database queries. In: TENCON 1989: Fourth IEEE Region 10 International Conference. IEEE (1989)","key":"7_CR36"},{"unstructured":"Uustalu, T.: A divertimento on MonadPlus and nondeterminism. J. Logical Algebr. Methods Program (2015, to appear). Special issue in honour of Jos\u00e9 Nuno Oliveira\u2019s 60th birthday. Extended abstract in HOpPE","key":"7_CR37"},{"unstructured":"Wadler, P.: Notes on monads and ringads. Internal Document, CS Department, University of Glasgow, September 1990","key":"7_CR38"},{"key":"7_CR39","doi-asserted-by":"publisher","first-page":"461","DOI":"10.1017\/S0960129500001560","volume":"2","author":"P Wadler","year":"1992","unstructured":"Wadler, P.: Comprehending monads. Math. Struct. Comput. Sci. 2, 461\u2013493 (1992a)","journal-title":"Math. Struct. Comput. Sci."},{"key":"7_CR40","series-title":"NATO ASI Series F: Computer and Systems Sciences","volume-title":"Marktoberdorf Summer School on Program Design Calculi","author":"P Wadler","year":"1992","unstructured":"Wadler, P.: Monads for functional programming. In: Broy, M. (ed.) Marktoberdorf Summer School on Program Design Calculi. NATO ASI Series F: Computer and Systems Sciences, vol. 118. Springer, Heidelberg (1992b). Also In: Jeuring, J., Meijer, E. (eds.) Advanced Functional Programming. LNCS, vol. 925. Springer (1995)"},{"unstructured":"Wadler, P.: Laws for monads with zero and plus. Post to Haskell Mailing List, May 1997","key":"7_CR41"},{"unstructured":"Wadler, P.: Monads and ringads. Personal communication, August 2011","key":"7_CR42"},{"doi-asserted-by":"crossref","unstructured":"Wadler, P., Jones, S.P.: Comprehensive comprehensions: comprehensions with \u2018order by\u2019 and \u2018group by\u2019. In: Haskell Symposium, pp. 61\u201372 (2007)","key":"7_CR43","DOI":"10.1145\/1291201.1291209"},{"unstructured":"Watt, D., Trinder, P.: Towards a theory of bulk types. FIDE technical report 91\/26, Glasgow University, July 1991","key":"7_CR44"},{"unstructured":"Williams, T.: Map comprehensions, June 2014. http:\/\/www.timphilipwilliams.com\/posts\/2014-06-05-map-comprehensions.html","key":"7_CR45"},{"unstructured":"Wong, L.: Querying nested collections. Ph.D. thesis, University of Pennsylvania (1994)","key":"7_CR46"},{"issue":"1","key":"7_CR47","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1017\/S0956796899003585","volume":"10","author":"L Wong","year":"2000","unstructured":"Wong, L.: Kleisli, a functional query system. J. Funct. Program. 10(1), 19\u201356 (2000)","journal-title":"J. Funct. Program."}],"container-title":["Lecture Notes in Computer Science","A List of Successes That Can Change the World"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-30936-1_7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,2]],"date-time":"2025-06-02T00:58:18Z","timestamp":1748825898000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-30936-1_7"}},"subtitle":["For Phil Wadler, on the Occasion of his 60th Birthday"],"short-title":[],"issued":{"date-parts":[[2016]]},"ISBN":["9783319309354","9783319309361"],"references-count":47,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-30936-1_7","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2016]]},"assertion":[{"value":"25 March 2016","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}