OXFORD UNIVERSITY COMPUTING LABORATORY

Algebra of Programming: Publications

by date |  by title |  by type |  bibtex

[1]

Translucent Abstraction: Safe Views through Invertible Programming (Extended version)

Meng Wang, Jeremy Gibbons, Kazutaka Matsuda

2009.

[2]

Parametric Datatype-Genericity

Jeremy Gibbons, Ross Paterson

In Workshop on Generic Programming Edinburgh. August 2009.

[3]

The Essence of the Iterator Pattern

Jeremy Gibbons, Bruno César dos Santos Oliveira

Journal of Functional Programming, Vol. 19, No. 3&4, pages 377-402. 2009.

Revised version of Gibbons&Oliveira2006:Essence.

[4]

Zippy Tabulations of Recursive Functions

Richard S. Bird

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

[5]

Unfolding Abstract Datatypes

Jeremy Gibbons

In Mathematics of Program Construction July 2008.

[6]

The Visitor Pattern as a Reusable, Generic, Type-Safe Component

Bruno C. d. S. Oliveira, Meng Wang and Jeremy Gibbons

In Object-Oriented Programming: Systems, Languages, Applications (OOPSLA) 2008.

[7]

Scala for Generic Programmers

Bruno Oliveira, Jeremy Gibbons

In Ralf Hinze, editor, Workshop on Generic Programming Victoria, BC. September 2008.

[8]

Generic Programming in 3D

Hinze, Ralf, Löh, Andres

Science of Computer Programming, 2007.

to appear.

[9]

Generic Programming, Now!

Hinze, Ralf, Löh, Andres

In Backhouse, Roland et al. , editors, Datatype-Generic Programming 2006 Vol. 4719 of LNCS, pages 150—208. Springer. 2007.

To appear.

[10]

Comparing Approaches to Generic Programming

Hinze, Ralf, Jeuring, Johan and Löh, Andres

In Backhouse, Roland et al. , editors, Datatype-Generic Programming 2006 Vol. 4719 of LNCS. Springer. 2007.

To appear.

[11]

Minimal On-line List Labelling

Richard S. Bird, Stefan Sadnicki

Information Processing Letters, Vol. 101, No. 1, pages 41-45. 2007.

[12]

Metamorphisms: Streaming Representation-Changers

Jeremy Gibbons

Science of Computer Programming, Vol. 65, pages 108-139. 2007.

[13]

Spring School on Datatype-Generic Programming

Roland Backhouse et al. , editors

Vol. 4719 of Lecture Notes in Computer Science. Springer-Verlag. 2007.

[14]

Report on Fourth Workshop on Commercial Users of Functional Programming

Jeremy Gibbons

December 2007.

[15]

Integrated Formal Methods

Jim Davies, Jeremy Gibbons, editors

Vol. 4591 of Lecture Notes in Computer Science. Springer-Verlag. 2007.

[16]

Generic and Indexed Programming

Jeremy Gibbons, Meng Wang and Bruno César dos Santos Oliveira

In Marco Morazan, editor, Trends in Functional Programming 2007.

[17]

Datatype-Generic Programming

Jeremy Gibbons

In Roland Backhouse et al. , editors, Spring School on Datatype-Generic Programming Vol. 4719 of Lecture Notes in Computer Science. Springer-Verlag, 2007.

[18]

Generics for the masses

Hinze, Ralf

J. Functional Programming, Vol. 16, No. 4 \& 5, pages 451—483. 2006.

[19]

Typed Contracts for Functional Programming

Hinze, Ralf, Jeuring, Johan and Löh, Andres

In Wadler, Philip, Hagiya, Masami, editors, Proceedings of the Eighth International Symposium on Functional and Logic Programming (FLOPS 2006), 24-26 April 2006, Fuji Susono, Japan Vol. 3945 of LNCS, pages 208-225. Springer, April 2006.

[20]

Open data types and open functions

Löh, Andres, Hinze, Ralf

In Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, Venice, Italy pages 133-144. ACM-Press, July 2006.

[21]

Open data types and open functions

Hinze, Ralf, Löh, Andres

No. IAI-TR-2006-3, Technical Report, Institut für Informatik III, Universität Bonn. February 2006.

[22]

Generics as a Library

Oliveira, Bruno C. d. S., Hinze, Ralf and Löh, Andres

In Nilsson, Henrik, editor, Proceedings of the Seventh Symposium on Trends in Functional Programming, April 19—21, 2006, Nottingham, UK 2006.

[23]

``Scrap Your Boilerplate'' Revolutions

Hinze, Ralf, Löh, Andres

