University of Oxford Logo University of OxfordDepartment of Computer Science - Home

Richard Bird : Publications

By dateBy titleBy typeBibtex

[1]

Effective Reasoning about Effectful Traversals

Jeremy Gibbons and Richard Bird

March, 2011.

Submitted for publication

[2]

A simple division−free algorithm for computing determinants

Richard S. Bird

In Information Processing Letters. 2011.

[3]

Building a Consensus

Richard Bird

In Journal of Functional Programming. 2011.

[4]

Pearls of Functional Algorithm Design

Richard Bird

Cambridge University Press. 2010.

[5]

Zippy Tabulations of Recursive Functions

Richard S. Bird

In Philippe Audebaud and Christine Paulin−Mohring, editors, Mathematics of Program Construction. Vol. 5133 of Lecture Notes in Computer Science. Pages 92−109. Springer. 2008.

[6]

Minimal On−line List Labelling

Richard S. Bird and Stefan Sadnicki

In Information Processing Letters. Vol. 101. No. 1. Pages 41−45. 2007.

[7]

A Program to Solve Sudoku

Richard S. Bird

In Journal of Functional Programming. Vol. 16. No. 6. Pages 671−679. 2006.

[8]

Enumerating the Rationals

Jeremy Gibbons‚ David Lester and Richard Bird

In Journal of Functional Programming. Vol. 16. No. 3. Pages 281−292. 2006.

[9]

Finding Celebrities: A Lesson in Functional Programming

Richard S. Bird and Sharon Curtis

In Journal of Functional Programming. Vol. 16. No. 1. Pages 13−20. 2006.

[10]

Fifteen Years of Functional Pearls

Richard S. Bird

In John H. Reppy and Julia L. Lawall, editors, International Conference on Functional Programming. Pages 215. 2006.

[11]

Loopless Functional Algorithms

Richard S. Bird

In Tarmo Uustalu, editor, Mathematics of Program Construction. Vol. 4014 of Lecture Notes in Computer Science. Pages 90−114. Springer. 2006.

[12]

Improving Saddleback Search: A Lesson in Algorithm Design

Richard S. Bird

In Tarmo Uustalu, editor, Mathematics of Program Construction. Vol. 4014 of Lecture Notes in Computer Science. Pages 82−89. Springer. 2006.

[13]

Countdown: A Case Study in Origami Programming

Richard S. Bird and Shin−Cheng Mu

In Journal of Functional Programming. Vol. 15. No. 5. Pages 679−702. 2005.

[14]

Polymorphic String Matching

Richard S. Bird

In Haskell Workshop. Pages 110–115. New York‚ NY‚ USA. 2005. ACM Press.

[15]

Inverting the Burrows−Wheeler Transform

Richard S. Bird and Shin−Cheng Mu

In Journal of Functional Programming. Vol. 14. No. 6. Pages 603−612. 2004.

Earlier version appeared at Haskell Workshop 2001

[16]

On Tiling a Chessboard

Richard S. Bird

In Journal of Functional Programming. Vol. 14. No. 6. Pages 613−622. 2004.

[17]

Theory and Applications of Inverting Functions as Folds

Shin−Cheng Mu and Richard S. Bird

In Science of Computer Programming. Vol. 51. No. 1−2. Pages 87−116. 2004.

[18]

Rebuilding a Tree from Its Traversals: A Case Study of Program Inversion

Shin−Cheng Mu and Richard S. Bird

In Atsushi Ohori, editor, Asian Symposium on Programming Languages and Systems. Vol. 2895 of Lecture Notes in Computer Science. Pages 265−282. Springer. 2003.

[19]

Trouble Shared is Trouble Halved

Richard Bird and Ralf Hinze

In Haskell Workshop. Pages 1–6. New York‚ NY‚ USA. 2003. ACM Press.

[20]

Arithmetic Coding with Folds and Unfolds

Richard Bird and Jeremy Gibbons

In Johan Jeuring and Simon Peyton Jones, editors, Advanced Functional Programming 4. Vol. 2638 of Lecture Notes in Computer Science. Pages 1−26. Springer−Verlag. 2003.

