{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,9]],"date-time":"2026-05-09T03:22:57Z","timestamp":1778296977203,"version":"3.51.4"},"publisher-location":"Berlin, Heidelberg","reference-count":31,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783540543961","type":"print"},{"value":"9783540475996","type":"electronic"}],"license":[{"start":{"date-parts":[[1991,1,1]],"date-time":"1991-01-01T00:00:00Z","timestamp":662688000000},"content-version":"tdm","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":[[1991]]},"DOI":"10.1007\/3540543961_7","type":"book-chapter","created":{"date-parts":[[2012,2,25]],"date-time":"2012-02-25T17:44:27Z","timestamp":1330191867000},"page":"124-144","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":193,"title":["Functional programming with bananas, lenses, envelopes and barbed wire"],"prefix":"10.1007","author":[{"given":"Erik","family":"Meijer","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Maarten","family":"Fokkinga","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ross","family":"Paterson","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2005,7,6]]},"reference":[{"key":"7_CR1","unstructured":"Roland Backhouse, Jaap van der Woude, Ed Voermans, and Grant Malcolm. A relational theory of types. Technical Report ??, TUE, 1991."},{"key":"7_CR2","unstructured":"Rudolf Berghammer. On the use of composition in transformational programming. Technical Report TUM-18512, TU M\u00fcnchen, 1985."},{"key":"7_CR3","doi-asserted-by":"crossref","unstructured":"R. Bird. An introduction to the theory of lists. In M. Broy, editor, Logic of Programming and Calculi of Discrete Design, pages 3\u201342. Springer Verlag, 1987. Also Technical Monograph PRG-56, Oxford University, October 1986.","DOI":"10.1007\/978-3-642-87374-4_1"},{"key":"7_CR4","doi-asserted-by":"crossref","unstructured":"Richard Bird. Constructive functional programming. In M. Broy, editor, Marktoberdorf International Summer school on Constructive Methods in Computer Science, NATO Advanced Science Institute Series. Springer Verlag, 1989.","DOI":"10.1007\/978-3-642-74884-4_5"},{"key":"7_CR5","unstructured":"Richard Bird and Phil Wadler. Introduction to Functional Programming. Prentice-Hall, 1988."},{"key":"7_CR6","unstructured":"R. Bos and C. Hemerik. An introduction to the category-theoretic solution of recursive domain equations. Technical Report TRCSN 88\/15, Eindhoven University of Technology, October 1988."},{"key":"7_CR7","unstructured":"Manfred Broy. Transformation parallel ablaufender Programme. PhD thesis, TU M\u00fcnchen, M\u00fcnchen, 1980."},{"key":"7_CR8","unstructured":"A. de Bruin and E.P. de Vink. Retractions in comparing Prolog semantics. In Computer Science in the Netherlands 1989, pages 71\u201390. SION, 1989."},{"key":"7_CR9","unstructured":"Peter de Bruin. Naturalness of polymorphism. Technical Report CS 8916, RUG, 1989."},{"key":"7_CR10","unstructured":"Maarten Fokkinga. Tupling and mutumorphisms. The Squiggolist, 1(4), 1989."},{"key":"7_CR11","unstructured":"Maarten Fokkinga, Johan Jeuring, Lambert Meertens, and Erik Meijer. Translating attribute grammars into catamorphisms. The Squiggolist, 2(1), 1991."},{"key":"7_CR12","unstructured":"Maarten Fokkinga and Erik Meijer. Program calculation properties of continuous algebras. Technical Report 91-4, CWI, 1991."},{"key":"7_CR13","doi-asserted-by":"crossref","unstructured":"C. Gunter, P. Mosses, and D. Scott. Semantic domains and denotational semantics. In Marktoberdorf International Summer school on Logic, Algebra and Computation, 1989. to appear in: Handbook of Theoretical Computer Science, North Holland.","DOI":"10.21236\/ADA220285"},{"key":"7_CR14","doi-asserted-by":"crossref","first-page":"629","DOI":"10.1016\/S0747-7171(89)80065-3","volume":"8","author":"T. Hagino","year":"1989","unstructured":"Tasuya Hagino. Codatatypes in ML. Journal of Symbolic Computation, 8:629\u2013650, 1989.","journal-title":"Journal of Symbolic Computation"},{"issue":"2","key":"7_CR15","doi-asserted-by":"crossref","first-page":"295","DOI":"10.1145\/357162.357171","volume":"4","author":"J. Arsac","year":"1982","unstructured":"J. Arsac and Y Kodratoff. Some techniques for recursion removal. ACM Toplas, 4(2):295\u2013322, 1982.","journal-title":"ACM Toplas"},{"key":"7_CR16","doi-asserted-by":"crossref","first-page":"97","DOI":"10.1007\/BF01752392","volume":"14","author":"D.J. Lehmann","year":"1981","unstructured":"D.J. Lehmann and M.B. Smyth. Algebraic specification of data types: a synthetic approach. Math. Systems Theory, 14:97\u2013139, 1981.","journal-title":"Math. Systems Theory"},{"key":"7_CR17","volume-title":"Algebraic Types and Program Transformation","author":"G. Malcolm","year":"1990","unstructured":"Grant Malcolm. Algebraic Types and Program Transformation. PhD thesis, University of Groningen, The Netherlands, 1990."},{"key":"7_CR18","unstructured":"Lambert Meertens. Algorithmics \u2014 towards programming as a mathematical activity. In Proceedings of the CWI symposium on Mathematics and Computer Science, pages 289\u2013334. North-Holland, 1986."},{"key":"7_CR19","unstructured":"Lambert Meertens. Paramorphisms. To appear in Formal Aspects of Computing, 1990."},{"key":"7_CR20","volume-title":"Programming calculi based on fixed point transformations: semantics and applications","author":"J. C. Meyer","year":"1985","unstructured":"John-Jules Ch. Meyer. Programming calculi based on fixed point transformations: semantics and applications. PhD thesis, Vrije Universiteit, Amsterdam, 1985."},{"key":"7_CR21","volume-title":"Reasoning about Functional Programs","author":"R. Paterson","year":"1988","unstructured":"Ross Paterson. Reasoning about Functional Programs. PhD thesis, University of Queensland, Brisbane, 1988."},{"key":"7_CR22","unstructured":"John C. Reynolds. Types abstraction and parametric polymorphism. In Information Processing '83. North Holland, 1983."},{"key":"7_CR23","unstructured":"David A. Schmidt. Denotational Semantics. Allyn and Bacon, 1986."},{"issue":"4","key":"7_CR24","doi-asserted-by":"crossref","first-page":"761","DOI":"10.1137\/0211062","volume":"11","author":"M.B. Smyth","year":"1982","unstructured":"M.B. Smyth and G.D. Plotkin. The category-theoretic solution of recursive domain equations. SIAM Journal on Computing, 11(4):761\u2013785, November 1982.","journal-title":"SIAM Journal on Computing"},{"key":"7_CR25","unstructured":"Joseph E. Stoy. Denotational Semantics, The Scott-Strachey Approach to Programming Language Theory. The MIT press, 1977."},{"key":"7_CR26","unstructured":"Nico Verwer. Homomorphisms, factorisation and promotion. The Squiggolist, 1(3), 1990. Also technical report RUU-CS-90-5, Utrecht University, 1990."},{"key":"7_CR27","doi-asserted-by":"crossref","unstructured":"Phil Wadler. Views: A way for pattern matching to cohabit with data abstraction. Technical Report 34, Programming Methodology Group, University of G\u00f6teborg and Chalmers University of Technology, March 1987.","DOI":"10.1145\/41625.41653"},{"key":"7_CR28","unstructured":"Philip Wadler. Theorems for free ! In Proc. 1989 ACM Conference on Lisp and Functional Programming, pages 347\u2013359, 1989."},{"key":"7_CR29","doi-asserted-by":"crossref","unstructured":"Philip Wadler. Comprehending monads. In Proc. 1990 ACM Conference on Lisp and Functional Programming, 1990.","DOI":"10.1145\/91556.91592"},{"key":"7_CR30","doi-asserted-by":"crossref","unstructured":"M. Wand. Fixed point constructions in order enriched categories. Theoretical Computer Science, 8, 1979.","DOI":"10.1016\/0304-3975(79)90053-7"},{"key":"7_CR31","unstructured":"Hans Zierer. Programmierung mit funktionsobjecten: Konstruktive erzeugung semantische bereiche und anwendung auf die partielle auswertung. Technical Report TUM-18803, TU M\u00fcnchen, 1988."}],"container-title":["Lecture Notes in Computer Science","Functional Programming Languages and Computer Architecture"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/3540543961_7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,19]],"date-time":"2019-05-19T08:50:51Z","timestamp":1558255851000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/3540543961_7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1991]]},"ISBN":["9783540543961","9783540475996"],"references-count":31,"URL":"https:\/\/doi.org\/10.1007\/3540543961_7","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[1991]]},"assertion":[{"value":"6 July 2005","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}