OXFORD UNIVERSITY  COMPUTING LABORATORY

publications.bib

@ARTICLE{Bird72:Integers,
  AUTHOR = {Richard Bird},
  TITLE = {Integers with Given Initial Digits},
  JOURNAL = {American Mathematical Monthly},
  YEAR = {1972},
  VOLUME = {79},
  PAGES = {367-370},
  FILE = {offline/Bird1972Integers.pdf},
  URL = {http://links.jstor.org/sici?sici=0002-9890%28197204%2979%3A4%3C367%3AIWGID%3E2.0.CO%3B2-2}
}
@ARTICLE{Bird73:Note,
  AUTHOR = {Richard Bird},
  TITLE = {A Note on Definition by Cases},
  JOURNAL = {Zeitschrift f{\"u}r mathematische {L}ogik und
      {G}rundlagen der {M}athematik},
  YEAR = {1973},
  VOLUME = {19},
  PAGES = {207--208}
}
@ARTICLE{Bird74:On,
  AUTHOR = {Richard Bird},
  TITLE = {On Transformations of Programs},
  JOURNAL = {Journal of Computer and System Sciences},
  YEAR = {1974},
  VOLUME = {8},
  PAGES = {22-35}
}
@ARTICLE{Bird74:Speeding,
  AUTHOR = {Richard S. Bird},
  TITLE = {Speeding Up Programs},
  JOURNAL = {Computer Journal},
  YEAR = {1974},
  VOLUME = {17},
  NUMBER = {4},
  PAGES = {337--339}
}
@ARTICLE{Bird75:Non,
  AUTHOR = {Richard Bird},
  TITLE = {Non Recursive Functionals},
  JOURNAL = {Zeitschrift f{\"u}r mathematische {L}ogik und
      {G}rundlagen der {M}athematik},
  YEAR = {1975},
  VOLUME = {21},
  PAGES = {41--46}
}
@BOOK{Bird76:Programs,
  AUTHOR = {Richard Bird},
  TITLE = {Programs and Machines},
  PUBLISHER = {Wiley},
  YEAR = {1976}
}
@ARTICLE{Bird77:Notes,
  AUTHOR = {Richard S. Bird},
  TITLE = {Notes on Recursion Elimination},
  JOURNAL = {Communications of the ACM},
  YEAR = {1977},
  VOLUME = {20},
  NUMBER = {6},
  PAGES = {434--439},
  URL = {http://dx.doi.org/10.1145/359605.359630},
  FILE = {offline/Bird1977Notes.pdf}
}
@ARTICLE{Bird77:Two,
  AUTHOR = {Richard S. Bird},
  TITLE = {Two-Dimensional Pattern Matching},
  JOURNAL = {Information Processing Letters},
  YEAR = {1977},
  VOLUME = {6},
  NUMBER = {5},
  PAGES = {168--170},
  URL = {http://dx.doi.org/10.1016/0020-0190(77)90017-5}
}
@ARTICLE{Bird77:Improving,
  AUTHOR = {Richard S. Bird},
  TITLE = {Improving Programs by the Introduction of Recursion},
  JOURNAL = {Communications of the ACM},
  YEAR = {1977},
  VOLUME = {20},
  NUMBER = {11},
  PAGES = {856--863},
  MONTH = NOV,
  URL = {http://doi.acm.org/10.1145/359863.359889},
  FILE = {offline/Bird1977Improving.pdf}
}
@ARTICLE{Bird79:Recursion,
  AUTHOR = {Richard S. Bird},
  TITLE = {Recursion Elimination with Variable Parameters},
  JOURNAL = {Computer Journal},
  YEAR = {1979},
  VOLUME = {22},
  NUMBER = {2},
  PAGES = {151--154},
  URL = {http://dx.doi.org/10.1093/comjnl/22.2.151},
  FILE = {offline/Bird1979Recursion.pdf}
}
@ARTICLE{Bird80:Tabulation,
  AUTHOR = {Richard S. Bird},
  TITLE = {Tabulation Techniques for Recursive Programs},
  JOURNAL = {ACM Computing Surveys},
  YEAR = {1980},
  VOLUME = {12},
  NUMBER = {4},
  PAGES = {403--417},
  NOTE = {See \cite{DBLP:journals/csur/Bird81}},
  MONTH = DEC,
  URL = {http://dx.doi.org/10.1145/356827.356831},
  FILE = {offline/Bird1980Tabulation.pdf}
}
@ARTICLE{Bird81:Joggers,
  AUTHOR = {Richard S. Bird},
  TITLE = {The Jogger's Problem},
  JOURNAL = {Information Processing Letters},
  YEAR = {1981},
  VOLUME = {13},
  NUMBER = {3},
  PAGES = {114--117},
  URL = {http://dx.doi.org/10.1016/0020-0190(81)90122-8}
}
@ARTICLE{DBLP:journals/csur/Bird81,
  AUTHOR = {Richard S. Bird},
  TITLE = {Surveyor's Forum: A Recurring Bug},
  JOURNAL = {ACM Computing Surveys},
  VOLUME = {13},
  NUMBER = {2},
  YEAR = {1981},
  PAGES = {243},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de},
  URL = {http://dx.doi.org/10.1145/356842.356848},
  FILE = {offline/Bird1981Recurring.pdf}
}
@ARTICLE{Bird84:Using,
  AUTHOR = {Richard S. Bird},
  TITLE = {Using Circular Programs to Eliminate Multiple Traversals
          of Data},
  JOURNAL = {Acta Informatica},
  YEAR = {1984},
  VOLUME = {21},
  PAGES = {239--250},
  URL = {http://dx.doi.org/10.1007/BF00264249}
}
@ARTICLE{Bird84:Promotion,
  AUTHOR = {Richard S. Bird},
  TITLE = {The Promotion and Accumulation Strategies in Transformational
          Programming},
  JOURNAL = {ACM Transactions on Programming Languages and Systems},
  YEAR = {1984},
  VOLUME = {6},
  NUMBER = {4},
  PAGES = {487--504},
  MONTH = OCT,
  NOTE = {See also \cite{Bird85:Promotion}},
  URL = {http://dx.doi.org/10.1145/1780.1781},
  FILE = {offline/Bird1984Promotion.pdf}
}
@ARTICLE{Bird85:Promotion,
  AUTHOR = {Richard S. Bird},
  TITLE = {Addendum to ``{T}he Promotion and Accumulation Strategies 
          in Transformational
          Programming''},
  JOURNAL = {ACM Transactions on Programming Languages and Systems},
  YEAR = {1985},
  VOLUME = {7},
  NUMBER = {3},
  PAGES = {490--492},
  MONTH = JUL
}
@ARTICLE{Bird86:Paragraph,
  AUTHOR = {Richard S. Bird},
  TITLE = {Transformational Programming and the Paragraph Problem},
  JOURNAL = {Science of Computer Programming},
  YEAR = {1986},
  VOLUME = {6},
  PAGES = {159--189},
  URL = {http://dx.doi.org/10.1016/0167-6423(86)90023-7}
}
@ARTICLE{BirdHughes87:Alpha-Beta,
  AUTHOR = {Richard S. Bird and John Hughes},
  TITLE = {The Alpha-Beta Algorithm: {An} Exercise in Program Transformation},
  JOURNAL = {Information Processing Letters},
  YEAR = {1987},
  VOLUME = {24},
  NUMBER = {1},
  PAGES = {53--57},
  MONTH = JAN,
  URL = {http://dx.doi.org/10.1016/0020-0190(87)90198-0}
}
@INCOLLECTION{Bird87:Theory,
  AUTHOR = {Richard S. Bird},
  TITLE = {An Introduction to the Theory of Lists},
  BOOKTITLE = {Logic of Programming and Calculi of Discrete Design},
  PUBLISHER = {Springer-Verlag},
  PAGES = {3--42},
  YEAR = {1987},
  EDITOR = {M. Broy},
  NOTE = {NATO ASI Series~F Volume~36. 
      Also available as Technical Monograph PRG-56, from the
           Programming Research Group, Oxford University}
}
@ARTICLE{Bird87:Supercombinator,
  AUTHOR = {R. S. Bird},
  TITLE = {A Formal Development of an Efficient Supercombinator Compiler},
  JOURNAL = {Science of Computer Programming},
  YEAR = {1987},
  VOLUME = {8},
  PAGES = {113--137},
  URL = {http://dx.doi.org/10.1016/0167-6423(87)90017-7}
}
@INCOLLECTION{BirdMeertens87:Two,
  AUTHOR = {Richard S. Bird and Lambert Meertens},
  TITLE = {Two Exercises Found In a Book on Algorithmics},
  BOOKTITLE = {Program Specification and Transformation},
  PUBLISHER = {North-Holland},
  YEAR = {1987},
  EDITOR = {Lambert Meertens},
  PAGES = {451--457}
}
@BOOK{BirdWadler88:Introduction,
  AUTHOR = {Richard S. Bird and Philip L. Wadler},
  TITLE = {An Introduction to Functional Programming},
  PUBLISHER = {Prentice-Hall},
  YEAR = {1988}
}
@INPROCEEDINGS{Bird88:Constructive,
  AUTHOR = {Richard S. Bird},
  TITLE = {Lectures on Constructive Functional Programming},
  BOOKTITLE = {Constructive Methods in Computer Science},
  YEAR = {1988},
  EDITOR = {Manfred Broy},
  PUBLISHER = {Springer-Verlag},
  PAGES = {151--218},
  NOTE = {NATO ASI Series~F Volume~55. 
           Also available as Technical Monograph PRG-69, from the
           Programming Research Group, Oxford University}
}
@ARTICLE{Bird89:Algebraic,
  AUTHOR = {Richard S. Bird},
  TITLE = {Algebraic Identities for Program Calculation},
  JOURNAL = {Computer Journal},
  YEAR = {1989},
  VOLUME = {32},
  NUMBER = {2},
  PAGES = {122--126},
  MONTH = APR,
  URL = {http://dx.doi.org/10.1093/comjnl/32.2.122},
  FILE = {offline/Bird1989Algebraic.pdf}
}
@ARTICLE{Bird*89:KMP,
  AUTHOR = {Richard S. Bird and Jeremy Gibbons and Geraint Jones},
  TITLE = {Formal Derivation of a Pattern Matching Algorithm},
  JOURNAL = {Science of Computer Programming},
  YEAR = {1989},
  VOLUME = {12},
  NUMBER = {2},
  PAGES = {93--104},
  MONTH = JUL,
  URL = {http://dx.doi.org/10.1016/0167-6423(89)90036-1}
}
@INCOLLECTION{Bird90:Calculus,
  AUTHOR = {Richard S. Bird},
  TITLE = {A Calculus of Functions for Program Derivation},
  BOOKTITLE = {Research Topics in Functional Programming},
  YEAR = {1990},
  EDITOR = {David A. Turner},
  PUBLISHER = {Addison-Wesley},
  ORGANIZATION = {University of Texas at Austin},
  NOTE = {Also available as Technical Monograph PRG-64, from the
           Programming Research Group, Oxford University}
}
@INCOLLECTION{Bird90:Small,
  AUTHOR = {Richard S. Bird},
  TITLE = {Small Specification Exercises},
  EDITOR = {W. H. J. Feijen and A. J. M. van Gasteren and D. Gries and J.
      Misra},
  BOOKTITLE = {Beauty is our Business},
  PUBLISHER = {Springer-Verlag},
  YEAR = {1990},
  PAGES = {36--43}
}
@ARTICLE{DBLP:journals/jfp/Bird91a,
  AUTHOR = {Richard S. Bird},
  TITLE = {On Removing Duplicates},
  JOURNAL = {Journal of Functional Programming},
  VOLUME = {1},
  NUMBER = {2},
  YEAR = {1991},
  PAGES = {235-243},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de}
}
@ARTICLE{Bird91:Minout,
  AUTHOR = {Richard S. Bird},
  TITLE = {The {Minout} Problem},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {1991},
  VOLUME = {1},
  NUMBER = {1},
  PAGES = {121--124},
  MONTH = JAN
}
@INPROCEEDINGS{Bird91:Knuths,
  AUTHOR = {Richard S. Bird},
  TITLE = {Knuth's Problem},
  BOOKTITLE = {IFIP TC2/WG2.1 Working Conference on Constructing Programs from
      Specifications},
  YEAR = {1991},
  EDITOR = {B. M{\"o}ller},
  PUBLISHER = {North-Holland},
  PAGES = {1--8}
}
@ARTICLE{Bird92:Smallest,
  AUTHOR = {Richard S. Bird},
  TITLE = {The Smallest Upravel},
  JOURNAL = {Science of Computer Programming},
  YEAR = {1992},
  VOLUME = {18},
  PAGES = {281--292},
  URL = {http://dx.doi.org/10.1016/0167-6423(92)90020-C}
}
@ARTICLE{Bird92:Two,
  AUTHOR = {Richard S. Bird},
  TITLE = {Two Greedy Algorithms},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {1992},
  VOLUME = {2},
  NUMBER = {2},
  PAGES = {237--244}
}
@ARTICLE{Bird92:Unravelling,
  AUTHOR = {Richard S. Bird},
  TITLE = {Unravelling Greedy Algorithms},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {1992},
  VOLUME = {2},
  NUMBER = {3},
  PAGES = {375--385}
}
@INPROCEEDINGS{BirddeMoor93:From,
  AUTHOR = {Richard S. Bird and Oege de Moor},
  TITLE = {From Dynamic Programming to Greedy Algorithms},
  BOOKTITLE = {IFIP TC2/WG2.1 State-of-the-Art Report on Formal
      Program Development},
  VOLUME = {755},
  SERIES = {Lecture Notes in Computer Science},
  YEAR = {1993},
  EDITOR = {Bernhard M{\"o}ller and Helmut Partsch and Steve Schumann},
  PUBLISHER = {Springer-Verlag},
  URL = {http://dx.doi.org/10.1007/3-540-57499-9_16},
  PDF = {online/BirdDeMoor93From.pdf}
}
@INPROCEEDINGS{BirddeMoor93:Solving,
  AUTHOR = {Richard S. Bird and Oege de Moor},
  TITLE = {Solving Optimisation Problems with Catamorphisms},
  CROSSREF = {DBLP:conf/mpc/1992},
  PAGES = {45--66},
  URL = {http://dx.doi.org/10.1007/3-540-56625-2_7},
  PDF = {online/BirdDeMoor93Solving.pdf}
}
@PROCEEDINGS{DBLP:conf/mpc/1992,
  EDITOR = {Richard S. Bird and Carroll Morgan and Jim Woodcock},
  TITLE = {Mathematics of Program Construction},
  BOOKTITLE = {Mathematics of Program Construction},
  PUBLISHER = {Springer},
  SERIES = {Lecture Notes in Computer Science},
  VOLUME = {669},
  YEAR = {1993},
  ISBN = {3-540-56625-2},
  URL = {http://dx.doi.org/10.1007/3-540-56625-2},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de}
}
@ARTICLE{BirddeMoor93:List,
  AUTHOR = {Richard S. Bird and Oege de Moor},
  TITLE = {List Partitions},
  JOURNAL = {Formal Aspects of Computing},
  YEAR = {1993},
  VOLUME = {5},
  PAGES = {61--78},
  URL = {http://dx.doi.org/10.1007/BF01211316}
}
@ARTICLE{Bird93:Last,
  AUTHOR = {R. S. Bird},
  TITLE = {The Last Tail},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {1993},
  VOLUME = {3},
  NUMBER = {1},
  PAGES = {117--122}
}
@INCOLLECTION{BirddeMoor93:Relational,
  AUTHOR = {Richard Bird and Oege de Moor},
  TITLE = {Relational Program Derivation and Context-Free Language Recognition},
  BOOKTITLE = {A Classical Mind: Essays in Honour of {C}.~{A}.~{R}.~{H}oare},
  EDITOR = {A. W. Roscoe},
  PUBLISHER = {Prentice-Hall},
  YEAR = {1994},
  CHAPTER = {2}
}
@UNPUBLISHED{BirddeMoor94:Hybrid,
  AUTHOR = {Richard Bird and Oege de Moor},
  TITLE = {Hybrid Dynamic Programming},
  YEAR = {1994},
  NOTE = {Programming Research Group, Oxford}
}
@INPROCEEDINGS{DBLP:conf/mpc/Bird95,
  AUTHOR = {Richard S. Bird},
  TITLE = {Functional Algorithm Design},
  BOOKTITLE = {Mathematics of Program Construction},
  PUBLISHER = {Springer},
  SERIES = {Lecture Notes in Computer Science},
  VOLUME = {947},
  YEAR = {1995},
  ISBN = {3-540-60117-1},
  PAGES = {2-17},
  URL = {http://dx.doi.org/10.1007/3-540-60117-1_2},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de}
}
@ARTICLE{Bird96:Functional,
  AUTHOR = {Richard S. Bird},
  TITLE = {Functional Algorithm Design},
  JOURNAL = {Science of Computer Programming},
  VOLUME = {26},
  NUMBER = {1-3},
  YEAR = {1996},
  ISSN = {0167-6423},
  PAGES = {15--31},
  URL = {http://dx.doi.org/10.1016/0167-6423(95)00033-X},
  PUBLISHER = {Elsevier North-Holland, Inc.},
  ADDRESS = {Amsterdam, The Netherlands, The Netherlands}
}
@BOOK{BirddeMoor96:Algebra,
  AUTHOR = {Richard Bird and Oege de Moor},
  TITLE = {The Algebra of Programming},
  YEAR = {1996},
  PUBLISHER = {Prentice-Hall},
  URL = {http://www.comlab.ox.ac.uk/oucl/publications/books/algebra/}
}
@ARTICLE{Bird*96:Generic,
  AUTHOR = {Richard Bird and Oege de Moor and Paul Hoogendijk},
  TITLE = {Generic Functional Programming with Types and Relations},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {1996},
  VOLUME = {6},
  NUMBER = {1},
  PAGES = {1--28},
  PDF = {online/BirdHoogendijkDeMoor1996Generic.pdf}
}
@ARTICLE{Bird97:OnMerging,
  AUTHOR = {Richard S. Bird},
  TITLE = {On Merging and Selection},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {1997},
  VOLUME = {7},
  NUMBER = {3},
  PAGES = {349--354},
  FILE = {offline/Bird1997OnMerging.pdf},
  URL = {http://dx.doi.org/10.1017/S0956796897002736}
}
@ARTICLE{Bird97:OnBuilding,
  AUTHOR = {Richard S. Bird},
  TITLE = {On Building Trees with Minimum Height},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {1997},
  VOLUME = {7},
  NUMBER = {4},
  PAGES = {441--445},
  FILE = {offline/Bird1997OnBuilding.pdf},
  URL = {http://dx.doi.org/10.1017/S0956796897002803}
}
@INPROCEEDINGS{MuBird2000:OnBuilding,
  AUTHOR = {Shin-Cheng Mu and Richard Bird},
  TITLE = {On Building Trees with Minimum Height, Relationally},
  BOOKTITLE = {First Asian Workshop on Programming Languages and Systems},
  YEAR = {2000},
  PDF = {online/MuBird2000OnBuilding.pdf}
}
@INPROCEEDINGS{Bird97:Allegories,
  AUTHOR = {Richard S. Bird},
  TITLE = {Allegories as a Basis for Algorithmics},
  BOOKTITLE = {LNCS~1290: Category Theory and Computer Science},
  YEAR = {1997},
  EDITOR = {Eugenio Moggi and Guiseppe Rosolini},
  PUBLISHER = {Springer-Verlag},
  MONTH = SEP,
  PAGES = {34--46},
  URL = {http://dx.doi.org/10.1007/BFb0026979}
}
@ARTICLE{Bird*97:More,
  AUTHOR = {Richard S. Bird and Geraint Jones and Oege de Moor},
  TITLE = {More Haste, Less Speed: Lazy Versus Eager Evaluation},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {1997},
  VOLUME = {7},
  NUMBER = {5},
  PAGES = {541--547},
  URL = {http://dx.doi.org/10.1017/S0956796897002827},
  PDF = {online/BirdJonesDeMoor1997More.pdf}
}
@ARTICLE{BirdRavelo97:On,
  AUTHOR = {Richard S. Bird and Jes{\'u}s N. Ravelo},
  TITLE = {On Computing Representatives},
  JOURNAL = {Information Processing Letters},
  YEAR = {1997},
  VOLUME = {63},
  PAGES = {1--7},
  URL = {http://dx.doi.org/10.1016/S0020-0190(97)00087-2}
}
@PROCEEDINGS{DBLP:conf/alc/1997,
  EDITOR = {Richard S. Bird and Lambert G. L. T. Meertens},
  TITLE = {IFIP TC2 WG2.1 International
               Workshop on Algorithmic Languages and Calculi},
  PUBLISHER = {Chapman {\&} Hall},
  SERIES = {IFIP Conference Proceedings},
  VOLUME = {95},
  YEAR = {1997},
  ISBN = {0-412-82050-1},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de}
}
@BOOK{Bird98:Introduction,
  AUTHOR = {Richard S. Bird},
  TITLE = {Introduction to Functional Programming Using {H}askell},
  PUBLISHER = {Prentice-Hall},
  YEAR = {1998},
  URL = {http://www.comlab.ox.ac.uk/oucl/publications/books/functional/}
}
@ARTICLE{DBLP:journals/jfp/Bird98,
  AUTHOR = {Richard S. Bird},
  TITLE = {Meertens' Number},
  JOURNAL = {Journal of Functional Programming},
  VOLUME = {8},
  NUMBER = {1},
  YEAR = {1998},
  PAGES = {83-88},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de},
  URL = {http://dx.doi.org/10.1017/S0956796897002931},
  FILE = {Bird1998Meertens.pdf}
}
@INPROCEEDINGS{BirdMeertens98:Nested,
  AUTHOR = {Richard S. Bird and Lambert Meertens},
  TITLE = {Nested Datatypes},
  BOOKTITLE = {LNCS~1422: Proceedings of Mathematics of Program Construction},
  YEAR = {1998},
  EDITOR = {Johan Jeuring},
  PUBLISHER = {Springer-Verlag},
  ADDRESS = {Marstrand, Sweden},
  MONTH = JUN,
  PAGES = {52--67},
  PDF = {online/BirdMeertens98Nested.pdf},
  URL = {http://link.springer.de/link/service/series/0558/bibs/1422/14220052.htm}
}
@ARTICLE{BirdPaterson99:Generalised,
  AUTHOR = {Richard Bird and Ross Paterson},
  TITLE = {Generalised Folds for Nested Datatypes},
  JOURNAL = {Formal Aspects of Computing},
  YEAR = {1999},
  VOLUME = {11},
  PAGES = {200--222},
  PDF = {online/BirdPaterson99Generalised.pdf},
  URL = {http://link.springer.de/link/service/journals/00165/bibs/9011002/90110200.htm}
}
@ARTICLE{BirdPaterson99:deBruijn,
  AUTHOR = {Richard S. Bird and Ross Paterson},
  TITLE = {de~{B}ruijn Notation as a Nested Datatype},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {1999},
  VOLUME = {9},
  NUMBER = {1},
  PAGES = {77--91},
  PDF = {online/BirdPaterson99DeBruijn.pdf},
  URL = {http://dx.doi.org/10.1017/S0956796899003366}
}
@INPROCEEDINGS{Bird*99:Program,
  AUTHOR = {Richard Bird and Jeremy Gibbons and Geraint Jones},
  TITLE = {Program Optimisation, Naturally},
  BOOKTITLE = {Millenial Perspectives in Computer Science},
  PUBLISHER = {Palgrave},
  YEAR = {2000},
  EDITOR = {J. W. Davies and A. W. Roscoe and J. C. P. Woodcock},
  ABSTRACT = {It is well-known that each polymorphic function satisfies a
      certain equational law, called a \emph{naturality} condition. Such
      laws are part and parcel of the basic toolkit for improving the
      efficiency of functional programs. More rarely, some polymorphic
      functions also possess a \emph{higher-order} naturality property. One
      example is the operation \emph{unzip} that takes lists of pairs to
      pairs of lists. Surprisingly, this property can be invoked to improve
      the asymptotic efficiency of some divide-and-conquer algorithms from
      $O(n log n)$ to $O(n)$. The improved algorithms make use of
      polymorphic recursion, and can be expressed neatly using nested
      datatypes, so they also serve as evidence of the practical utility of
      these two concepts.},
  URL = {http://www.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/naturally.ps.gz},
  PDF = {online/BirdGibbonsJones1999Program.pdf}
}
@INPROCEEDINGS{MuBird2001:Functional,
  AUTHOR = {Shin-Cheng Mu and Richard Bird},
  TITLE = {Functional Quantum Programming},
  BOOKTITLE = {Asian Workshop on Programming Languages and Systems},
  YEAR = {2001},
  ADDRESS = {KAIST, Dajeaon, Korea},
  MONTH = DEC,
  PDF = {online/MuBird2001Functional.pdf}
}
@ARTICLE{DBLP:journals/jfp/Bird01,
  AUTHOR = {Richard S. Bird},
  TITLE = {Unfolding Pointer Algorithms},
  JOURNAL = {Journal of Functional Programming},
  VOLUME = {11},
  NUMBER = {3},
  YEAR = {2001},
  PAGES = {347-358},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de},
  URL = {http://dx.doi.org/10.1017/S0956796801003914},
  FILE = {online/Bird2001Unfolding.pdf}
}
@ARTICLE{DBLP:journals/jfp/Bird01a,
  AUTHOR = {Richard S. Bird},
  TITLE = {Maximum Marking Problems},
  JOURNAL = {Journal of Functional Programming},
  VOLUME = {11},
  NUMBER = {4},
  YEAR = {2001},
  PAGES = {411-424},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de},
  FILE = {online/Bird2001Maximum.pdf},
  URL = {http://dx.doi.org/10.1017/S0956796801004038}
}
@INCOLLECTION{Bird*2002:Optimization,
  AUTHOR = {Richard Bird and Jeremy Gibbons and Shin Cheng Mu},
  TITLE = {Algebraic Methods for Optimization Problems},
  EDITOR = {Roland Backhouse and Roy Crole and Jeremy Gibbons},
  BOOKTITLE = {Algebraic and Coalgebraic Methods in the Mathematics of Program
     Construction},
  PUBLISHER = {Springer-Verlag},
  YEAR = {2002},
  VOLUME = {2297},
  SERIES = {Lecture Notes in Computer Science},
  NOTES = {ISSN 0302-9743},
  PAGES = {281--307},
  ABSTRACT = {We argue for the benefits of relations over functions for
      modelling programs, and even more so for modelling specifications. To
      support this argument, we present an extended case study for a class
      of optimization problems, deriving efficient functional programs from
      concise relational specifications.},
  URL = {http://www.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/acmmpc-optimization.pdf}
}
@INPROCEEDINGS{DBLP:conf/mpc/MuB02,
  AUTHOR = {Shin-Cheng Mu and Richard S. Bird},
  TITLE = {Inverting Functions as Folds},
  EDITOR = {Eerke A. Boiten and Bernhard M{\"o}ller},
  BOOKTITLE = {Mathematics of Program Construction},
  PUBLISHER = {Springer},
  SERIES = {Lecture Notes in Computer Science},
  VOLUME = {2386},
  YEAR = {2002},
  ISBN = {3-540-43857-2},
  PAGES = {209-232},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de},
  URL = {http://link.springer.de/link/service/series/0558/bibs/2386/23860209.htm},
  PDF = {online/MuBird2002Inverting.pdf}
}
@INPROCEEDINGS{BirdGibbons2003:Arithmetic,
  AUTHOR = {Richard Bird and Jeremy Gibbons},
  TITLE = {Arithmetic Coding with Folds and Unfolds},
  BOOKTITLE = {Advanced Functional Programming 4},
  PAGES = {1-26},
  VOLUME = {2638},
  SERIES = {Lecture Notes in Computer Science},
  YEAR = {2003},
  EDITOR = {Johan Jeuring and Simon Peyton Jones},
  PUBLISHER = {Springer-Verlag},
  URL = {http://www.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/arith.pdf}
}
@INPROCEEDINGS{DBLP:conf/aplas/MuB03,
  AUTHOR = {Shin-Cheng Mu and Richard S. Bird},
  TITLE = {Rebuilding a Tree from Its Traversals: A Case Study of Program
               Inversion},
  EDITOR = {Atsushi Ohori},
  BOOKTITLE = {Asian Symposium on Programming Languages and Systems},
  PUBLISHER = {Springer},
  SERIES = {Lecture Notes in Computer Science},
  VOLUME = {2895},
  YEAR = {2003},
  ISBN = {3-540-20536-5},
  PAGES = {265-282},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de},
  URL = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2895&spage=265},
  PDF = {online/MuBird2003Rebuilding.pdf}
}
@ARTICLE{DBLP:journals/scp/MuB04,
  AUTHOR = {Shin-Cheng Mu and Richard S. Bird},
  TITLE = {Theory and Applications of Inverting Functions as Folds},
  JOURNAL = {Science of Computer Programming},
  VOLUME = {51},
  NUMBER = {1-2},
  YEAR = {2004},
  PAGES = {87-116},
  URL = {http://dx.doi.org/10.1016/j.scico.2003.09.003},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de}
}
@ARTICLE{DBLP:journals/jfp/Bird04,
  AUTHOR = {Richard S. Bird},
  TITLE = {On Tiling a Chessboard},
  JOURNAL = {Journal of Functional Programming},
  VOLUME = {14},
  NUMBER = {6},
  YEAR = {2004},
  PAGES = {613-622},
  URL = {http://dx.doi.org/10.1017/S095679680400512X},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de}
}
@ARTICLE{DBLP:journals/jfp/BirdM04,
  AUTHOR = {Richard S. Bird and Shin-Cheng Mu},
  TITLE = {Inverting the {B}urrows-{W}heeler Transform},
  JOURNAL = {Journal of Functional Programming},
  VOLUME = {14},
  NUMBER = {6},
  YEAR = {2004},
  PAGES = {603-612},
  URL = {http://dx.doi.org/10.1017/S0956796804005118},
  PDF = {online/BirdMu2004Inverting.pdf},
  NOTE = {Earlier version appeared at Haskell Workshop 2001},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de}
}
@ARTICLE{BirdMu2005:Countdown,
  AUTHOR = {Richard S. Bird and Shin-Cheng Mu},
  TITLE = {Countdown: A Case Study in Origami Programming},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {2005},
  VOLUME = {15},
  NUMBER = {5},
  PAGES = {679-702},
  URL = {http://dx.doi.org/10.1017/S0956796805005642}
}
@ARTICLE{BirdCurtis2006:Finding,
  AUTHOR = {Richard S. Bird and Sharon Curtis},
  TITLE = {Finding Celebrities: A Lesson in Functional Programming},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {2006},
  VOLUME = {16},
  NUMBER = {1},
  PAGES = {13-20},
  URL = {http://dx.doi.org/10.1017/S0956796805005678}
}
@ARTICLE{Gibbons*2006:Enumerating,
  AUTHOR = {Jeremy Gibbons and David Lester and Richard Bird},
  TITLE = {Enumerating the Rationals},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {2004},
  VOLUME = {16},
  NUMBER = {3},
  PAGES = {281-292},
  URL = {http://www.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/rationals.pdf}
}
@INPROCEEDINGS{Bird2006:Improving,
  AUTHOR = {Richard S. Bird},
  TITLE = {Improving Saddleback Search: A Lesson in Algorithm Design},
  BOOKTITLE = {Mathematics of Program Construction},
  EDITOR = {Tarmo Uustalu},
  SERIES = {Lecture Notes in Computer Science},
  VOLUME = {4014},
  YEAR = {2006},
  PUBLISHER = {Springer},
  ISBN = {3-540-35631-2},
  PAGES = {82-89},
  URL = {http://dx.doi.org/10.1007/11783596_8},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de}
}
@INPROCEEDINGS{Bird2006:Loopless,
  AUTHOR = {Richard S. Bird},
  TITLE = {Loopless Functional Algorithms},
  BOOKTITLE = {Mathematics of Program Construction},
  EDITOR = {Tarmo Uustalu},
  SERIES = {Lecture Notes in Computer Science},
  VOLUME = {4014},
  YEAR = {2006},
  PUBLISHER = {Springer},
  ISBN = {3-540-35631-2},
  PAGES = {90-114},
  URL = {http://dx.doi.org/10.1007/11783596_9},
  BIBSOURCE = {DBLP, http://dblp.uni-trier.de}
}
@ARTICLE{BirdSadnicki2006:Online,
  AUTHOR = {Richard S. Bird and Stefan Sadnicki},
  TITLE = {On-line List Labelling with Minimum Labels},
  JOURNAL = {Information Processing Letters},
  YEAR = {2006},
  NOTE = {To appear},
  ANNOTE = {}
}
@ARTICLE{Bird2006:Program,
  AUTHOR = {Richard S. Bird},
  TITLE = {A Program to Play {S}udoku},
  JOURNAL = {Journal of Functional Programming},
  YEAR = {2006},
  VOLUME = {16},
  NUMBER = {5},
  NOTE = {To appear},
  URL = {http://dx.doi.org/10.1017/S0956796806006058}
}
@INPROCEEDINGS{Bird2005:Polymorphic,
  AUTHOR = {Richard S. Bird},
  TITLE = {Polymorphic String Matching},
  BOOKTITLE = {Haskell Workshop},
  YEAR = {2005},
  ISBN = {1-59593-071-X},
  PAGES = {110--115},
  LOCATION = {Tallinn, Estonia},
  URL = {http://doi.acm.org/10.1145/1088348.1088359},
  PUBLISHER = {ACM Press},
  ADDRESS = {New York, NY, USA},
  FILE = {offline/Bird2005Polymorphic.pdf}
}
@INPROCEEDINGS{BirdHinze2003:Trouble,
  AUTHOR = {Richard Bird and Ralf Hinze},
  TITLE = {Trouble Shared is Trouble Halved},
  BOOKTITLE = {Haskell Workshop},
  YEAR = {2003},
  ISBN = {1-58113-758-3},
  PAGES = {1--6},
  LOCATION = {Uppsala, Sweden},
  URL = {http://doi.acm.org/10.1145/871895.871896},
  PUBLISHER = {ACM Press},
  ADDRESS = {New York, NY, USA},
  FILE = {offline/BirdHinze2003Trouble.pdf}
}

This file has been generated by bibtex2html 1.71
Random Image
Random Image
Random Image