In Uustalu, Tarmo, editor, 8th International Conference on Mathematics of Program Construction (MPC '06) Vol. 4014 of LNCS, pages 180-208. Springer, July 2006.

[24]

``Scrap Your Boilerplate'' Reloaded

Hinze, Ralf, Löh, Andres and Oliveira, Bruno C.d.S.

In Wadler, Philip, Hagiya, Masimi, editors, Proceedings of the Eighth International Symposium on Functional and Logic Programming (FLOPS 2006), 24-26 April 2006, Fuji Susono, Japan Vol. 3945 of LNCS, pages 13-29. Springer, April 2006.

[25]

``Scrap Your Boilerplate'' Reloaded

Hinze, Ralf, Löh, Andres and Oliveira, Bruno C.d.S.

No. IAI-TR-2006-2, Technical Report, Institut für Informatik III, Universität Bonn. January 2006.

[26]

Finding Celebrities: A Lesson in Functional Programming

Richard S. Bird, Sharon Curtis

Journal of Functional Programming, Vol. 16, No. 1, pages 13-20. 2006.

[27]

Enumerating the Rationals

Jeremy Gibbons, David Lester and Richard Bird

Journal of Functional Programming, Vol. 16, No. 3, pages 281-292. 2006.

[28]

A Program to Solve Sudoku

Richard S. Bird

Journal of Functional Programming, Vol. 16, No. 6, pages 671-679. 2006.

[29]

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.

[30]

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.

[31]

Fifteen Years of Functional Pearls

Richard S. Bird

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

[32]

Enumerating the Rationals

Jeremy Gibbons, David Lester and Richard Bird

Journal of Functional Programming, Vol. 16, No. 4, 2006.

[33]

An Unbounded Spigot Algorithm for the Digits of π

Jeremy Gibbons

American Mathematical Monthly, Vol. 113, No. 4, pages 318-328. 2006.

[34]

The Essence of the Iterator Pattern

Jeremy Gibbons, Bruno César dos Santos Oliveira

In Conor McBride, Tarmo Uustalu, editors, Mathematically-Structured Functional Programming 2006.

Superseded by Gibbons&Oliveira2008:Essence.

[35]

Fission for Program Comprehension

Jeremy Gibbons

In Tarmo Uustalu, editor, Mathematics of Program Construction Vol. 4014 of Lecture Notes in Computer Science, pages 162-179. Springer-Verlag, 2006.

[36]

Fast and Loose Reasoning is Morally Correct

Nils Anders Danielsson et al.

In Principles of Programming Languages pages 206-217. January 2006.

[37]

Design Patterns as Higher-Order Datatype-Generic Programs

Jeremy Gibbons

In Ralf Hinze, editor, Workshop on Generic Programming September 2006.

[38]

Theoretical Pearl: Church numerals, twice!

Hinze, Ralf

J. Functional Programming, Vol. 15, No. 1, pages 1—13. January 2005.

[39]

Countdown: A Case Study in Origami Programming

Richard S. Bird, Shin-Cheng Mu

Journal of Functional Programming, Vol. 15, No. 5, pages 679-702. 2005.

[40]

Polymorphic String Matching

Richard S. Bird

In Haskell Workshop pages 110—115. New York, NY, USA. 2005. ACM Press.

[41]

Proof Methods for Corecursive Programs

Jeremy Gibbons, Graham Hutton

Fundamenta Informaticae, Vol. 66, No. 4, pages 353-366. 2005.

[42]

TypeCase: A Design Pattern for Type-Indexed Functions

Bruno César dos Santos Oliveira, Jeremy Gibbons

In Daan Leijen, editor, Haskell Workshop pages 98-109. 2005.

[43]

Design Patterns as Higher-Order Datatype-Generic Programs

Jeremy Gibbons

In Object-Oriented Programming: Systems, Languages, Applications San Diego. October 2005.

A revision of Gibbons2005:DesignECOOP.

[44]

Design Patterns as Higher-Order Datatype-Generic Programs

Jeremy Gibbons

In European Conference on Object-Oriented Programming Glasgow. July 2005.

Later version appears as Gibbons2005:DesignOOPSLA.

[45]

Type-indexed data types

Hinze, Ralf, Jeuring, Johan and Löh, Andres

Science of Computer Programming, Vol. 51, pages 117-151. 2004.

[46]

Generics for the masses

Hinze, Ralf

In Fisher, Kathleen, editor, Proceedings of the 2004 International Conference on Functional Programming, Snowbird, Utah, September 19—22, 2004 pages 236-243. ACM-Press, September 2004.

[47]

An algebra of scans

Hinze, Ralf

In Kozen, Dexter, editor, Proceedings of the Seventh International Conference on Mathematics of Program Construction (MPC 2004), Stirling, Scotland, UK, July 12—14, 2004 Vol. 3125 of LNCS. Springer, July 2004.

[48]

Theory and Applications of Inverting Functions as Folds

Shin-Cheng Mu, Richard S. Bird

Science of Computer Programming, Vol. 51, No. 1-2, pages 87-116. 2004.

[49]

On Tiling a Chessboard

Richard S. Bird

Journal of Functional Programming, Vol. 14, No. 6, pages 613-622. 2004.

[50]

Inverting the Burrows-Wheeler Transform

Richard S. Bird, Shin-Cheng Mu

Journal of Functional Programming, Vol. 14, No. 6, pages 603-612. 2004.

Earlier version appeared at Haskell Workshop 2001.

[51]

Disciplined, efficient, generalised folds for nested datatypes

Clare Martin, Jeremy Gibbons and Ian Bayley

Formal Aspects of Computing, Vol. 16, No. 1, pages 19-35. 2004.

[52]

Streaming Representation-Changers

Jeremy Gibbons

In Dexter Kozen, editor, Mathematics of Program Construction Vol. 3125 of Lecture Notes in Computer Science, pages 142-168. July 2004.

http://www.springerlink.com/index/LHQ73WU5GU686976

[53]

Functional Pearl: Formatting: a class act

Hinze, Ralf

J. Functional Programming, Vol. 13, No. 5, pages 935—944. September 2003.

[54]

Generic Haskell: Practice and Theory

Hinze, Ralf, Jeuring, Johan

In Backhouse, Roland, Gibbons, Jeremy, editors, Generic Programming: Advanced Lectures Vol. 2793 of LNCS, pages 1—56. Springer. 2003.

[55]

Generic Haskell: Applications

Hinze, Ralf, Jeuring, Johan

In Backhouse, Roland, Gibbons, Jeremy, editors, Generic Programming: Advanced Lectures Vol. 2793 of LNCS, pages 57—97. Springer. 2003.

[56]

Generic Haskell: Practice and Theory

Hinze, Ralf, Jeuring, Johan

No. UU-CS-2003-15, Technical Report, Universiteit Utrecht. 2003.

[57]

Generic Haskell: Applications

Hinze, Ralf, Jeuring, Johan

No. UU-CS-2003-16, Technical Report, Universiteit Utrecht. 2003.

[58]

Functional Pearl: Trouble Shared is Trouble Halved

Bird, Richard, Hinze, Ralf

In Jeuring, Johan, editor, Proceedings of the 2003 ACM SIGPLAN Haskell Workshop pages 1—6. ACM-Press, September 2003.

[59]

Fun with phantom types

Hinze, Ralf

In Gibbons, Jeremy, de Moor, Oege, editors, The Fun of Programming pages 245—262. Palgrave Macmillan. 2003.

ISBN 1-4039-0772-2 hardback, ISBN 0-333-99285-7 paperback.

[60]

First-Class Phantom Types

Cheney, James, Hinze, Ralf

Technical Report, Cornell University. 2003.

[61]

Derivation of a Typed Functional LR Parser

Hinze, Ralf, Paterson, Ross

2003.

in preparation.

[62]

Trouble Shared is Trouble Halved

Richard Bird, Ralf Hinze

In Haskell Workshop pages 1—6. New York, NY, USA. 2003. ACM Press.

[63]

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

Shin-Cheng Mu, 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.

[64]

Arithmetic Coding with Folds and Unfolds

Richard Bird, Jeremy Gibbons

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

[65]

The Fun of Programming

Jeremy Gibbons, Oege de Moor, editors

Palgrave. 2003.

ISBN 1-4039-0772-2.

[66]

Summer School on Generic Programming

Roland Backhouse, Jeremy Gibbons, editors

Vol. 2793 of Lecture Notes in Computer Science. Springer-Verlag. 2003.

[67]

Patterns in Datatype-Generic Programming

Jeremy Gibbons

In Jörg Striegnitz, Kei Davis, editors, Multiparadigm Programming Vol. 27, pages 277-289. John von Neumann Institute for Computing (NIC), 2003.

First International Workshop on Declarative Programming in the Context of Object-Oriented Languages (DPCOOL).

[68]

Origami Programming

Jeremy Gibbons

In Jeremy Gibbons, Oege de Moor, editors, The Fun of Programming pages 41-60. Palgrave. 2003.

[69]

Generic Programming

Jeremy Gibbons, Johan Jeuring, editors

Kluwer Academic Publishers. 2003.

Proceedings of the IFIP TC2 Working Conference on Generic Programming, Schloß Dagstuhl, July 2002. ISBN 1-4020-7374-7.

[70]

Arithmetic Coding with Folds and Unfolds

Richard Bird, Jeremy Gibbons

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

Code available at http://www.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/arith.zip

[71]

Polytypic values possess polykinded types

Hinze, Ralf

Science of Computer Programming, Vol. 43, pages 129-159. 2002.

[72]

Functional Pearl: A fresh look at binary search trees

Hinze, Ralf

J. Functional Programming, Vol. 12, No. 6, pages 601—607. November 2002.

[73]

Type-indexed data types

Hinze, Ralf, Jeuring, Johan and Löh, Andres

In Boiten, Eerke A., Möller, Bernhard, editors, Proceedings of the Sixth International Conference on Mathematics of Program Construction (MPC 2002), Dagstuhl, Germany, July 8-10, 2002 Vol. 2386 of LNCS, pages 148—174. Springer, July 2002.

[74]

Type-indexed data types

Hinze, Ralf, Jeuring, Johan and Löh, Andres

No. UU-CS-2002-11, Technical Report, Universiteit Utrecht. 2002.

[75]

Constructing tournament representations: An exercise in pointwise relational programming

Hinze, Ralf

In Boiten, Eerke A., Möller, Bernhard, editors, Proceedings of the Sixth International Conference on Mathematics of Program Construction (MPC 2002), Dagstuhl, Germany, July 8-10, 2002 Vol. 2386 of LNCS, pages 131—147. Springer, July 2002.

[76]

Constructing tournament representations: An exercise in pointwise relational programming

Hinze, Ralf

No. IAI-TR-2002-2, Technical Report, Institut für Informatik III, Universität Bonn. February 2002.

[77]

Combining Generics and Dynamics

Achten, Peter, Hinze, Ralf

No. NIII-R0206, Technical Report, Nijmegen Institute for Computing and Information Sciences, University of Nijmegen. July 2002.

[78]

Church numerals, twice!

Hinze, Ralf

No. IAI-TR-2002-3, Technical Report, Institut für Informatik III, Universität Bonn. February 2002.

[79]

Bootstrapping One-sided Flexible Arrays

Hinze, Ralf

In Peyton Jones, Simon, editor, Proceedings of the 2002 International Conference on Functional Programming, Pittsburgh, PA, USA, October 4—6, 2002 pages 01/02/13. ACM-Press, October 2002.

[80]

A Lightweight Implementation of Generics and Dynamics

Cheney, James, Hinze, Ralf

In Chakravarty, Manuel M.T., editor, Proceedings of the 2002 ACM SIGPLAN Haskell Workshop pages 90-104. ACM-Press, October 2002.

[81]

Inverting Functions as Folds

Shin-Cheng Mu, Richard S. Bird

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

[82]

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.

[83]

Towards a Colimit-Based Semantics for Visual Programming

Jeremy Gibbons

In Coordination Models and Languages Vol. 2315 of Lecture Notes in Computer Science, pages 166—173. April 2002.

[84]

Calculating Functional Programs

Jeremy Gibbons

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 148—203. Springer-Verlag. 2002.

[85]

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.

[86]

Algebraic and Coalgebraic Methods in the Mathematics of Program Construction

Roland Backhouse, Roy Crole and Jeremy Gibbons, editors

Vol. 2297 of Lecture Notes in Computer Science. Springer-Verlag. 2002.

[87]

Manufacturing Datatypes

Hinze, Ralf

Journal of Functional Programming, Special Issue on Algorithmic Aspects of Functional Programming Languages, Vol. 11, No. 5, pages 493—524. September 2001.

[88]

Functional Pearl: Weaving a Web

Hinze, Ralf, Jeuring, Johan

Journal of Functional Programming, Vol. 11, No. 6, pages 681—689. November 2001.

[89]

Polytypic Programming With Ease

Hinze, Ralf

Journal of Functional and Logic Programming, Vol. 2001, No. 3, July 2001.

[90]

Prolog's Control Constructs in a Functional Setting —- Axioms and Implementation

Hinze, Ralf

International Journal of Foundations of Computer Science, Vol. 12, No. 2, pages 125-170. 2001.

[91]

The Generic Haskell user's guide

Clarke, Dave et al.

No. UU-CS-2001-26, Technical Report, Universiteit Utrecht. November 2001.

[92]

Functional Pearl: Weaving a Web

Hinze, Ralf

No. UU-CS-2001-33, Technical Report, Universiteit Utrecht. 2001.

[93]

Derivable Type Classes

Hinze, Ralf, Peyton Jones, Simon

In Hutton, Graham, editor, Proceedings of the 2000 ACM SIGPLAN Haskell Workshop Vol. 41.1 of Electronic Notes in Theoretical Computer Science. Elsevier Science, August 2001.

The preliminary proceedings appeared as a University of Nottingham technical report.

[94]

A Simple Implementation Technique for Priority Search Queues

Hinze, Ralf

In Leroy, Xavier, editor, Proceedings of the 2001 International Conference on Functional Programming, Firenze, Italy, September 3-5, 2001 pages 110—121. September 2001.

[95]

A Simple Implementation Technique for Priority Search Queues

Hinze, Ralf

No. UU-CS-2001-09, Technical Report, Universiteit Utrecht. March 2001.

[96]

Unfolding Pointer Algorithms

Richard S. Bird

Journal of Functional Programming, Vol. 11, No. 3, pages 347-358. 2001.

[97]

Maximum Marking Problems

Richard S. Bird

Journal of Functional Programming, Vol. 11, No. 4, pages 411-424. 2001.

[98]

Functional Quantum Programming

Shin-Cheng Mu, Richard Bird

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

[99]

The Generic Approximation Lemma

Graham Hutton, Jeremy Gibbons

Information Processing Letters, Vol. 79, No. 4, pages 197—201. August 2001.

[100]

On the Semantics of Nested Datatypes

Clare Martin, Jeremy Gibbons

Information Processing Letters, Vol. 80, No. 5, pages 233—238. December 2001.

[101]

When is a Function a Fold or an Unfold?

Jeremy Gibbons, Graham Hutton and Thorsten Altenkirch

Electronic Notes in Theoretical Computer Science, Vol. 44, No. 1, April 2001.

Proceedings of Coalgebraic Methods in Computer Science.

[102]

Functional Pearl: Perfect trees and bit-reversal permutations

Hinze, Ralf

Journal of Functional Programming, Vol. 10, No. 3, pages 305—317. May 2000.

[103]

Generalizing Generalized Tries

Hinze, Ralf

Journal of Functional Programming, Vol. 10, No. 4, pages 327—351. July 2000.

[104]

Polytypic values possess polykinded types

Hinze, Ralf

In Backhouse, Roland, Oliveira, J.N., editors, Proceedings of the Fifth International Conference on Mathematics of Program Construction (MPC 2000), July 3-5, 2000 Vol. 1837 of LNCS, pages 2—27. Springer, July 2000.

[105]

Memo functions, polytypically!

Hinze, Ralf

In Jeuring, Johan, editor, Proceedings of the 2nd Workshop on Generic Programming, Ponte de Lima, Portugal pages 17—32. July 2000.

The proceedings appeared as a technical report of Universiteit Utrecht, UU-CS-2000-19.

[106]

Efficient Generalized Folds

Hinze, Ralf

In Jeuring, Johan, editor, Proceedings of the 2nd Workshop on Generic Programming, Ponte de Lima, Portugal pages 1—16. July 2000.

The proceedings appeared as a technical report of Universiteit Utrecht, UU-CS-2000-19.

[107]

Deriving Backtracking Monad Transformers

Hinze, Ralf

In Wadler, Phil, editor, Proceedings of the 2000 International Conference on Functional Programming, Montreal, Canada, September 18-20, 2000 pages 186—197. September 2000.

[108]

A New Approach to Generic Functional Programming

Hinze, Ralf

In Reps, Thomas W., editor, Proceedings of the 27th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'00), Boston, Massachusetts, January 19-21 pages 119—132. January 2000.

[109]

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.

[110]

On Building Trees with Minimum Height, Relationally

Shin-Cheng Mu, Richard Bird

In First Asian Workshop on Programming Languages and Systems 2000.

[111]

Generic Downwards Accumulations

Jeremy Gibbons

Science of Computer Programming, Vol. 37, pages 37—65. 2000.

[112]

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.

[113]

Pointwise Relational Programming

Oege de Moor, Jeremy Gibbons

In Algebraic Methodology and Software Technology Vol. 1816 of Lecture Notes in Computer Science, pages 371—390. May 2000.

[114]

Functional Pearl: Explaining Binomial Heaps

Hinze, Ralf

Journal of Functional Programming, Vol. 9, No. 1, pages 93—104. January 1999.

[115]

Book review: ``Purely Functional Data Structures'', by Chris Okasaki

Hinze, Ralf

Journal of Functional Programming, Vol. 9, No. 5, pages 577—578. September 1999.

[116]

Polytypic Functions Over Nested Datatypes

Hinze, Ralf

Discrete Mathematics and Theoretical Computer Science, Vol. 3, No. 4, pages 193—214. September 1999.

[117]

Haskell 98 —- A Non-strict, Purely Functional Language

Peyton Jones [editor], Simon et al.

Available from http://www.haskell.org/definition/ February 1999.

[118]

Straight to the Heart of Computer Science via Functional Programming

Giegerich, Robert, Hinze, Ralf and Kurtz, Stefan

In Felleisen, Matthias, Hanus, Michael and Thompson, Simon, editors, Proceedings of the Workshop on Functional and Declarative Programming in Education, FDPE'99, Paris, France pages 1—5. September 1999.

The proceedings appeared as a technical report of Rice University, Rice COMP TR99-346.

[119]

Standard Libraries for the Haskell 98 Programming Language

Peyton Jones [editor], Simon et al.

Available from http://www.haskell.org/definition/ February 1999.

[120]

Polytypic values possess polykinded types

Hinze, Ralf

No. IAI-TR-99-15, Technical Report, Institut für Informatik III, Universität Bonn. December 1999.

[121]

Polytypic Programming With Ease (Extended Abstract)

Hinze, Ralf

In Middeldorp, Aart, Sato, Taisuke, editors, 4th Fuji International Symposium on Functional and Logic Programming (FLOPS'99), Tsukuba, Japan Vol. 1722 of LNCS, pages 21—36. Springer, November 1999.

[122]

Polytypic Programming With Ease

Hinze, Ralf

No. IAI-TR-99-2, Technical Report, Institut für Informatik III, Universität Bonn. February 1999.

[123]

Polytypic Functions Over Nested Datatypes (Extended Abstract)

Hinze, Ralf

In Lins, Rafael Dueire, editor, 3rd Latin-American Conference on Functional Programming (CLaPF'99) March 1999.

[124]

Perfect Trees and Bit-reversal Permutations

Hinze, Ralf

No. IAI-TR-99-4, Technical Report, Institut für Informatik III, Universität Bonn. March 1999.

[125]

Manufacturing Datatypes

Hinze, Ralf

In Okasaki, Chris, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages, WAAAPL'99, Paris, France pages 1—16. September 1999.

The proceedings appeared as a technical report of Columbia University, CUCS-023-99, also available from http://www.cs.columbia.edu/ cdo/waaapl.html.

[126]

Manufacturing Datatypes

Hinze, Ralf

No. IAI-TR-99-5, Technical Report, Institut für Informatik III, Universität Bonn. April 1999.

[127]

Efficient Generalized Folds

Hinze, Ralf

No. IAI-TR-99-8, Technical Report, Institut für Informatik III, Universität Bonn. June 1999.

[128]

Deriving monad transformers

Hinze, Ralf

No. IAI-TR-99-1, Technical Report, Institut für Informatik III, Universität Bonn. January 1999.

[129]

Constructing Red-Black Trees

Hinze, Ralf

In Okasaki, Chris, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages, WAAAPL'99, Paris, France pages 89—99. September 1999.

The proceedings appeared as a technical report of Columbia University, CUCS-023-99, also available from http://www.cs.columbia.edu/ cdo/waaapl.html.

[130]

Constructing Red-Black Trees

Hinze, Ralf

No. IAI-TR-99-6, Technical Report, Institut für Informatik III, Universität Bonn. May 1999.

[131]

A New Approach to Generic Functional Programming

Hinze, Ralf

No. IAI-TR-99-9, Technical Report, Institut für Informatik III, Universität Bonn. July 1999.

[132]

A Generic Programming Extension for Haskell

Hinze, Ralf

In Meijer, Erik, editor, Proceedings of the 3rd Haskell Workshop, Paris, France September 1999.

The proceedings appeared as a technical report of Universiteit Utrecht, UU-CS-1999-28.

[133]

de Bruijn Notation as a Nested Datatype

Richard S. Bird, Ross Paterson

Journal of Functional Programming, Vol. 9, No. 1, pages 77—91. 1999.

[134]

Generalised Folds for Nested Datatypes

Richard Bird, Ross Paterson

Formal Aspects of Computing, Vol. 11, pages 200—222. 1999.

[135]

Bridging the Algorithm Gap: A Linear-Time Functional Program for Paragraph Formatting

Oege de Moor, Jeremy Gibbons

Science of Computer Programming, Vol. 35, No. 1, 1999.

[136]

A Pointless Derivation of Radixsort

Jeremy Gibbons

Journal of Functional Programming, Vol. 9, No. 3, pages 339—346. 1999.

[137]

Proof Methods for Structured Corecursive Programs

Jeremy Gibbons, Graham Hutton

In Proceedings of 1st Scottish Workshop on Functional Programming 1999.

[138]

Lecture Notes on Algebraic and Coalgebraic Methods for Calculating Functional Programs

Jeremy Gibbons

March 1999.

Estonian Winter School on Computer Science.

[139]

Prological Features in a Functional Setting —- Axioms and Implementations

Hinze, Ralf

In Sato, Masahiko, Toyama, Yoshihito, editors, Third Fuji International Symposium on Functional and Logic Programming (FLOPS'98), Kyoto University, Japan pages 98—122. Singapore, New Jersey, London, Hong Kong. April 1998. World Scientific.

[140]

Projektionsbasierte Striktheitsanalyse

Hinze, Ralf

In Ausgezeichnete Informatikdissertationen 1996 pages 46—61. B.G. Teubner. 1998.

[141]

Polytypic Functions Over Nested Datatypes

Hinze, Ralf

No. IAI-TR-98-10, Technical Report, Institut für Informatik III, Universität Bonn. October 1998.

[142]

Numerical Representations as Higher-Order Nested Datatypes

Hinze, Ralf

No. IAI-TR-98-12, Technical Report, Institut für Informatik III, Universität Bonn. December 1998.

[143]

Generalizing Generalized Tries

Hinze, Ralf

No. IAI-TR-98-11, Technical Report, Institut für Informatik III, Universität Bonn. November 1998.

[144]

Meertens' Number

Richard S. Bird

Journal of Functional Programming, Vol. 8, No. 1, pages 83-88. 1998.

[145]

Nested Datatypes

Richard S. Bird, Lambert Meertens

In Johan Jeuring, editor, LNCS 1422: Proceedings of Mathematics of Program Construction pages 52—67. Marstrand, Sweden. June 1998. Springer-Verlag.

[146]

Introduction to Functional Programming Using Haskell

Richard S. Bird

Prentice-Hall. 1998.

[147]

Structured Programming in Java

Jeremy Gibbons

SIGPLAN Notices, Vol. 33, No. 4, pages 40—43. April 1998.

Also in Fintan Culwin, editor, Proceedings of the Second Conference on Java in the Computing Curriculum, South Bank University, London.

[148]

The Under-Appreciated Unfold

Jeremy Gibbons, Geraint Jones

In International Conference on Functional Programming pages 273—279. Baltimore, Maryland. September 1998.

[149]

Polytypic Downwards Accumulations

Jeremy Gibbons

In Johan Jeuring, editor, Proceedings of Mathematics of Program Construction Vol. 1422 of Lecture Notes in Computer Science, pages 207-233. Marstrand, Sweden. June 1998. Springer-Verlag.

[150]

Against the Grain: Linear-Time Breadth-First Tree Algorithms

Jeremy Gibbons, Geraint Jones

1998.

Oxford Brookes University and Oxford University Computing Laboratory.

[151]

On Merging and Selection

Richard S. Bird

Journal of Functional Programming, Vol. 7, No. 3, pages 349—354. 1997.

[152]

On Building Trees with Minimum Height

Richard S. Bird

Journal of Functional Programming, Vol. 7, No. 4, pages 441—445. 1997.

[153]

More Haste, Less Speed: Lazy Versus Eager Evaluation

Richard S. Bird, Geraint Jones and Oege de Moor

Journal of Functional Programming, Vol. 7, No. 5, pages 541—547. 1997.

[154]

On Computing Representatives

Richard S. Bird, Jesús N. Ravelo

Information Processing Letters, Vol. 63, pages 1—7. 1997.

[155]

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

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

Vol. 95 of IFIP Conference Proceedings. Chapman & Hall. 1997.

[156]

Allegories as a Basis for Algorithmics

Richard S. Bird

In Eugenio Moggi, Guiseppe Rosolini, editors, LNCS 1290: Category Theory and Computer Science pages 34—46. Springer-Verlag, September 1997.

[157]

More on Merging and Selection

Jeremy Gibbons

No. CMS-TR-97-08, Technical Report, School of Computing and Mathematical Sciences, Oxford Brookes University. October 1997.

[158]

Conditionals in Distributive Categories

Jeremy Gibbons

No. CMS-TR-97-01, Technical Report, School of Computing and Mathematical Sciences, Oxford Brookes University. January 1997.

[159]

Calculating Functional Programs

Jeremy Gibbons

In Keiichi Nakata, editor, Proceedings of ISRG/SERG Research Colloquium School of Computing and Mathematical Sciences, Oxford Brookes University. November 1997.

Technical Report CMS-TR-98-01.

[160]

Efficient Monadic-style Backtracking

Hinze, Ralf

No. IAI-TR-96-9, Technical Report, Institut für Informatik III, Universität Bonn. October 1996.

[161]

Functional Algorithm Design

Richard S. Bird

Science of Computer Programming, Vol. 26, No. 1-3, pages 15—31. 1996.

[162]

Generic Functional Programming with Types and Relations

Richard Bird, Oege de Moor and Paul Hoogendijk

Journal of Functional Programming, Vol. 6, No. 1, pages 1—28. 1996.

[163]

The Algebra of Programming

Richard Bird, Oege de Moor

Prentice-Hall. 1996.

[164]

Computing Downwards Accumulations on Trees Quickly

Jeremy Gibbons

Theoretical Computer Science, Vol. 169, No. 1, pages 67—80. 1996.

Earlier version appeared in Proceedings of the 16th Australian Computer Science Conference, Brisbane, 1993.

[165]

The Third Homomorphism Theorem

Jeremy Gibbons

Journal of Functional Programming, Vol. 6, No. 4, pages 657—665. 1996.

Earlier version appeared in C. B. Jay, editor, Computing: The Australian Theory Seminar, Sydney, December 1994, p. 62—69.

[166]

Deriving Tidy Drawings of Trees

Jeremy Gibbons

Journal of Functional Programming, Vol. 6, No. 3, pages 535—562. 1996.

[167]

Tracing Lazy Functional Languages

Jeremy Gibbons, Keith Wansbrough

In Michael E. Houle, Peter Eades, editors, Computing: The Australasian Theory Seminar pages 11—20. Melbourne. January 1996.

[168]

Projection-based Strictness Analysis —- Theoretical and Practical Aspects

Hinze, Ralf

PhD Thesis, Inauguraldissertation. Universität Bonn. November 1995.

[169]

Functional Algorithm Design

Richard S. Bird

In Mathematics of Program Construction Vol. 947 of Lecture Notes in Computer Science, pages 2-17. Springer, 1995.

[170]

An Initial-Algebra Approach to Directed Acyclic Graphs

Jeremy Gibbons

In Bernhard Möller, editor, Mathematics of Program Construction Vol. 947 of Lecture Notes in Computer Science, pages 282—303. Springer-Verlag, 1995.

[171]

Deduktive Datenbanken —- Eine Einführung aus der Sicht der logischen Programmierung

Cremers, Armin B., Griefahn, Ulrike and Hinze, Ralf

Vieweg. 1994.

ISBN 3-528-04700-3.

[172]

Relational Program Derivation and Context-Free Language Recognition

Richard Bird, Oege de Moor

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

[173]

Hybrid Dynamic Programming

Richard Bird, Oege de Moor

1994.

Programming Research Group, Oxford.

[174]

Efficient Parallel Algorithms for Tree Accumulations

Jeremy Gibbons, Wentong Cai and David Skillicorn

Science of Computer Programming, Vol. 23, pages 1—18. 1994.

[175]

How to Derive Tidy Drawings of Trees

Jeremy Gibbons

In C. Calude, M. J. J. Lennon and H. Maurer, editors, Proceedings of Salodays in Auckland pages 53—73. Department of Computer Science, University of Auckland. 1994.

Also in Proceedings of First New Zealand Formal Program Development Colloquium, p. 105—126.

[176]

An Introduction to the Bird-Meertens Formalism

Jeremy Gibbons

In Steve Reeves, editor, Proceedings of the First New Zealand Formal Program Development Colloquium pages 1—12. Hamilton. November 1994.

[177]

Die Rolle der mathematischen Logik in der Künstlichen Intelligenz

Cremers, Armin B., Eder, Elmar and Hinze, Ralf

In Künstliche Intelligenz: Leitvorstellungen und Verantwortbarkeit, Band 1: Diskussionsgrundlage Verein Deutscher Ingenieure. 1993.

[178]

The Last Tail

R. S. Bird

Journal of Functional Programming, Vol. 3, No. 1, pages 117—122. 1993.

[179]

List Partitions

Richard S. Bird, Oege de Moor

Formal Aspects of Computing, Vol. 5, pages 61—78. 1993.

[180]

Solving Optimisation Problems with Catamorphisms

Richard S. Bird, Oege de Moor

In Mathematics of Program Construction Vol. 669 of Lecture Notes in Computer Science, pages 45—66. Springer, 1993.

[181]

Mathematics of Program Construction

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

Vol. 669 of Lecture Notes in Computer Science. Springer. 1993.

[182]

From Dynamic Programming to Greedy Algorithms

Richard S. Bird, 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.

[183]

Upwards and Downwards Accumulations on Trees

Jeremy Gibbons

In R. S. Bird, C. C. Morgan and J. C. P. Woodcock, editors, Mathematics of Program Construction Vol. 669 of Lecture Notes in Computer Science, pages 122—138. Springer-Verlag, 1993.

A revised version appears in the Proceedings of the Massey Functional Programming Workshop, 1992.

[184]

Linear-time Breadth-first Tree Algorithms: An Exercise in the Arithmetic of Folds and Zips

Geraint Jones, Jeremy Gibbons

No. No.\,71, Technical Report, Dept of Computer Science, University of Auckland. May 1993.

Also IFIP Working Group 2.1 working paper 705 WIN-2.

[185]

Computing Downwards Accumulations on Trees Quickly

Jeremy Gibbons

In Gopal Gupta, George Mohay and Rodney Topor, editors, 16th Australian Computer Science Conference pages 685—691. Brisbane. February 1993.

[186]

The Categorical Abstract Machine: Basics and Enhancments

Hinze, Ralf

No. IAI-TR-92-1, Technical Report, Institut für Informatik III, Universität Bonn. December 1992.

[187]

Einführung in die funktionale Programmierung mit Miranda

Hinze, Ralf

B.G. Teubner. 1992.

ISBN 3-519-02287-7.

[188]

Einführung in die funktionale Programmierung - Sprachen, Spezifikationen, Grundlagen, Implementierung

Hinze, R.

1992.

Vorlesungsskript SS 92, Universität Bonn, Institut für Informatik III.

[189]

The Smallest Upravel

Richard S. Bird

Science of Computer Programming, Vol. 18, pages 281—292. 1992.

[190]

Unravelling Greedy Algorithms

Richard S. Bird

Journal of Functional Programming, Vol. 2, No. 3, pages 375—385. 1992.

[191]

Two Greedy Algorithms

Richard S. Bird

Journal of Functional Programming, Vol. 2, No. 2, pages 237—244. 1992.

[192]

The Minout Problem

Richard S. Bird

Journal of Functional Programming, Vol. 1, No. 1, pages 121—124. January 1991.

[193]

On Removing Duplicates

Richard S. Bird

Journal of Functional Programming, Vol. 1, No. 2, pages 235-243. 1991.

[194]

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.

[195]

Algebras for Tree Algorithms

Jeremy Gibbons

PhD Thesis, D. Phil. thesis. Programming Research Group, Oxford University. 1991.

Available as Technical Monograph PRG-94. ISBN 0-902928-72-4.

[196]

Small Specification Exercises

Richard S. Bird

In W. H. J. Feijen et al. , editors, Beauty is our Business pages 36—43. Springer-Verlag. 1990.

[197]

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.

[198]

Typsysteme und Typinferenzsysteme

Hinze, Ralf

Master's Thesis. , Diplomarbeit. Universität Dortmund, May 1989.

[199]

Formal Derivation of a Pattern Matching Algorithm

Richard S. Bird, Jeremy Gibbons and Geraint Jones

Science of Computer Programming, Vol. 12, No. 2, pages 93—104. July 1989.

[200]

Algebraic Identities for Program Calculation

Richard S. Bird

Computer Journal, Vol. 32, No. 2, pages 122—126. April 1989.

[201]

Formal Derivation of a Pattern Matching Algorithm

Richard S. Bird, Jeremy Gibbons and Geraint Jones

Science of Computer Programming, Vol. 12, No. 2, pages 93—104. July 1989.

[202]

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.

[203]

An Introduction to Functional Programming

Richard S. Bird, Philip L. Wadler

Prentice-Hall. 1988.

[204]

A New View of Binary Trees

Jeremy Gibbons

Master's Thesis. , Transferral dissertation. Programming Research Group, Oxford University, 1988.

Abstract appears in the Bulletin of the EATCS, number 39, p. 214.

[205]

A Formal Development of an Efficient Supercombinator Compiler

R. S. Bird

Science of Computer Programming, Vol. 8, pages 113—137. 1987.

[206]

The Alpha-Beta Algorithm: An Exercise in Program Transformation

Richard S. Bird, John Hughes

Information Processing Letters, Vol. 24, No. 1, pages 53—57. January 1987.

[207]

Two Exercises Found In a Book on Algorithmics

Richard S. Bird, Lambert Meertens

In Lambert Meertens, editor, Program Specification and Transformation pages 451—457. North-Holland. 1987.

[208]

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.

[209]

Transformational Programming and the Paragraph Problem

Richard S. Bird

Science of Computer Programming, Vol. 6, pages 159—189. 1986.

[210]

Addendum to ``The Promotion and Accumulation Strategies in Transformational Programming''

Richard S. Bird

ACM Transactions on Programming Languages and Systems, Vol. 7, No. 3, pages 490—492. July 1985.

[211]

Using Circular Programs to Eliminate Multiple Traversals of Data

Richard S. Bird

Acta Informatica, Vol. 21, pages 239—250. 1984.

[212]

The Promotion and Accumulation Strategies in Transformational Programming

Richard S. Bird

ACM Transactions on Programming Languages and Systems, Vol. 6, No. 4, pages 487—504. October 1984.

See also Bird85:Promotion.

[213]

The Jogger's Problem

Richard S. Bird

Information Processing Letters, Vol. 13, No. 3, pages 114—117. 1981.

[214]

Surveyor's Forum: A Recurring Bug

Richard S. Bird

ACM Computing Surveys, Vol. 13, No. 2, pages 243. 1981.

[215]

Tabulation Techniques for Recursive Programs

Richard S. Bird

ACM Computing Surveys, Vol. 12, No. 4, pages 403—417. December 1980.

See DBLP:journals/csur/Bird81.

[216]

Recursion Elimination with Variable Parameters

Richard S. Bird

Computer Journal, Vol. 22, No. 2, pages 151—154. 1979.

[217]

Two-Dimensional Pattern Matching

Richard S. Bird

Information Processing Letters, Vol. 6, No. 5, pages 168—170. 1977.

[218]

Notes on Recursion Elimination

Richard S. Bird

Communications of the ACM, Vol. 20, No. 6, pages 434—439. 1977.

[219]

Improving Programs by the Introduction of Recursion

Richard S. Bird

Communications of the ACM, Vol. 20, No. 11, pages 856—863. November 1977.

[220]

Programs and Machines

Richard Bird

Wiley. 1976.

[221]

Non Recursive Functionals

Richard Bird

Zeitschrift für mathematische Logik und Grundlagen der Mathematik, Vol. 21, pages 41—46. 1975.

[222]

On Transformations of Programs

Richard Bird

Journal of Computer and System Sciences, Vol. 8, pages 22-35. 1974.

[223]

Speeding Up Programs

Richard S. Bird

Computer Journal, Vol. 17, No. 4, pages 337—339. 1974.

[224]

A Note on Definition by Cases

Richard Bird

Zeitschrift für mathematische Logik und Grundlagen der Mathematik, Vol. 19, pages 207—208. 1973.

[225]

Integers with Given Initial Digits

Richard Bird

American Mathematical Monthly, Vol. 79, pages 367-370. 1972.

Random Image
Random Image
Random Image