• Publications
  • Influence
Introduction to functional programming
  • R. Bird, P. Wadler
  • Computer Science
  • Prentice Hall International series in computer…
  • 1988
TLDR
From the Publisher: This is a thorough introduction to the fundamental concepts of functional programming. Expand
  • 987
  • 57
An introduction to the theory of lists
TLDR
In these lectures we introduce a notation and a calculus for specifying and manipulating computable functions over lists that can be implemented in a purely functional programming language. Expand
  • 721
  • 55
Algebra of programming
  • R. Bird, O. Moor
  • Mathematics, Computer Science
  • Prentice Hall International series in computer…
  • 26 September 1997
TLDR
1. Programs. 2. Applications. 3. Functions and Categories. 4. Relationships and Allegories. 5. Appendices. 6. Optimisation Problems. 7. Dynamic Programming. 8. Greedy Algorithms. Expand
  • 642
  • 53
Lectures on Constructive Functional Programming
TLDR
A functional calculus of functions for deriving programs from their specifications . Expand
  • 253
  • 28
Generalised folds for nested datatypes
  • R. Bird, R. Paterson
  • Mathematics, Computer Science
  • Formal Aspects of Computing
  • 30 September 1999
TLDR
We show how to construct generalised folds for nested datatypes, and show that they possess a uniqueness property analogous to that of ordinary folds. Expand
  • 95
  • 16
  • PDF
De Bruijn Notation as a Nested Datatype
TLDR
De Bruijn notation is a coding of lambda terms in which each occurrence of a bound variable x is replaced by a natural number, indicating the ‘distance’ from the occurrence to the abstraction that introduced x. Expand
  • 147
  • 15
  • PDF
Using circular programs to eliminate multiple traversals of data
  • R. Bird
  • Computer Science
  • Acta Informatica
  • 1 October 1984
TLDR
This paper describes a technique for transforming functional programs that repeatedly traverse a data structure into more efficient alternatives that do not. Expand
  • 120
  • 15
A calculus of functions for program derivation
  • 75
  • 13
  • PDF
Tabulation Techniques for Recursive Programs
  • R. Bird
  • Computer Science
  • CSUR
  • 1 December 1980
TLDR
Tabulation is a technique of recursion elimination in which function values are computed at most once and then stored for later use. Expand
  • 167
  • 11