[21]

Inverting Functions as Folds

Shin−Cheng Mu and Richard S. Bird

In Eerke A. Boiten and Bernhard Möller, editors, Mathematics of Program Construction. Vol. 2386 of Lecture Notes in Computer Science. Pages 209−232. Springer. 2002.

[22]

Algebraic Methods for Optimization Problems

Richard Bird‚ Jeremy Gibbons and Shin Cheng Mu

In Roland Backhouse‚ Roy Crole and Jeremy Gibbons, editors, Algebraic and Coalgebraic Methods in the Mathematics of Program Construction. Vol. 2297 of Lecture Notes in Computer Science. Pages 281–307. Springer−Verlag. 2002.

[23]

Functional Quantum Programming

Shin−Cheng Mu and Richard Bird

In Asian Workshop on Programming Languages and Systems. KAIST‚ Dajeaon‚ Korea. December, 2001.

[24]

Maximum Marking Problems

Richard S. Bird

In Journal of Functional Programming. Vol. 11. No. 4. Pages 411−424. 2001.

[25]

Unfolding Pointer Algorithms

Richard S. Bird

In Journal of Functional Programming. Vol. 11. No. 3. Pages 347−358. 2001.

[26]

On Building Trees with Minimum Height‚ Relationally

Shin−Cheng Mu and Richard Bird

In First Asian Workshop on Programming Languages and Systems. 2000.

[27]

Program Optimisation‚ Naturally

Richard Bird‚ Jeremy Gibbons and Geraint Jones

In J. W. Davies‚ A. W. Roscoe and J. C. P. Woodcock, editors, Millenial Perspectives in Computer Science. Palgrave. 2000.

[28]

de Bruijn Notation as a Nested Datatype

Richard S. Bird and Ross Paterson

In Journal of Functional Programming. Vol. 9. No. 1. Pages 77–91. 1999.

[29]

Generalised Folds for Nested Datatypes

Richard Bird and Ross Paterson

In Formal Aspects of Computing. Vol. 11. Pages 200–222. 1999.

[30]

Nested Datatypes

Richard S. Bird and Lambert Meertens

In Johan Jeuring, editor, LNCS 1422: Proceedings of Mathematics of Program Construction. Pages 52–67. Marstrand‚ Sweden. June, 1998. Springer−Verlag.

[31]

Introduction to Functional Programming Using Haskell

Richard S. Bird

Prentice−Hall. 1998.

[32]

Meertens' Number

Richard S. Bird

In Journal of Functional Programming. Vol. 8. No. 1. Pages 83−88. 1998.

[33]

Allegories as a Basis for Algorithmics

Richard S. Bird

In Eugenio Moggi and Guiseppe Rosolini, editors, LNCS 1290: Category Theory and Computer Science. Pages 34–46. Springer−Verlag. September, 1997.

[34]

On Computing Representatives

Richard S. Bird and Jesús N. Ravelo

In Information Processing Letters. Vol. 63. Pages 1–7. 1997.

[35]

More Haste‚ Less Speed: Lazy Versus Eager Evaluation

Richard S. Bird‚ Geraint Jones and Oege de Moor

In Journal of Functional Programming. Vol. 7. No. 5. Pages 541–547. 1997.

[36]

On Building Trees with Minimum Height

Richard S. Bird

In Journal of Functional Programming. Vol. 7. No. 4. Pages 441–445. 1997.

[37]

On Merging and Selection

Richard S. Bird

In Journal of Functional Programming. Vol. 7. No. 3. Pages 349–354. 1997.

[38]

IFIP TC2 WG2.1 International Workshop on Algorithmic Languages and Calculi

Richard S. Bird and Lambert G. L. T. Meertens, editors

Richard S. Bird and Lambert G. L. T. Meertens, editors

[39]

The Algebra of Programming

Richard Bird and Oege de Moor

Prentice−Hall. 1996.

[40]

Generic Functional Programming with Types and Relations

