{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,1,11]],"date-time":"2023-01-11T07:09:55Z","timestamp":1673420995822},"reference-count":30,"publisher":"Elsevier BV","issue":"1-3","license":[{"start":{"date-parts":[[1996,5,1]],"date-time":"1996-05-01T00:00:00Z","timestamp":830908800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2013,7,17]],"date-time":"2013-07-17T00:00:00Z","timestamp":1374019200000},"content-version":"vor","delay-in-days":6286,"URL":"https:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Science of Computer Programming"],"published-print":{"date-parts":[[1996,5]]},"DOI":"10.1016\/0167-6423(95)00033-x","type":"journal-article","created":{"date-parts":[[2002,10,31]],"date-time":"2002-10-31T16:12:04Z","timestamp":1036080724000},"page":"15-31","source":"Crossref","is-referenced-by-count":7,"title":["Functional algorithm design"],"prefix":"10.1016","volume":"26","author":[{"given":"Richard S.","family":"Bird","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/0167-6423(95)00033-X_BIB1","series-title":"Proc. the IFIP TC2\/WG2.1 Working Conf. on Constructing Programs from Specifications","first-page":"287","article-title":"Relational catamorphisms","author":"Backhouse","year":"1991"},{"key":"10.1016\/0167-6423(95)00033-X_BIB2","doi-asserted-by":"crossref","first-page":"93","DOI":"10.1016\/0167-6423(89)90036-1","article-title":"Formal derivation of a pattern matching algorithm","volume":"12","author":"Bird","year":"1989","journal-title":"Sci. Comput. Programming"},{"key":"10.1016\/0167-6423(95)00033-X_BIB3","series-title":"Introduction to Functional Programming","author":"Bird","year":"1988"},{"key":"10.1016\/0167-6423(95)00033-X_BIB4","series-title":"The Algebra of Programming","author":"Bird","year":"1996"},{"key":"10.1016\/0167-6423(95)00033-X_BIB5","series-title":"Introduction to Algorithms","author":"Cormen","year":"1990"},{"key":"10.1016\/0167-6423(95)00033-X_BIB6","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1007\/BF00264597","article-title":"A synthesis of several sorting algorithms","volume":"11","author":"Darlington","year":"1978","journal-title":"Acta Inform."},{"key":"10.1016\/0167-6423(95)00033-X_BIB7","article-title":"Categories, Allegories","volume":"Vol. 39","author":"Freyd","year":"1990"},{"key":"10.1016\/0167-6423(95)00033-X_BIB8","series-title":"Constructing Programs from Specifications, Proc. IFIP TC2\/WG2.1 Conference","first-page":"373","article-title":"Partial relations for program development","author":"Haeberer","year":"1991"},{"key":"10.1016\/0167-6423(95)00033-X_BIB9","series-title":"Membership of datatypes","author":"Hoogendijk","year":"1993"},{"key":"10.1016\/0167-6423(95)00033-X_BIB10","article-title":"The design of functional programs: a calculational approach","author":"Hoogerwoord","year":"1989"},{"key":"10.1016\/0167-6423(95)00033-X_BIB11","first-page":"238","article-title":"Polytypic pattern matching","author":"Jeuring","year":"1995"},{"key":"10.1016\/0167-6423(95)00033-X_BIB12","series-title":"Formal Methods for VLSI Design","first-page":"13","article-title":"Circuit design in Ruby","author":"Jones","year":"1990"},{"key":"10.1016\/0167-6423(95)00033-X_BIB13","series-title":"Proc. ACM Principles of Programming Languages","article-title":"Structuring depth-first search algorithms in Haskell","author":"King","year":"1995"},{"key":"10.1016\/0167-6423(95)00033-X_BIB14","series-title":"State in Haskell","author":"Launchbury","year":"1995"},{"key":"10.1016\/0167-6423(95)00033-X_BIB15","series-title":"1989 Groningen Mathematics of Program Construction Conf.","first-page":"335","article-title":"Homomorphisms and promotability","volume":"Vol. 375","author":"Malcolm","year":"1989"},{"key":"10.1016\/0167-6423(95)00033-X_BIB16","article-title":"Algebraic types and program transformation","author":"Malcolm","year":"1990"},{"key":"10.1016\/0167-6423(95)00033-X_BIB17","series-title":"Proc. 1991 ACM Conf. on Functional Programming and Computer Architecture","article-title":"Functional programming with bananas, lenses, envelopes and barbed wire","volume":"Vol. 523","author":"Meijer","year":"1991"},{"key":"10.1016\/0167-6423(95)00033-X_BIB18","doi-asserted-by":"crossref","first-page":"315","DOI":"10.1007\/BF00264277","article-title":"A relational approach to the design of deterministic programs","volume":"20","author":"Mili","year":"1983","journal-title":"Acta Inform."},{"key":"10.1016\/0167-6423(95)00033-X_BIB19","series-title":"Constructing Programs from Specifications, Proc. IFIP TC2\/WG2.1 Conf.","first-page":"373","article-title":"Relations as a program development language","author":"M\u00f6ller","year":"1991"},{"key":"10.1016\/0167-6423(95)00033-X_BIB20","series-title":"Formal methods in Programming and their Applications","first-page":"394","article-title":"Algebraic calculation of graph and sorting algorithms","volume":"Vol. 735","author":"M\u00f6ller","year":"1993"},{"key":"10.1016\/0167-6423(95)00033-X_BIB21_1","series-title":"Technical Monograph PRG-98","article-title":"Categories, relations and dynamic programming","author":"de Moor","year":"1992"},{"key":"10.1016\/0167-6423(95)00033-X_BIB21_2","doi-asserted-by":"crossref","first-page":"33","DOI":"10.1017\/S0960129500000360","volume":"4","author":"de Moor","year":"1994","journal-title":"Math. Struct. in Comput. Sci."},{"key":"10.1016\/0167-6423(95)00033-X_BIB22","doi-asserted-by":"crossref","unstructured":"C. Okasaki, Simple and efficient purely functional queues and deques, J. Functional Programming 5, To appear.","DOI":"10.1017\/S0956796800001489"},{"key":"10.1016\/0167-6423(95)00033-X_BIB23","unstructured":"C. Okasaki and G. Brodal, Optimal purely functional priority queues, J. Functional Programming, To appear."},{"key":"10.1016\/0167-6423(95)00033-X_BIB24","doi-asserted-by":"crossref","first-page":"135","DOI":"10.1145\/44546.44559","article-title":"Are applicative languages inefficient?","volume":"23","author":"Ponder","year":"1988","journal-title":"SIGPLAN Notices"},{"key":"10.1016\/0167-6423(95)00033-X_BIB25","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-77968-8","article-title":"Relations and Graphs","author":"Schmidt","year":"1991"},{"key":"10.1016\/0167-6423(95)00033-X_BIB26","doi-asserted-by":"crossref","first-page":"215","DOI":"10.1145\/321879.321884","article-title":"Efficiency of a good but not linear set union algorithm","volume":"22","author":"Tarjan","year":"1975","journal-title":"J. ACM."},{"key":"10.1016\/0167-6423(95)00033-X_BIB27","doi-asserted-by":"crossref","first-page":"245","DOI":"10.1145\/62.2160","article-title":"Worst-case analysis of set union algorithms","volume":"31","author":"Tarjan","year":"1984","journal-title":"J. ACM."},{"key":"10.1016\/0167-6423(95)00033-X_BIB28","first-page":"347","article-title":"Algorithm 232 (heapsort)","volume":"7","author":"Williams","year":"1964","journal-title":"Commun. ACM"},{"key":"10.1016\/0167-6423(95)00033-X_BIB29","first-page":"461","article-title":"Deforestation: transforming programs to eliminate trees","volume":"2","author":"Wadler","year":"1990","journal-title":"Theoret. Comput. Sci."}],"container-title":["Science of Computer Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:016764239500033X?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:016764239500033X?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2020,2,4]],"date-time":"2020-02-04T11:27:44Z","timestamp":1580815664000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/016764239500033X"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1996,5]]},"references-count":30,"journal-issue":{"issue":"1-3","published-print":{"date-parts":[[1996,5]]}},"alternative-id":["016764239500033X"],"URL":"https:\/\/doi.org\/10.1016\/0167-6423(95)00033-x","relation":{},"ISSN":["0167-6423"],"issn-type":[{"value":"0167-6423","type":"print"}],"subject":[],"published":{"date-parts":[[1996,5]]}}}