{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,27]],"date-time":"2025-03-27T04:21:53Z","timestamp":1743049313352,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":31,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540285403"},{"type":"electronic","value":"9783540318729"}],"license":[{"start":{"date-parts":[[2005,1,1]],"date-time":"2005-01-01T00:00:00Z","timestamp":1104537600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2005,1,1]],"date-time":"2005-01-01T00:00:00Z","timestamp":1104537600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2005]]},"DOI":"10.1007\/11546382_4","type":"book-chapter","created":{"date-parts":[[2005,9,27]],"date-time":"2005-09-27T14:44:25Z","timestamp":1127832265000},"page":"171-209","source":"Crossref","is-referenced-by-count":5,"title":["Combining Datatypes and Effects"],"prefix":"10.1007","author":[{"given":"Alberto","family":"Pardo","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"4_CR1","first-page":"1","volume-title":"Handbook of Logic in Computer Science","author":"S. Abramsky","year":"1994","unstructured":"Abramsky, S., Jung, A.: Domain theory. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, vol.\u00a03, pp. 1\u2013168. Clarendon Press, Oxford (1994)"},{"key":"4_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"42","DOI":"10.1007\/3-540-45699-6_2","volume-title":"Applied Semantics","author":"N. Benton","year":"2002","unstructured":"Benton, N., Hughes, J., Moggi, E.: Monads and effects. In: Barthe, G., Dybjer, P., Pinto, L., Saraiva, J. (eds.) APPSEM 2000. LNCS, vol.\u00a02395, p. 42. Springer, Heidelberg (2002)"},{"key":"4_CR3","volume-title":"Introduction to Functional Programming using Haskell","author":"R. Bird","year":"1998","unstructured":"Bird, R.: Introduction to Functional Programming using Haskell, 2nd edn. Prentice Hall, UK (1998)","edition":"2"},{"key":"4_CR4","volume-title":"Algebra of Programming","author":"R.S. Bird","year":"1997","unstructured":"Bird, R.S., de Moor, O.: Algebra of Programming. Prentice Hall, UK (1997)"},{"key":"4_CR5","first-page":"54","volume-title":"24th Symposium on Principles of Programming Languages","author":"C.-P. Chen","year":"1997","unstructured":"Chen, C.-P., Hudak, P.: Rolling Your Own Mutable ADT\u2014A Connection Between Linear Types and Monads. In: 24th Symposium on Principles of Programming Languages, January 1997, pp. 54\u201366. ACM, New York (1997)"},{"key":"4_CR6","unstructured":"Fokkinga, M.M.: Law and Order in Algorithmics. PhD thesis, Universiteit Twente, The Netherlands (1992)"},{"key":"4_CR7","unstructured":"Fokkinga, M.M.: Monadic maps and folds for arbitrary datatypes. Memoranda Informatica 94-28, University of Twente (June 1994)"},{"key":"4_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"148","DOI":"10.1007\/3-540-47797-7_5","volume-title":"Algebraic and Coalgebraic Methods in the Mathematics of Program Construction","author":"J. Gibbons","year":"2002","unstructured":"Gibbons, J.: Calculating Functional Programs. In: Blackhouse, R., Crole, R.L., Gibbons, J. (eds.) Algebraic and Coalgebraic Methods in the Mathematics of Program Construction. LNCS, vol.\u00a02297, pp. 148\u2013203. Springer, Heidelberg (2002)"},{"key":"4_CR9","volume-title":"3rd. International Conference on Functional Programming","author":"J. Gibbons","year":"1998","unstructured":"Gibbons, J., Jones, G.: The Under-Appreciated Unfold. In: 3rd. International Conference on Functional Programming, September 1998. ACM, New York (1998)"},{"key":"4_CR10","unstructured":"Gill, A.: Cheap Deforestation for Non-strict Functional Languages. PhD thesis, Department of Computing Science, University of Glasgow, UK (1996)"},{"key":"4_CR11","doi-asserted-by":"crossref","unstructured":"Gill, A., Launchbury, J., Jones, S.P.: A Shortcut to Deforestation. In: Conference on Functional Programming and Computer Architecture (1993)","DOI":"10.1145\/165180.165214"},{"key":"4_CR12","volume-title":"3rd International Conference on Functional Programming","author":"G. Hutton","year":"1998","unstructured":"Hutton, G.: Fold and Unfold for Program Semantics. In: 3rd International Conference on Functional Programming, September 1998. ACM, New York (1998)"},{"key":"4_CR13","series-title":"NATO ASI Series","volume-title":"Engineering theories of software construction, Marktoberdorf Summer School 2000","author":"S.P. Jones","year":"2001","unstructured":"Jones, S.P.: Tackling the awkward squad: monadic input\/output, concurrency, exceptions, and foreign language calls in Haskell. In: Engineering theories of software construction, Marktoberdorf Summer School 2000. NATO ASI Series. IOS Press, Amsterdam (2001)"},{"key":"4_CR14","first-page":"24","volume-title":"Symposium on Programming Language Design and Implementation (PLDI 1994)","author":"S.P. Jones","year":"1994","unstructured":"Jones, S.P., Launchbury, J.: Lazy functional state threads. In: Symposium on Programming Language Design and Implementation (PLDI 1994), pp. 24\u201335. ACM, New York (1994)"},{"key":"4_CR15","unstructured":"King, D.: Functional Programming and Graph Algorithms. PhD thesis, Department of Computing Science, University of Glasgow, UK (March 1996)"},{"key":"4_CR16","first-page":"344","volume-title":"22nd Symposium on Principles of Programming Languages","author":"D. King","year":"1995","unstructured":"King, D., Launchbury, J.: Structuring depth-first search algorithms in Haskell. In: 22nd Symposium on Principles of Programming Languages, pp. 344\u2013354. ACM, New York (1995)"},{"key":"4_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-59451-5_9","volume-title":"Advanced Functional Programming","author":"J. Launchbury","year":"1995","unstructured":"Launchbury, J.: Graph Algorithms with a Functional Flavour. In: Advanced Functional Programming. LNCS, vol.\u00a0925. Springer, Heidelberg (1995)"},{"key":"4_CR18","series-title":"Lecture Notes in Computer Science","volume-title":"Functional Programming Languages and Computer Architecture 1991","author":"E. Meijer","year":"1991","unstructured":"Meijer, E., Fokkinga, M., Paterson, R.: Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire. In: Functional Programming Languages and Computer Architecture 1991, August 1991. LNCS, vol.\u00a0523. Springer, Heidelberg (1991)"},{"key":"4_CR19","doi-asserted-by":"crossref","unstructured":"Meijer, E., Hutton, G.: Bananas in space: Extending fold and unfold to exponential types. In: Functional Programming Languages and Computer Architecture 1995, pp. 324\u2013333 (1995)","DOI":"10.1145\/224164.224225"},{"key":"4_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"228","DOI":"10.1007\/3-540-59451-5_7","volume-title":"Advanced Functional Programming","author":"E. Meijer","year":"1995","unstructured":"Meijer, E., Jeuring, J.: Merging Monads and Folds for Functional Programming. In: Advanced Functional Programming. LNCS, vol.\u00a0925, pp. 228\u2013266. Springer, Heidelberg (1995)"},{"key":"4_CR21","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. Information and Computation\u00a093, 55\u201392 (1991)","journal-title":"Information and Computation"},{"key":"4_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"304","DOI":"10.1007\/3-540-58027-1_15","volume-title":"Mathematical Foundations of Programming Semantics","author":"P.S. Mulry","year":"1994","unstructured":"Mulry, P.S.: Lifting Theorems for Kleisli Categories. In: Main, M.G., Melton, A.C., Mislove, M.W., Schmidt, D., Brookes, S.D. (eds.) MFPS 1993. LNCS, vol.\u00a0802, pp. 304\u2013319. Springer, Heidelberg (1994)"},{"key":"4_CR23","doi-asserted-by":"publisher","first-page":"76","DOI":"10.1007\/978-0-387-35264-0_4","volume-title":"IFIP TC 2 Working Conference on Algorithmic Languages and Calculi","author":"Y. Onoue","year":"1997","unstructured":"Onoue, Y., Hu, Z., Iwasaki, H., Takeichi, M.: A Calculational Fusion System HYLO. In: IFIP TC 2 Working Conference on Algorithmic Languages and Calculi, Le Bischenberg, France, February 1997, pp. 76\u2013106. Chapman & Hall, Boca Raton (1997)"},{"key":"4_CR24","unstructured":"Pardo, A.: A Calculational Approach to Recursive Programs with Effects. PhD thesis, Technische Universit\u00e4t Darmstadt (October 2001)"},{"key":"4_CR25","doi-asserted-by":"publisher","first-page":"165","DOI":"10.1016\/S0304-3975(00)00127-4","volume":"260","author":"A. Pardo","year":"2001","unstructured":"Pardo, A.: Fusion of Recursive Programs with Computational Effects. Theoretical Computer Science\u00a0260, 165\u2013207 (2001)","journal-title":"Theoretical Computer Science"},{"key":"4_CR26","volume-title":"20th Annual Symposium on Principles of Programming Languages","author":"S. Peyton-Jones","year":"1993","unstructured":"Peyton-Jones, S., Wadler, P.: Imperative Functional Programming. In: 20th Annual Symposium on Principles of Programming Languages, Charlotte, North Carolina. ACM, New York (1993)"},{"key":"4_CR27","doi-asserted-by":"crossref","unstructured":"Takano, A., Meijer, E.: Shortcut to Deforestation in Calculational Form. In: Functional Programming Languages and Computer Architecture 1995 (1995)","DOI":"10.1145\/224164.224221"},{"key":"4_CR28","unstructured":"Tuijnman, D.: A Categorical Approach to Functional Programming. PhD thesis, Fakult\u00e4t f\u00fcr Informatik, Universit\u00e4t Ulm, Germany (January 1996)"},{"key":"4_CR29","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Theorems for free. In: 4th International Conference on Functional Programming and Computer Architecture, London (1989)","DOI":"10.1145\/99370.99404"},{"key":"4_CR30","doi-asserted-by":"publisher","first-page":"231","DOI":"10.1016\/0304-3975(90)90147-A","volume":"73","author":"P. Wadler","year":"1990","unstructured":"Wadler, P.: Deforestation: transforming programs to eliminate trees. Theoretical Computer Science\u00a073, 231\u2013248 (1990)","journal-title":"Theoretical Computer Science"},{"key":"4_CR31","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-59451-5_2","volume-title":"Advanced Functional Programming","author":"P. Wadler","year":"1995","unstructured":"Wadler, P.: Monads for functional programming. In: Advanced Functional Programming. LNCS, vol.\u00a0925. Springer, Heidelberg (1995)"}],"container-title":["Lecture Notes in Computer Science","Advanced Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/11546382_4","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,7,6]],"date-time":"2021-07-06T06:03:52Z","timestamp":1625551432000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/11546382_4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005]]},"ISBN":["9783540285403","9783540318729"],"references-count":31,"URL":"https:\/\/doi.org\/10.1007\/11546382_4","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2005]]}}}