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

Algebra of Programming: Publications

By dateBy titleBy typeBibtex

[1]

Modularising inductive families

Hsiang−Shang Ko and Jeremy Gibbons

In Jaakko Järvi and Shin−Cheng Mu, editors, Workshop on Generic Programming. Pages 13−24. September, 2011.

[2]

A Functional Derivation of the Warren Abstract Machine

Maciej Pirog and Jeremy Gibbons

2011.

Submitted for publication

[3]

Refactoring Pattern Matching

Meng Wang‚ Jeremy Gibbons‚ Kazutaka Matsuda and Zhenjiang Hu

In Science of Computer Programming. January, 2011.

Revised version of the MPC2010 paper "Gradual Refinement"

[4]

Gradual Refinement: Blending Pattern Matching with Data Abstraction

Meng Wang‚ Jeremy Gibbons‚ Kazutaka Matsuda and Zhenjiang Hu

In Jules Desharnais, editor, Mathematics of Program Construction. Vol. 6120 of LNCS. 2010.

See revised journal version "Refactoring Pattern Matching"

[5]

EffectiveAdvice: Disciplined Advice with Explicit Effects

Tom Schrijvers Bruno C. d. S. Oliveira and William R. Cook

In ACM SIG Proceedings of the 9th International Conference on Aspect−Oriented Software Development (AOSD). 2010.

[6]

Scala for Generic Programmers

Bruno C. d. S. Oliveira and Jeremy Gibbons

In Journal of Functional Programming. Vol. 20. No. 3‚4. Pages 303−352. 2010.

Revised version of the WGP2008 paper

[7]

Intellectual Property Protection using Obfuscation

Stephen Drape

No. RR−10−02. March, 2010.

[8]

Comparing Datatype Generic Libraries in Haskell

Bruno C. d. S. Oliveira Alexey Rodriguez Johan Jeuring Patrik Jansson Alex Gerdes Oleg Kiselyov

In Journal of Functional Programming. 2009.

Revised version of the Haskell Symposium 2008 paper

[9]

What Does Aspect−Oriented Programming Mean for Functional Programmers?

Meng Wang and Bruno C. d. S. Oliveira