Richard Bird‚ Oege de Moor and Paul Hoogendijk

In Journal of Functional Programming. Vol. 6. No. 1. Pages 1–28. 1996.

[41]

Functional Algorithm Design

Richard S. Bird

In Science of Computer Programming. Vol. 26. No. 1−3. Pages 15–31. 1996.

[42]

Functional Algorithm Design

Richard S. Bird

In Mathematics of Program Construction. Vol. 947 of Lecture Notes in Computer Science. Pages 2−17. Springer. 1995.

[43]

Hybrid Dynamic Programming

Richard Bird and Oege de Moor

1994.

Programming Research Group‚ Oxford

[44]

Relational Program Derivation and Context−Free Language Recognition

Richard Bird and Oege de Moor

In A. W. Roscoe, editor, A Classical Mind: Essays in Honour of C.A.R.Hoare. Chapter 2. Prentice−Hall. 1994.

[45]

The Last Tail

R. S. Bird

In Journal of Functional Programming. Vol. 3. No. 1. Pages 117–122. 1993.

[46]

List Partitions

Richard S. Bird and Oege de Moor

In Formal Aspects of Computing. Vol. 5. Pages 61–78. 1993.

[47]

Solving Optimisation Problems with Catamorphisms

Richard S. Bird and Oege de Moor

In Mathematics of Program Construction. Vol. 669 of Lecture Notes in Computer Science. Pages 45–66. Springer. 1993.

[48]

From Dynamic Programming to Greedy Algorithms

Richard S. Bird and Oege de Moor

In Bernhard Möller‚ Helmut Partsch and Steve Schumann, editors, IFIP TC2/WG2.1 State−of−the−Art Report on Formal Program Development. Vol. 755 of Lecture Notes in Computer Science. Springer−Verlag. 1993.

[49]

Mathematics of Program Construction

Richard S. Bird‚ Carroll Morgan and Jim Woodcock, editors

Richard S. Bird‚ Carroll Morgan and Jim Woodcock, editors

[50]

Unravelling Greedy Algorithms

Richard S. Bird

In Journal of Functional Programming. Vol. 2. No. 3. Pages 375–385. 1992.

[51]

Two Greedy Algorithms

Richard S. Bird

In Journal of Functional Programming. Vol. 2. No. 2. Pages 237–244. 1992.

[52]

The Smallest Upravel

Richard S. Bird

In Science of Computer Programming. Vol. 18. Pages 281–292. 1992.

[53]

The Minout Problem

Richard S. Bird

In Journal of Functional Programming. Vol. 1. No. 1. Pages 121–124. January, 1991.

[54]

On Removing Duplicates

Richard S. Bird

In Journal of Functional Programming. Vol. 1. No. 2. Pages 235−243. 1991.

[55]

Knuth's Problem

Richard S. Bird

In B. Möller, editor, IFIP TC2/WG2.1 Working Conference on Constructing Programs from Specifications. Pages 1–8. North−Holland. 1991.

[56]

Small Specification Exercises

Richard S. Bird

In W. H. J. Feijen‚ A. J. M. van Gasteren‚ D. Gries and J. Misra, editors, Beauty is our Business. Pages 36–43. Springer−Verlag. 1990.

[57]

A Calculus of Functions for Program Derivation

Richard S. Bird

In David A. Turner, editor, Research Topics in Functional Programming. Addison−Wesley. 1990.

Also available as Technical Monograph PRG−64‚ from the Programming Research Group‚ Oxford University

[58]

Formal Derivation of a Pattern Matching Algorithm

Richard S. Bird‚ Jeremy Gibbons and Geraint Jones

In Science of Computer Programming. Vol. 12. No. 2. Pages 93–104. July, 1989.

[59]

Algebraic Identities for Program Calculation

Richard S. Bird

In Computer Journal. Vol. 32. No. 2. Pages 122–126. April, 1989.

[60]

An Introduction to Functional Programming

Richard S. Bird and Philip L. Wadler

Prentice−Hall. 1988.

[61]

Lectures on Constructive Functional Programming

