@article{Bird84:0, title = {The Promotion and Accumulation Strategies in Transformational Programming}, author = {Richard S. Bird}, year = {1984}, doi = {10.1145/1780.1781}, url = {http://doi.acm.org/10.1145/1780.1781}, tags = {programming, transformation, program transformation}, researchr = {https://researchr.org/publication/Bird84%3A0}, cites = {0}, citedby = {0}, journal = {TOPLAS}, volume = {6}, number = {4}, pages = {487-504}, } @article{BirdM05, title = {Countdown: A case study in Origami programming}, author = {Richard S. Bird and Shin-Cheng Mu}, year = {2005}, doi = {10.1017/S0956796805005642}, url = {http://dx.doi.org/10.1017/S0956796805005642}, tags = {case study, programming}, researchr = {https://researchr.org/publication/BirdM05}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {15}, number = {5}, pages = {679-702}, } @article{Bird93:0, title = {Functional Pearls: The Last Tail}, author = {Richard S. Bird}, year = {1993}, researchr = {https://researchr.org/publication/Bird93%3A0}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {3}, number = {1}, pages = {117-122}, } @article{Bird01a, title = {Maximum marking problems}, author = {Richard S. Bird}, year = {2001}, researchr = {https://researchr.org/publication/Bird01a}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {11}, number = {4}, pages = {411-424}, } @inproceedings{BirdG02, title = {Arithmetic Coding with Folds and Unfolds}, author = {Richard S. Bird and Jeremy Gibbons}, year = {2002}, url = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2638&spage=1}, researchr = {https://researchr.org/publication/BirdG02}, cites = {0}, citedby = {0}, pages = {1-26}, booktitle = {afp}, } @inproceedings{MuB01, title = {Functional Quantum Programming}, author = {Shin-Cheng Mu and Richard S. Bird}, year = {2001}, tags = {functional programming, programming}, researchr = {https://researchr.org/publication/MuB01}, cites = {0}, citedby = {0}, pages = {75-88}, booktitle = {aplas}, } @article{BirdS07, title = {Minimal on-line labelling}, author = {Richard S. Bird and Stefan Sadnicki}, year = {2007}, doi = {10.1016/j.ipl.2006.07.011}, url = {http://dx.doi.org/10.1016/j.ipl.2006.07.011}, researchr = {https://researchr.org/publication/BirdS07}, cites = {0}, citedby = {0}, journal = {ipl}, volume = {101}, number = {1}, pages = {41-45}, } @article{Bird74, title = {Speeding up Programs}, author = {Richard S. Bird}, year = {1974}, researchr = {https://researchr.org/publication/Bird74}, cites = {0}, citedby = {0}, journal = {cj}, volume = {17}, number = {4}, pages = {337-339}, } @inproceedings{MuB03, title = {Rebuilding a Tree from Its Traversals: A Case Study of Program Inversion}, author = {Shin-Cheng Mu and Richard S. Bird}, year = {2003}, url = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2895&spage=265}, tags = {case study, traversal}, researchr = {https://researchr.org/publication/MuB03}, cites = {0}, citedby = {0}, pages = {265-282}, booktitle = {aplas}, } @inproceedings{Bird06:2, title = {Improving Saddleback Search: A Lesson in Algorithm Design}, author = {Richard S. Bird}, year = {2006}, doi = {10.1007/11783596_8}, url = {http://dx.doi.org/10.1007/11783596_8}, tags = {search, design}, researchr = {https://researchr.org/publication/Bird06%3A2}, cites = {0}, citedby = {0}, pages = {82-89}, booktitle = {mpc}, } @inproceedings{MuB02, title = {Inverting Functions as Folds}, author = {Shin-Cheng Mu and Richard S. Bird}, year = {2002}, url = {http://link.springer.de/link/service/series/0558/bibs/2386/23860209.htm}, researchr = {https://researchr.org/publication/MuB02}, cites = {0}, citedby = {0}, pages = {209-232}, booktitle = {mpc}, } @article{Bird77:0, title = {Two Dimensional Pattern Matching}, author = {Richard S. Bird}, year = {1977}, tags = {pattern matching}, researchr = {https://researchr.org/publication/Bird77%3A0}, cites = {0}, citedby = {0}, journal = {ipl}, volume = {6}, number = {5}, pages = {168-170}, } @article{MuB04, title = {Theory and applications of inverting functions as folds}, author = {Shin-Cheng Mu and Richard S. Bird}, year = {2004}, doi = {10.1016/j.scico.2003.09.003}, url = {http://dx.doi.org/10.1016/j.scico.2003.09.003}, researchr = {https://researchr.org/publication/MuB04}, cites = {0}, citedby = {0}, journal = {SCP}, volume = {51}, number = {1-2}, pages = {87-116}, } @article{Bird87, title = {A Formal Development of an Efficient Subercombinator Compiler}, author = {Richard S. Bird}, year = {1987}, tags = {compiler}, researchr = {https://researchr.org/publication/Bird87}, cites = {0}, citedby = {0}, journal = {SCP}, volume = {8}, number = {2}, pages = {113-137}, } @inproceedings{BirdGMVS13, title = {Understanding idiomatic traversals backwards and forwards}, author = {Richard S. Bird and Jeremy Gibbons and Stefan Mehner and Tom Schrijvers and Janis Voigtländer}, year = {2013}, doi = {10.1145/2503778.2503781}, url = {http://doi.acm.org/10.1145/2503778.2503781}, researchr = {https://researchr.org/publication/BirdGMVS13}, cites = {0}, citedby = {0}, pages = {25-36}, booktitle = {haskell}, } @article{Bird98, title = {Meertens Number}, author = {Richard S. Bird}, year = {1998}, researchr = {https://researchr.org/publication/Bird98}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {8}, number = {1}, pages = {83-88}, } @article{Bird92:1, title = {The Smallest Upravel}, author = {Richard S. Bird}, year = {1992}, researchr = {https://researchr.org/publication/Bird92%3A1}, cites = {0}, citedby = {0}, journal = {SCP}, volume = {18}, number = {3}, pages = {281-292}, } @article{BirdP99:0, title = {Generalised folds for nested datatypes}, author = {Richard S. Bird and Ross Paterson}, year = {1999}, url = {http://link.springer.de/link/service/journals/00165/bibs/9011002/90110200.htm}, researchr = {https://researchr.org/publication/BirdP99%3A0}, cites = {0}, citedby = {0}, journal = {fac}, volume = {11}, number = {2}, pages = {200-222}, } @inproceedings{BirdM92, title = {Solving Optimisation Problems with Catamorphism}, author = {Richard S. Bird and Oege de Moor}, year = {1992}, researchr = {https://researchr.org/publication/BirdM92}, cites = {0}, citedby = {0}, pages = {45-66}, booktitle = {mpc}, } @article{Bird91a, title = {On Removing Duplicates}, author = {Richard S. Bird}, year = {1991}, researchr = {https://researchr.org/publication/Bird91a}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {1}, number = {2}, pages = {235-243}, } @inproceedings{Bird97:0, title = {Allegories as a Basis for Algorithmics}, author = {Richard S. Bird}, year = {1997}, researchr = {https://researchr.org/publication/Bird97%3A0}, cites = {0}, citedby = {0}, pages = {34-46}, booktitle = {ctcs}, } @article{BirdGJ89, title = {Formal Derivation of a Pattern Matching Algorithm}, author = {Richard S. Bird and Jeremy Gibbons and Geraint Jones}, year = {1989}, tags = {pattern matching}, researchr = {https://researchr.org/publication/BirdGJ89}, cites = {0}, citedby = {0}, journal = {SCP}, volume = {12}, number = {2}, pages = {93-104}, } @article{BirdM93:0, title = {List Partitions}, author = {Richard S. Bird and Oege de Moor}, year = {1993}, tags = {partitioning}, researchr = {https://researchr.org/publication/BirdM93%3A0}, cites = {0}, citedby = {0}, journal = {fac}, volume = {5}, number = {1}, pages = {61-78}, } @article{Bird92a, title = {Unravelling Greedy Algorithms}, author = {Richard S. Bird}, year = {1992}, researchr = {https://researchr.org/publication/Bird92a}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {2}, number = {3}, pages = {375-385}, } @article{Bird96, title = {Functional Algorithm Design}, author = {Richard S. Bird}, year = {1996}, tags = {design}, researchr = {https://researchr.org/publication/Bird96}, cites = {0}, citedby = {0}, journal = {SCP}, volume = {26}, number = {1-3}, pages = {15-31}, } @article{Bird97a, title = {On Building Trees with Minimum Height}, author = {Richard S. Bird}, year = {1997}, researchr = {https://researchr.org/publication/Bird97a}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {7}, number = {4}, pages = {441-445}, } @article{Bird01, title = {Unfolding pointer algorithms}, author = {Richard S. Bird}, year = {2001}, researchr = {https://researchr.org/publication/Bird01}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {11}, number = {3}, pages = {347-358}, } @article{Bird06:1, title = {Functional Pearl: A program to solve Sudoku}, author = {Richard S. Bird}, year = {2006}, doi = {10.1017/S0956796806006058}, url = {http://dx.doi.org/10.1017/S0956796806006058}, tags = {functional programming}, researchr = {https://researchr.org/publication/Bird06%3A1}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {16}, number = {6}, pages = {671-679}, } @article{Bird77, title = {Notes on Recursion Elimination}, author = {Richard S. Bird}, year = {1977}, researchr = {https://researchr.org/publication/Bird77}, cites = {0}, citedby = {0}, journal = {CACM}, volume = {20}, number = {6}, pages = {434-439}, } @article{Bird85, title = {Addendum to The Promotion and Accumulation Strategies in Transformational Programming }, author = {Richard S. Bird}, year = {1985}, tags = {programming, transformation, program transformation}, researchr = {https://researchr.org/publication/Bird85}, cites = {0}, citedby = {0}, journal = {TOPLAS}, volume = {7}, number = {3}, pages = {490-492}, } @inproceedings{Bird06a, title = {Loopless Functional Algorithms}, author = {Richard S. Bird}, year = {2006}, doi = {10.1007/11783596_9}, url = {http://dx.doi.org/10.1007/11783596_9}, researchr = {https://researchr.org/publication/Bird06a}, cites = {0}, citedby = {0}, pages = {90-114}, booktitle = {mpc}, } @inproceedings{Bird06, title = {Fifteen years of functional pearls}, author = {Richard S. Bird}, year = {2006}, doi = {10.1145/1159803.1159832}, url = {http://doi.acm.org/10.1145/1159803.1159832}, researchr = {https://researchr.org/publication/Bird06}, cites = {0}, citedby = {0}, pages = {215}, booktitle = {ICFP}, } @article{Bird74:0, title = {On Transformations of Programs}, author = {Richard S. Bird}, year = {1974}, tags = {transformation, program transformation}, researchr = {https://researchr.org/publication/Bird74%3A0}, cites = {0}, citedby = {0}, journal = {jcss}, volume = {8}, number = {1}, pages = {22-35}, } @article{Bird92:0, title = {Two Greedy Algorithms}, author = {Richard S. Bird}, year = {1992}, researchr = {https://researchr.org/publication/Bird92%3A0}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {2}, number = {2}, pages = {237-244}, } @article{Bird97, title = {On Merging and Selection}, author = {Richard S. Bird}, year = {1997}, researchr = {https://researchr.org/publication/Bird97}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {7}, number = {3}, pages = {349-354}, } @article{BirdJM97, title = {More Haste, Less Speed: Lazy Versus Eager Evaluation}, author = {Richard S. Bird and Geraint Jones and Oege de Moor}, year = {1997}, tags = {laziness}, researchr = {https://researchr.org/publication/BirdJM97}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {7}, number = {5}, pages = {541-547}, } @article{Bird91, title = {The Minout Problem}, author = {Richard S. Bird}, year = {1991}, researchr = {https://researchr.org/publication/Bird91}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {1}, number = {1}, pages = {121-124}, } @inproceedings{BirdGM00, title = {Algebraic Methods for Optimization Problems}, author = {Richard S. Bird and Jeremy Gibbons and Shin-Cheng Mu}, year = {2000}, url = {http://link.springer.de/link/service/series/0558/bibs/2297/22970281.htm}, tags = {optimization, algebra}, researchr = {https://researchr.org/publication/BirdGM00}, cites = {0}, citedby = {0}, pages = {281-308}, booktitle = {acmmpc}, } @article{Bird81:0, title = {The Jogger s Problem}, author = {Richard S. Bird}, year = {1981}, researchr = {https://researchr.org/publication/Bird81%3A0}, cites = {0}, citedby = {0}, journal = {ipl}, volume = {13}, number = {3}, pages = {114-117}, } @article{Bird81, title = {Surveyor s Forum: A Recurring Bug}, author = {Richard S. Bird}, year = {1981}, researchr = {https://researchr.org/publication/Bird81}, cites = {0}, citedby = {0}, journal = {ACM Comput. Surv.}, volume = {13}, number = {2}, pages = {243}, } @article{Bird80, title = {Tabulation Techniques for Recursive Programs}, author = {Richard S. Bird}, year = {1980}, researchr = {https://researchr.org/publication/Bird80}, cites = {0}, citedby = {0}, journal = {ACM Comput. Surv.}, volume = {12}, number = {4}, pages = {403-417}, } @article{BirdMH96, title = {Generic Functional Programming with Types and Relations}, author = {Richard S. Bird and Oege de Moor and Paul F. Hoogendijk}, year = {1996}, tags = {generic programming, functional programming, programming}, researchr = {https://researchr.org/publication/BirdMH96}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {6}, number = {1}, pages = {1-28}, } @article{GibbonsLB06, title = {Functional Pearl: Enumerating the rationals}, author = {Jeremy Gibbons and David Lester and Richard S. Bird}, year = {2006}, doi = {10.1017/S0956796806005880}, url = {http://dx.doi.org/10.1017/S0956796806005880}, researchr = {https://researchr.org/publication/GibbonsLB06}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {16}, number = {3}, pages = {281-291}, } @inproceedings{BirdM96, title = {The algebra of programming}, author = {Richard S. Bird and Oege de Moor}, year = {1996}, tags = { algebra, programming}, researchr = {https://researchr.org/publication/BirdM96}, cites = {0}, citedby = {0}, pages = {167-203}, booktitle = {nato}, } @article{BirdC06:0, title = {Functional Pearls: Finding celebrities: A lesson in functional programming}, author = {Richard S. Bird and Sharon A. Curtis}, year = {2006}, doi = {10.1017/S0956796805005678}, url = {http://dx.doi.org/10.1017/S0956796805005678}, tags = {functional programming, programming}, researchr = {https://researchr.org/publication/BirdC06%3A0}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {16}, number = {1}, pages = {13-20}, } @article{BirdM04, title = {Inverting the Burrows-Wheeler transform}, author = {Richard S. Bird and Shin-Cheng Mu}, year = {2004}, doi = {10.1017/S0956796804005118}, url = {http://dx.doi.org/10.1017/S0956796804005118}, researchr = {https://researchr.org/publication/BirdM04}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {14}, number = {6}, pages = {603-612}, } @inproceedings{Bird95, title = {Functional Algorithm Design}, author = {Richard S. Bird}, year = {1995}, tags = {design}, researchr = {https://researchr.org/publication/Bird95}, cites = {0}, citedby = {0}, pages = {2-17}, booktitle = {mpc}, } @article{Bird04, title = {On tiling a chessboard}, author = {Richard S. Bird}, year = {2004}, doi = {10.1017/S095679680400512X}, url = {http://dx.doi.org/10.1017/S095679680400512X}, researchr = {https://researchr.org/publication/Bird04}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {14}, number = {6}, pages = {613-622}, } @article{Bird89, title = {Algebraic Identities for Program Calculation}, author = {Richard S. Bird}, year = {1989}, tags = { algebra}, researchr = {https://researchr.org/publication/Bird89}, cites = {0}, citedby = {0}, journal = {cj}, volume = {32}, number = {2}, pages = {122-126}, } @inproceedings{Bird05, title = {Polymorphic string matching}, author = {Richard S. Bird}, year = {2005}, doi = {10.1145/1088348.1088359}, url = {http://doi.acm.org/10.1145/1088348.1088359}, tags = {Haskell}, researchr = {https://researchr.org/publication/Bird05}, cites = {0}, citedby = {0}, pages = {110-115}, booktitle = {haskell}, } @article{BirdR97, title = {On Computing Representatives}, author = {Richard S. Bird and Jesús N. Ravelo}, year = {1997}, doi = {10.1016/S0020-0190(97)00087-2}, url = {http://dx.doi.org/10.1016/S0020-0190(97)00087-2}, researchr = {https://researchr.org/publication/BirdR97}, cites = {0}, citedby = {0}, journal = {ipl}, volume = {63}, number = {1}, pages = {1-7}, } @inproceedings{BirdM93, title = {From Dynamic Programming to Greedy Algorithms}, author = {Richard S. Bird and Oege de Moor}, year = {1993}, tags = {programming}, researchr = {https://researchr.org/publication/BirdM93}, cites = {0}, citedby = {0}, pages = {43-61}, booktitle = {ifip2-1}, } @inproceedings{Bird08, title = {Zippy Tabulations of Recursive Functions}, author = {Richard S. Bird}, year = {2008}, doi = {10.1007/978-3-540-70594-9_7}, url = {http://dx.doi.org/10.1007/978-3-540-70594-9_7}, researchr = {https://researchr.org/publication/Bird08}, cites = {0}, citedby = {0}, pages = {92-109}, booktitle = {mpc}, } @article{BirdH87, title = {The alpha-beta Algorithm: An Exercise in Program Transformation}, author = {Richard S. Bird and John Hughes}, year = {1987}, tags = {transformation, program transformation}, researchr = {https://researchr.org/publication/BirdH87}, cites = {0}, citedby = {0}, journal = {ipl}, volume = {24}, number = {1}, pages = {53-57}, } @article{BirdP99, title = {De Bruijn Notation as a Nested Datatype}, author = {Richard S. Bird and Ross Paterson}, year = {1999}, researchr = {https://researchr.org/publication/BirdP99}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {9}, number = {1}, pages = {77-91}, } @article{Bird79, title = {Recursion Elimination with Variable Parameters}, author = {Richard S. Bird}, year = {1979}, researchr = {https://researchr.org/publication/Bird79}, cites = {0}, citedby = {0}, journal = {cj}, volume = {22}, number = {2}, pages = {151-154}, } @inproceedings{BirdM98, title = {Nested Datatypes}, author = {Richard S. Bird and Lambert G. L. T. Meertens}, year = {1998}, url = {http://link.springer.de/link/service/series/0558/bibs/1422/14220052.htm}, researchr = {https://researchr.org/publication/BirdM98}, cites = {0}, citedby = {0}, pages = {52-67}, booktitle = {mpc}, } @article{Bird84, title = {Using Circular Programs to Eliminate Multiple Traversals of Data}, author = {Richard S. Bird}, year = {1984}, tags = {traversal, data-flow programming}, researchr = {https://researchr.org/publication/Bird84}, cites = {0}, citedby = {1}, journal = {ACTA}, volume = {21}, pages = {239-250}, } @article{Bird77a, title = {Improving Programs by the Introduction of Recursion}, author = {Richard S. Bird}, year = {1977}, researchr = {https://researchr.org/publication/Bird77a}, cites = {0}, citedby = {0}, journal = {CACM}, volume = {20}, number = {11}, pages = {856-863}, } @article{Bird86, title = {Transformational Programming and the Paragraph Problem}, author = {Richard S. Bird}, year = {1986}, tags = {programming, transformation, program transformation}, researchr = {https://researchr.org/publication/Bird86}, cites = {0}, citedby = {0}, journal = {SCP}, volume = {6}, number = {2}, pages = {159-189}, } @proceedings{mpc:1992, title = {Mathematics of Program Construction, Second International Conference, Oxford, U.K., June 29 - July 3, 1992, Proceedings}, year = {1993}, researchr = {https://researchr.org/publication/mpc%3A1992}, cites = {0}, citedby = {0}, booktitle = {Mathematics of Program Construction, Second International Conference, Oxford, U.K., June 29 - July 3, 1992, Proceedings}, conference = {mpc}, editor = {Richard S. Bird and Carroll Morgan and Jim Woodcock}, volume = {669}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-56625-2}, } @proceedings{alc:1997, title = {Algorithmic Languages and Calculi, IFIP TC2 WG2.1 International Workshop on Algorithmic Languages and Calculi, 17-22 February 1997, Alsace, France}, year = {1997}, researchr = {https://researchr.org/publication/alc%3A1997}, cites = {0}, citedby = {0}, booktitle = {Algorithmic Languages and Calculi, IFIP TC2 WG2.1 International Workshop on Algorithmic Languages and Calculi, 17-22 February 1997, Alsace, France}, editor = {Richard S. Bird and Lambert G. L. T. Meertens}, volume = {95}, series = {IFIP Conference Proceedings}, publisher = {Chapman & Hall}, isbn = {0-412-82050-1}, }