In Patrik Jansson, editor, Proceedings of the ACM SIGPLAN Workshop on Generic Programming (WGP'09). ACM. August, 2009.

[10]

Creating transformations for matrix obfuscation

Stephen Drape and Irina Voiculescu

In Proceedings of SAS 2009. August, 2009.

[11]

Modular Visitor Components: A Practical Solution to the Expression Families Problem

Bruno C. d. S. Oliveira

In Sophia Drossopoulou, editor, 23rd European Conference on Object Oriented Programming (ECOOP). July, 2009.

[12]

The Different Aspects of Monads and Mixins

Bruno C. d. S. Oliveira

2009.

Draft Paper. Last Update: 04/03/2009. Submitted to ICFP 2009.

[13]

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

Meng Wang‚ Jeremy Gibbons and Kazutaka Matsuda

2009.

[14]

Parametric Datatype−Genericity

Jeremy Gibbons and Ross Paterson

In Workshop on Generic Programming. Edinburgh. August, 2009.

[15]

The Essence of the Iterator Pattern

Jeremy Gibbons and Bruno César dos Santos Oliveira

In Journal of Functional Programming. Vol. 19. No. 3&4. Pages 377−402. 2009.

Revised version of Gibbons&Oliveira2006:Essence

[16]

Objects to Unify Type Classes and GADTs

Bruno C. d. S. Oliveira and Martin Sulzmann

2008.

[17]

Comparing Libraries for Generic Programming in Haskell

Bruno C. d. S. Oliveira Alexey Rodriguez Johan Jeuring Patrik Jansson Alex Gerdes Oleg Kiselyov

In Haskell Symposium. 2008.

[18]

The Use of Matrices in Obfuscation

Stephen Drape and Irina Voiculescu

No. RR−08−12. Oxford University Computing Laboratory. December, 2008.

[19]

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.

[20]

Unfolding Abstract Datatypes

Jeremy Gibbons

In Mathematics of Program Construction. July, 2008.

[21]

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.

[22]

Scala for Generic Programmers

Bruno Oliveira and Jeremy Gibbons

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

[23]

Extensible and Modular Generics for the Masses

Ralf Hinze Bruno C. d. S. Oliveira and Andres Loeh

In Henrik Nilsson, editor, Trends in Functional Programming. 2007.

Best student paper award

[24]

Generalising the Array Split Obfuscation

Stephen Drape

In Information Sciences. Vol. 177. No. 1. Pages 202–219. January, 2007.

[25]

The Suitability of Different Binary Tree Obfuscations

Stephen Drape

No. 310. CDMTCS‚ The University of Auckland. Auckland‚ New Zealand. June, 2007.

[26]

Specifying Imperative Data Obfuscations

Stephen Drape‚ Clark Thomborson and Anirban Majumdar

In Proceeding of the 10th Information Security Conference (ISC 07). Vol. 4779 of Lecture Notes in Computer Science. Pages 299–314. Springer. 2007.

[27]

Slicing Obfuscations: Design‚ Correctness and Evaluation

Anirban Majumdar‚ Stephen Drape and Clark Thomborson

In DRM '07: Proceedings of the 2007 ACM workshop on Digital Rights Management. Pages 70–81. ACM Press. 2007.

[28]

Metrics−based Evaluation of Slicing Obfuscations

Anirban Majumdar‚ Stephen Drape and Clark Thomborson

In Proceeding of the Third International Symposium on Information Assurance and Security. Pages 472–477. IEEE Computer Society. August, 2007.

[29]

Design and Evaluation of Slicing Obfuscations

Stephen Drape and Anirban Majumdar

No. 311. CDMTCS‚ The University of Auckland. Auckland‚ New Zealand. June, 2007.

[30]

Genericity‚ extensibility and type−safety in the Visitor pattern

Bruno C. d. S. Oliveira

PhD Thesis 2007.

[31]

Generic Programming in 3D

Ralf Hinze and Andres Löh

In Science of Computer Programming. 2007.

to appear

[32]

Generic Programming‚ Now!

Ralf Hinze and Andres Löh

In Roland Backhouse‚ Jeremy Gibbons‚ Ralf Hinze and Johan Jeuring, editors, Datatype−Generic Programming. Vol. 4719 of Lecture Notes in Computer Science. Pages 150−208. Springer Berlin / Heidelberg. 2007.

[33]

Comparing Approaches to Generic Programming in Haskell

Ralf Hinze‚ Johan Jeuring and Andres Löh

In Roland Backhouse‚ Jeremy Gibbons‚ Ralf Hinze and Johan Jeuring, editors, Datatype−Generic Programming. Vol. 4719 of Lecture Notes in Computer Science. Pages 72−149. Springer Berlin / Heidelberg. 2007.

To appear

[34]

Minimal On−line List Labelling

Richard S. Bird and Stefan Sadnicki

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

[35]

Metamorphisms: Streaming Representation−Changers

Jeremy Gibbons

In Science of Computer Programming. Vol. 65. No. 2. Pages 108−139. 2007.

[36]

Spring School on Datatype−Generic Programming

Roland Backhouse‚ Jeremy Gibbons‚ Ralf Hinze and Johan Jeuring, editors

Roland Backhouse‚ Jeremy Gibbons‚ Ralf Hinze and Johan Jeuring, editors

[37]

Report on Fourth Workshop on Commercial Users of Functional Programming

Jeremy Gibbons

December, 2007.

[38]

Integrated Formal Methods

Jim Davies and Jeremy Gibbons, editors

Jim Davies and Jeremy Gibbons, editors

[39]

Generic and Indexed Programming

Jeremy Gibbons‚ Meng Wang and Bruno Cesar dos Santos Oliveira

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

[40]

Datatype−Generic Programming

Jeremy Gibbons

In Roland Backhouse‚ Jeremy Gibbons‚ Ralf Hinze and Johan Jeuring, editors, Spring School on Datatype−Generic Programming. Vol. 4719 of Lecture Notes in Computer Science. Springer−Verlag. 2007.

[41]

Typed Contracts for Functional Programming

Ralf Hinze‚ Johan Jeuring and Andres Löh

In Masami Hagiya and Philip Wadler, editors, Proceedings of the Eighth International Symposium on Functional and Logic Programming (FLOPS 2006). Vol. 3945 of Lecture Notes in Computer Science. Pages 208−225. Springer Berlin / Heidelberg. April, 2006.

[42]

Open data types and open functions

Andres Löh and Ralf Hinze

In Michael Maher, editor, Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP '06). Pages 133−144. New York‚ NY‚ USA. July, 2006. ACM.

[43]

Open data types and open functions

Ralf Hinze and Andres Löh

No. IAI−TR−2006−3. Institut für Informatik III‚ Universität Bonn. February, 2006.

[44]

Generics as a Library

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

In Henrik Nilsson, editor, Proceedings of the Seventh Symposium on Trends in Functional Programming (TFP '06). Intellect. 2006.

[45]

“Scrap Your Boilerplate” Revolutions

Ralf Hinze and Andres Löh

In Tarmo Uustalu, editor, 8th International Conference on Mathematics of Program Construction (MPC '06). Vol. 4014 of Lecture Notes in Computer Science. Pages 180−208. Springer Berlin / Heidelberg. July, 2006.

[46]

“Scrap Your Boilerplate” Reloaded

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

In Masami Hagiya and Philip Wadler, editors, Proceedings of the Eighth International Symposium on Functional and Logic Programming (FLOPS 2006). Vol. 3945 of Lecture Notes in Computer Science. Pages 13−29. Springer Berlin / Heidelberg. April, 2006.

[47]

“Scrap Your Boilerplate” Reloaded

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

No. IAI−TR−2006−2. Institut für Informatik III‚ Universität Bonn. January, 2006.

[48]

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.

[49]

Enumerating the Rationals

Jeremy Gibbons‚ David Lester and Richard Bird

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

[50]

A Program to Solve Sudoku

Richard S. Bird

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

[51]

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.

[52]

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.

[53]

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.

[54]

Enumerating the Rationals

Jeremy Gibbons‚ David Lester and Richard Bird

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

[55]

An Unbounded Spigot Algorithm for the Digits of π

Jeremy Gibbons

In American Mathematical Monthly. Vol. 113. No. 4. Pages 318−328. 2006.

[56]

The Essence of the Iterator Pattern

Jeremy Gibbons and Bruno César dos Santos Oliveira

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

Superseded by Gibbons&Oliveira2008:Essence

[57]

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.

[58]

Fast and Loose Reasoning is Morally Correct

Nils Anders Danielsson‚ Jeremy Gibbons‚ John Hughes and Patrik Jansson

In Principles of Programming Languages. Pages 206−217. January, 2006.

[59]

Design Patterns as Higher−Order Datatype−Generic Programs

Jeremy Gibbons

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

[60]

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.

[61]

Polymorphic String Matching

Richard S. Bird

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

[62]

Proof Methods for Corecursive Programs

Jeremy Gibbons and Graham Hutton

In Fundamenta Informaticae. Vol. 66. No. 4. Pages 353−366. , 2005.

[63]

TypeCase: A Design Pattern for Type−Indexed Functions

Bruno César dos Santos Oliveira and Jeremy Gibbons

In Daan Leijen, editor, Haskell Workshop. Pages 98−109. 2005.

[64]

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

[65]

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

[66]

Using Haskell to Model Tree Obfuscations

Stephen Drape

No. RR−04−17. Oxford University Computing Laboratory. July, 2004.

[67]

The Matrix Obfuscated

Stephen Drape

No. RR−04−12. Oxford University Computing Laboratory. June, 2004.

[68]

Obfuscating Set Representations

Stephen Drape

No. RR−04−09. Oxford University Computing Laboratory. May, 2004.

[69]

Obfuscation of Abstract Data−Types

Stephen Drape

PhD Thesis , type={D}{P}hil Thesis DPhil ThesisType. Oxford University Computing Laboratory. 2004.

[70]

Type−indexed data types

Ralf Hinze‚ Johan Jeuring and Andres Löh

In Science of Computer Programming. Vol. 51. No. 1−2. Pages 117−151. May, 2004.

[71]

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.

[72]

On Tiling a Chessboard

Richard S. Bird

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

[73]

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

[74]

Disciplined‚ efficient‚ generalised folds for nested datatypes

Clare Martin‚ Jeremy Gibbons and Ian Bayley

In Formal Aspects of Computing. Vol. 16. No. 1. Pages 19−35. 2004.

[75]

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

[76]

Fun with phantom types

Ralf Hinze

In Jeremy Gibbons and Oege de Moor, editors, The Fun of Programming. Pages 245−262. Palgrave Macmillan. 2003.

ISBN 1−4039−0772−2 hardback‚ ISBN 0−333−99285−7 paperback

[77]

First−Class Phantom Types

James Cheney and Ralf Hinze

Cornell University. 2003.

[78]

Derivation of a Typed Functional LR Parser

Ralf Hinze and Ross Paterson

2003.

in preparation

[79]

Trouble Shared is Trouble Halved

Richard Bird and Ralf Hinze

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

[80]

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.

[81]

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.

[82]

The Fun of Programming

Jeremy Gibbons and Oege de Moor, editors

Palgrave. 2003.

Hardback ISBN: 1−4039−0772−2

[83]

Summer School on Generic Programming

Roland Backhouse and Jeremy Gibbons, editors

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

[84]

Patterns in Datatype−Generic Programming

Jeremy Gibbons

In Jörg Striegnitz and 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)

[85]

Origami Programming

Jeremy Gibbons

In Jeremy Gibbons and Oege de Moor, editors, The Fun of Programming. Pages 41−60. Palgrave. 2003.

[86]

Generic Programming

Jeremy Gibbons and Johan Jeuring, editors

Jeremy Gibbons and Johan Jeuring, editors

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

[87]

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.

Code available at http://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/arith.zip

[88]

Transforming the .NET Intermediate Language Using Path Logic Programming

Stephen Drape‚ Oege de Moor and Ganesh Sittampalam

In Principles and Practice of Declarative Programming. Pages 133–144. ACM Press. 2002.

[89]

Polytypic values possess polykinded types

Ralf Hinze

In Science of Computer Programming. Vol. 43. No. 2−3. Pages 129−159. , 2002.

[90]

Type−indexed Data Types

Ralf Hinze‚ Johan Jeuring and Andres Löh

In Eerke A. Boiten and Bernhard Möller, editors, Proceedings of the Sixth International Conference on Mathematics of Program Construction (MPC '02). Vol. 2386 of Lecture Notes in Computer Science. Pages 148–174. Springer Berlin / Heidelberg. July, 2002.

[91]

Type−indexed data types

Ralf Hinze‚ Johan Jeuring and Andres Löh

No. UU−CS−2002−11. Universiteit Utrecht. 2002.

[92]

Constructing tournament representations: An exercise in pointwise relational programming

Ralf Hinze

No. IAI−TR−2002−2. Institut für Informatik III‚ Universität Bonn. February, 2002.

[93]

Combining Generics and Dynamics

Peter Achten and Ralf Hinze

No. NIII−R0206. Nijmegen Institute for Computing and Information Sciences‚ University of Nijmegen. July, 2002.

[94]

Church numerals‚ twice!

Ralf Hinze

No. IAI−TR−2002−3. Institut für Informatik III‚ Universität Bonn. February, 2002.

[95]

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.

[96]

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.

[97]

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.

[98]

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.

[99]

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.

[100]

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.

[101]

Functional Cryptography

Stephen Drape

Master's Thesis 2001.

[102]

Manufacturing datatypes

Ralf Hinze

In JFP. Vol. 11. No. 5. Pages 493−524. September, 2001.

[103]

Functional Pearl: Weaving a web

Ralf Hinze and Johan Jeuring

In JFP. Vol. 11. No. 6. Pages 681−689. November, 2001.

[104]

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

Ralf Hinze

In IJFCS. Vol. 12. No. 2. Pages 125−170. 2001.

[105]

Derivable Type Classes

Ralf Hinze and Simon Peyton Jones

In Graham Hutton, editor, Proceedings of the 2000 ACM SIGPLAN Haskell Workshop. Vol. 41(1) of Electronic Notes in Theoretical Computer Science. Pages 5−35. Elsevier Science. August, 2001.

The preliminary proceedings appeared as a University of Nottingham technical report

[106]

A Simple Implementation Technique for Priority Search Queues

Ralf Hinze

No. UU−CS−2001−09. Universiteit Utrecht. March, 2001.

[107]

Unfolding Pointer Algorithms

Richard S. Bird

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

[108]

Maximum Marking Problems

Richard S. Bird

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

[109]

Functional Quantum Programming

Shin−Cheng Mu and Richard Bird

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

[110]

The Generic Approximation Lemma

Graham Hutton and Jeremy Gibbons

In Information Processing Letters. Vol. 79. No. 4. Pages 197–201. August, 2001.

[111]

On the Semantics of Nested Datatypes

Clare Martin and Jeremy Gibbons

In Information Processing Letters. Vol. 80. No. 5. Pages 233–238. December, 2001.

[112]

When is a Function a Fold or an Unfold?

Jeremy Gibbons‚ Graham Hutton and Thorsten Altenkirch

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

Proceedings of Coalgebraic Methods in Computer Science

[113]

Functional Pearl: Perfect trees and bit−reversal permutations

Ralf Hinze

In JFP. Vol. 10. No. 3. Pages 305−317. May, 2000.

[114]

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.

[115]

On Building Trees with Minimum Height‚ Relationally

Shin−Cheng Mu and Richard Bird

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

[116]

Generic Downwards Accumulations

Jeremy Gibbons

In Science of Computer Programming. Vol. 37. Pages 37–65. 2000.

[117]

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.

[118]

Pointwise Relational Programming

Oege de Moor and Jeremy Gibbons

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

[119]

Functional Pearl: Explaining binomial heaps

Ralf Hinze

In JFP. Vol. 9. No. 1. Pages 93−104. January, 1999.

[120]

Book review: “Purely Functional Data Structures”‚ by Chris Okasaki

Ralf Hinze

In JFP. Vol. 9. No. 5. Pages 577–578. September, 1999.

[121]

Haskell 98 — A Non−strict‚ Purely Functional Language

Simon Peyton Jones [editor]‚ John Hughes [editor]‚ Simon‚ Lennart Augustsson‚ Dave Barton‚ Brian Boutel‚ Warren Burton‚ Simon Fraser‚ Joseph Fasel‚ Kevin Hammond‚ Ralf Hinze‚ Paul Hudak‚ Thomas Johnsson‚ Mark Jones‚ John Launchbury‚ Erik Meijer‚ John Peterson‚ Alastair Reid‚ Colin Runciman and Philip Wadler

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

[122]

Straight to the Heart of Computer Science via Functional Programming

Robert Giegerich‚ Ralf Hinze and Stefan Kurtz

In Matthias Felleisen‚ Michael Hanus and Simon Thompson, 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

[123]

Polytypic values possess polykinded types

Ralf Hinze

No. IAI−TR−99−15. Institut für Informatik III‚ Universität Bonn. December, 1999.

[124]

Polytypic Programming With Ease

Ralf Hinze

No. IAI−TR−99−2. Institut für Informatik III‚ Universität Bonn. February, 1999.

[125]

Perfect Trees and Bit−reversal Permutations

Ralf Hinze

No. IAI−TR−99−4. Institut für Informatik III‚ Universität Bonn. March, 1999.

[126]

Manufacturing Datatypes

Ralf Hinze

In Chris Okasaki, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages (WAAAPL '99). 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

[127]

Manufacturing Datatypes

Ralf Hinze

No. IAI−TR−99−5. Institut für Informatik III‚ Universität Bonn. April, 1999.

[128]

Efficient Generalized Folds

Ralf Hinze

No. IAI−TR−99−8. Institut für Informatik III‚ Universität Bonn. June, 1999.

[129]

Deriving monad transformers

Ralf Hinze

No. IAI−TR−99−1. Institut für Informatik III‚ Universität Bonn. January, 1999.

[130]

Constructing Red−Black Trees

Ralf Hinze

In Chris Okasaki, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages (WAAAPL' 99). Pages 89–99. September, 1999.

The proceedings appeared as a technical report of Columbia University‚ CUCS−023−99

[131]

Constructing Red−Black Trees

Ralf Hinze

No. IAI−TR−99−6. Institut für Informatik III‚ Universität Bonn. May, 1999.

[132]

A New Approach to Generic Functional Programming

Ralf Hinze

No. IAI−TR−99−9. Institut für Informatik III‚ Universität Bonn. July, 1999.

[133]

A Generic Programming Extension for Haskell

Ralf Hinze

In Erik Meijer, 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

[134]

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.

[135]

Generalised Folds for Nested Datatypes

Richard Bird and Ross Paterson

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

[136]

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

Oege de Moor and Jeremy Gibbons

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

[137]

A Pointless Derivation of Radixsort

Jeremy Gibbons

In Journal of Functional Programming. Vol. 9. No. 3. Pages 339–346. 1999.

[138]

Proof Methods for Structured Corecursive Programs

Jeremy Gibbons and Graham Hutton

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

[139]

Lecture Notes on Algebraic and Coalgebraic Methods for Calculating Functional Programs

Jeremy Gibbons

March, 1999.

Estonian Winter School on Computer Science

[140]

Prological Features in a Functional Setting — Axioms and Implementations

Ralf Hinze

In Masahiko Sato and Yoshihito Toyama, editors, Proceedings of the Third Fuji International Symposium on Functional and Logic Programming (FLOPS '98). Pages 98–122. Singapore‚ New Jersey‚ London‚ Hong Kong. April, 1998. World Scientific.

[141]

Projektionsbasierte Striktheitsanalyse

Ralf Hinze

In Ausgezeichnete Informatikdissertationen 1996. Pages 46−61. B.G. Teubner , AddressStuttgart. 1998.

[142]

Polytypic Functions Over Nested Datatypes

Ralf Hinze

No. IAI−TR−98−10. Institut für Informatik III‚ Universität Bonn. October, 1998.

[143]

Numerical Representations as Higher−Order Nested Datatypes

Ralf Hinze

No. IAI−TR−98−12. Institut für Informatik III‚ Universität Bonn. December, 1998.

[144]

Generalizing Generalized Tries

Ralf Hinze

No. IAI−TR−98−11. Institut für Informatik III‚ Universität Bonn. November, 1998.

[145]

Meertens' Number

Richard S. Bird

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

[146]

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.

[147]

Introduction to Functional Programming Using Haskell

Richard S. Bird

Prentice−Hall. 1998.

[148]

Structured Programming in Java

Jeremy Gibbons

In 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

[149]

The Under−Appreciated Unfold

Jeremy Gibbons and Geraint Jones

In International Conference on Functional Programming. Pages 273–279. Baltimore‚ Maryland. September, 1998.

[150]

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.

[151]

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

Jeremy Gibbons and Geraint Jones

1998.

Oxford Brookes University and Oxford University Computing Laboratory

[152]

On Merging and Selection

Richard S. Bird

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

[153]

On Building Trees with Minimum Height

Richard S. Bird

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

[154]

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.

[155]

On Computing Representatives

Richard S. Bird and Jesús N. Ravelo

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

[156]

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

[157]

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.

[158]

More on Merging and Selection

Jeremy Gibbons

No. CMS−TR−97−08. School of Computing and Mathematical Sciences‚ Oxford Brookes University. October, 1997.

[159]

Conditionals in Distributive Categories

Jeremy Gibbons

No. CMS−TR−97−01. School of Computing and Mathematical Sciences‚ Oxford Brookes University. January, 1997.

[160]

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

[161]

Efficient Monadic−style Backtracking

Ralf Hinze

No. IAI−TR−96−9. Institut für Informatik III‚ Universität Bonn. October, 1996.

[162]

Functional Algorithm Design

Richard S. Bird

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

[163]

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.

[164]

The Algebra of Programming

Richard Bird and Oege de Moor

Prentice−Hall. 1996.

[165]

Computing Downwards Accumulations on Trees Quickly

Jeremy Gibbons

In 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

[166]

The Third Homomorphism Theorem

Jeremy Gibbons

In Journal of Functional Programming. Vol. 6. No. 4. Pages 657–665. 1996.

Earlier version appeared in B. Jay‚C. editor‚ Computing: The Australian Theory Seminar‚ Sydney‚ December 1994‚ 62–6p.9

[167]

Deriving Tidy Drawings of Trees

Jeremy Gibbons

In Journal of Functional Programming. Vol. 6. No. 3. Pages 535–562. 1996.

[168]

Tracing Lazy Functional Languages

Jeremy Gibbons and Keith Wansbrough

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

[169]

Projection−based Strictness Analysis — Theoretical and Practical Aspects

Ralf Hinze

PhD Thesis , type=Inauguraldissertation InauguraldissertationType. Universität Bonn. November, 1995.

[170]

Functional Algorithm Design

Richard S. Bird

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

[171]

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.

[172]

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

Armin B. Cremers‚ Ulrike Griefahn and Ralf Hinze

Vieweg , AddressBraunschweig/Wiesbaden. 1994.

[173]

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.

[174]

Hybrid Dynamic Programming

Richard Bird and Oege de Moor

1994.

Programming Research Group‚ Oxford

[175]

Efficient Parallel Algorithms for Tree Accumulations

Jeremy Gibbons‚ Wentong Cai and David Skillicorn

In Science of Computer Programming. Vol. 23. Pages 1–18. 1994.

[176]

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‚ 105–126p‥

[177]

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.

[178]

Die Rolle der mathematischen Logik in der Künstlichen Intelligenz

Armin B. Cremers‚ Elmar Eder and Ralf Hinze

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

[179]

The Last Tail

R. S. Bird

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

[180]

List Partitions

Richard S. Bird and Oege de Moor

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

[181]

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.

[182]

Mathematics of Program Construction

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

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

[183]

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.

[184]

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

[185]

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

Geraint Jones and Jeremy Gibbons

No. 7No.1. Dept of Computer Science‚ University of Auckland. May, 1993.

Also IFIP Working Group 2.1 working paper 705 WIN−2

[186]

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.

[187]

The Categorical Abstract Machine: Basics and Enhancments

Ralf Hinze

No. IAI−TR−92−1. Institut für Informatik III‚ Universität Bonn. December, 1992.

[188]

Einführung in die funktionale Programmierung mit Miranda

Ralf Hinze

B.G. Teubner , AddressStuttgart. 1992.

[189]

Einführung in die funktionale Programmierung − Sprachen‚ Spezifikationen‚ Grundlagen‚ Implementierung

R. Hinze

1992.

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

[190]

The Smallest Upravel

Richard S. Bird

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

[191]

Unravelling Greedy Algorithms

Richard S. Bird

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

[192]

Two Greedy Algorithms

Richard S. Bird

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

[193]

The Minout Problem

Richard S. Bird

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

[194]

On Removing Duplicates

Richard S. Bird

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

[195]

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.

[196]

Algebras for Tree Algorithms

Jeremy Gibbons

PhD Thesis , type={D}.\,{Phil}.\ thesis D.Phil. thesisType. Programming Research Group‚ Oxford University. 1991.

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

[197]

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.

[198]

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

[199]

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.

[200]

Algebraic Identities for Program Calculation

Richard S. Bird

In 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

In 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 and Philip L. Wadler

Prentice−Hall. 1988.

[204]

A New View of Binary Trees

Jeremy Gibbons

Master's Thesis , type=Transferral dissertation Transferral dissertationType. 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

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

[206]

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.

[207]

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.

[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

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

[210]

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.

[211]

Using Circular Programs to Eliminate Multiple Traversals of Data

Richard S. Bird

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

[212]

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

[213]

The Jogger's Problem

Richard S. Bird

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

[214]

Surveyor's Forum: A Recurring Bug

Richard S. Bird

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

[215]

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

[216]

Recursion Elimination with Variable Parameters

Richard S. Bird

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

[217]

Two−Dimensional Pattern Matching

Richard S. Bird

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

[218]

Notes on Recursion Elimination

Richard S. Bird

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

[219]

Improving Programs by the Introduction of Recursion

Richard S. Bird

In 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

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

[222]

On Transformations of Programs

Richard Bird

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

[223]

Speeding Up Programs

Richard S. Bird

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

[224]

A Note on Definition by Cases

Richard Bird

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

[225]

Integers with Given Initial Digits

Richard Bird

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