Richard S. Bird

In Manfred Broy, editor, Constructive Methods in Computer Science. Pages 151–218. Springer−Verlag. 1988.

NATO ASI Series F Volume 55. Also available as Technical Monograph PRG−69‚ from the Programming Research Group‚ Oxford University

[62]

The Alpha−Beta Algorithm: An Exercise in Program Transformation

Richard S. Bird and John Hughes

In Information Processing Letters. Vol. 24. No. 1. Pages 53–57. January, 1987.

[63]

A Formal Development of an Efficient Supercombinator Compiler

R. S. Bird

In Science of Computer Programming. Vol. 8. Pages 113–137. 1987.

[64]

Two Exercises Found In a Book on Algorithmics

Richard S. Bird and Lambert Meertens

In Lambert Meertens, editor, Program Specification and Transformation. Pages 451–457. North−Holland. 1987.

[65]

An Introduction to the Theory of Lists

Richard S. Bird

In M. Broy, editor, Logic of Programming and Calculi of Discrete Design. Pages 3–42. Springer−Verlag. 1987.

NATO ASI Series F Volume 36. Also available as Technical Monograph PRG−56‚ from the Programming Research Group‚ Oxford University

[66]

Transformational Programming and the Paragraph Problem

Richard S. Bird

In Science of Computer Programming. Vol. 6. Pages 159–189. 1986.

[67]

Addendum to “The Promotion and Accumulation Strategies in Transformational Programming”

Richard S. Bird

In ACM Transactions on Programming Languages and Systems. Vol. 7. No. 3. Pages 490–492. July, 1985.

[68]

The Promotion and Accumulation Strategies in Transformational Programming

Richard S. Bird

In ACM Transactions on Programming Languages and Systems. Vol. 6. No. 4. Pages 487–504. October, 1984.

See also Bird85:Promotion

[69]

Using Circular Programs to Eliminate Multiple Traversals of Data

Richard S. Bird

In Acta Informatica. Vol. 21. Pages 239–250. 1984.

[70]

Surveyor's Forum: A Recurring Bug

Richard S. Bird

In ACM Computing Surveys. Vol. 13. No. 2. Pages 243. 1981.

[71]

The Jogger's Problem

Richard S. Bird

In Information Processing Letters. Vol. 13. No. 3. Pages 114–117. 1981.

[72]

Tabulation Techniques for Recursive Programs

Richard S. Bird

In ACM Computing Surveys. Vol. 12. No. 4. Pages 403–417. December, 1980.

See DBLP:journals/csur/Bird81

[73]

Recursion Elimination with Variable Parameters

Richard S. Bird

In Computer Journal. Vol. 22. No. 2. Pages 151–154. 1979.

[74]

Improving Programs by the Introduction of Recursion

Richard S. Bird

In Communications of the ACM. Vol. 20. No. 11. Pages 856–863. November, 1977.

[75]

Two−Dimensional Pattern Matching

Richard S. Bird

In Information Processing Letters. Vol. 6. No. 5. Pages 168–170. 1977.

[76]

Notes on Recursion Elimination

Richard S. Bird

In Communications of the ACM. Vol. 20. No. 6. Pages 434–439. 1977.

[77]

Programs and Machines

Richard Bird

Wiley. 1976.

[78]

Non Recursive Functionals

Richard Bird

In Zeitschrift für mathematische Logik und Grundlagen der Mathematik. Vol. 21. Pages 41–46. 1975.

[79]

Speeding Up Programs

Richard S. Bird

In Computer Journal. Vol. 17. No. 4. Pages 337–339. 1974.

[80]

On Transformations of Programs

Richard Bird

In Journal of Computer and System Sciences. Vol. 8. Pages 22−35. 1974.

[81]

A Note on Definition by Cases

Richard Bird

In Zeitschrift für mathematische Logik und Grundlagen der Mathematik. Vol. 19. Pages 207–208. 1973.

[82]

Integers with Given Initial Digits

Richard Bird

In American Mathematical Monthly. Vol. 79. Pages 367−370. 1972.