Datatype-Generic Programming: Publications
Click here to download all publications in a single bibtex file
@article{Gibbons&Oliveira2008:Essence,
title = "The Essence of the Iterator Pattern",
author = "Jeremy Gibbons and Bruno César dos Santos Oliveira",
year = "2009",
journal = "Journal of Functional Programming",
note = "Revised version of \cite{Gibbons&Oliveira2006:Essence}",
number = "3&4",
pages = "377-402",
url = "http://www.comlab.ox.ac.uk/jeremy.gibbons/publications/iterator.pdf",
volume = "19",
doi = "10.1017/S0956796809007291",
}
@misc{2965,
title = "The Different Aspects of Monads and Mixins",
author = "Bruno C. d. S. Oliveira",
year = "2009",
note = "Draft Paper. Last Update: 04/03/2009. Submitted to ICFP 2009.",
}
@inproceedings{Oliveira*2008:Visitor,
title = "The Visitor Pattern as a Reusable, Generic, Type-Safe Component",
author = "Bruno C. d. S. Oliveira and Meng Wang and Jeremy Gibbons",
year = "2008",
booktitle = "Object-Oriented Programming: Systems, Languages, Applications (OOPSLA)",
url = "http://www.comlab.ox.ac.uk/jeremy.gibbons/publications/visitor.pdf",
doi = "10.1145/1449764.1449799",
}
@article{Gibbons2005:Metamorphisms,
title = "Metamorphisms: Streaming Representation-Changers",
author = "Jeremy Gibbons",
year = "2007",
journal = "Science of Computer Programming",
number = "2",
pages = "108-139",
url = "http://www.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/metamorphisms-scp.pdf",
volume = "65",
doi = "10.1016/j.scico.2006.01.006",
}
@inproceedings{Gibbons2007:Datatype,
title = "Datatype-Generic Programming",
author = "Jeremy Gibbons",
year = "2007",
booktitle = "Spring School on Datatype-Generic Programming",
editor = "Roland Backhouse and Jeremy Gibbons and Ralf Hinze and Johan Jeuring",
publisher = "Springer-Verlag",
series = "Lecture Notes in Computer Science",
url = "http://www.comlab.ox.ac.uk/jeremy.gibbons/publications/dgp.pdf",
volume = "4719",
}
@proceedings{Backhouse*2007:Datatype,
title = "Spring School on Datatype-Generic Programming",
author = "Roland Backhouse and Jeremy Gibbons and Ralf Hinze and Johan Jeuring",
year = "2007",
booktitle = "Spring School on Datatype-Generic Programming",
editor = "Roland Backhouse and Jeremy Gibbons and Ralf Hinze and Johan Jeuring",
publisher = "Springer-Verlag",
series = "Lecture Notes in Computer Science",
url = "http://www.comlab.ox.ac.uk/jeremy.gibbons/publications/ssdgp-preface.pdf",
volume = "4719",
}
@phdthesis{oliveira07genericity,
title = "Genericity, extensibility and type-safety in the Visitor pattern",
author = "Bruno C. d. S. Oliveira",
year = "2007",
url = "http://www.comlab.ox.ac.uk/people/Bruno.Oliveira/Thesis.pdf",
}
@incollection{emgm,
title = "Extensible and Modular Generics for the Masses",
author = "Bruno C. d. S. Oliveira, Ralf Hinze and Andres Loeh",
year = "2007",
booktitle = "Trends in Functional Programming",
editor = "Henrik Nilsson",
note = "Best student paper award",
}
@inproceedings{Gibbons2006:Design,
title = "Design Patterns as Higher-Order Datatype-Generic Programs",
author = "Jeremy Gibbons",
year = "2006",
booktitle = "Workshop on Generic Programming",
editor = "Ralf Hinze",
month = "sep",
url = "http://www.comlab.ox.ac.uk/jeremy.gibbons/publications/hodgp.pdf",
}
@inproceedings{HLO06Gen,
title = "Generics as a Library",
author = "Oliveira, Bruno C. d. S. and Hinze, Ralf and L{\"o}h, Andres",
year = "2006",
booktitle = "Proceedings of the Seventh Symposium on Trends in Functional Programming (TFP '06)",
editor = "Nilsson, Henrik",
isbn = "ISBN 9781841501888",
location = "Nottingham, UK",
publisher = "Intellect",
url = "http://www.intellectbooks.co.uk/books/view-Book,id=4576/",
}
@inproceedings{Gibbons&Oliveira2006:Essence,
title = "The Essence of the Iterator Pattern",
author = "Jeremy Gibbons and Bruno C\'esar dos Santos Oliveira",
year = "2006",
booktitle = "Mathematically-Structured Functional Programming",
editor = "Conor McBride and Tarmo Uustalu",
note = "Superseded by \cite{Gibbons&Oliveira2008:Essence}",
url = "http://www.comlab.ox.ac.uk/jeremy.gibbons/publications/iterator-msfp.pdf",
}
@inproceedings{Gibbons2005:DesignECOOP,
title = "Design Patterns as Higher-Order Datatype-Generic Programs",
author = "Jeremy Gibbons",
year = "2005",
address = "Glasgow",
booktitle = "European Conference on Object-Oriented Programming",
month = "jul",
note = "Later version appears as \cite{Gibbons2005:DesignOOPSLA}",
url = "http://2005.ecoop.org/8.html",
}
@inproceedings{Gibbons2005:DesignOOPSLA,
title = "Design Patterns as Higher-Order Datatype-Generic Programs",
author = "Jeremy Gibbons",
year = "2005",
address = "San Diego",
booktitle = "Object-Oriented Programming: Systems, Languages, Applications",
month = "oct",
note = "A revision of \cite{Gibbons2005:DesignECOOP}",
url = "http://www.oopsla.org/2005/ShowEvent.do?id=121",
}
@inproceedings{Oliveira&Gibbons2005:TypeCase,
title = "TypeCase: A Design Pattern for Type-Indexed Functions",
author = "Bruno C\'esar dos Santos Oliveira and Jeremy Gibbons",
year = "2005",
booktitle = "Haskell Workshop",
editor = "Daan Leijen",
pages = "98-109",
url = "http://www.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/typecase.pdf",
doi = "10.1145/1088348.1088358",
}
@inproceedings{Gibbons2004:Streaming,
title = "Streaming Representation-Changers",
author = "Jeremy Gibbons",
year = "2004",
booktitle = "Mathematics of Program Construction",
editor = "Dexter Kozen",
month = "jul",
note = "\url{http://www.springerlink.com/index/LHQ73WU5GU686976}",
pages = "142-168",
series = "Lecture Notes in Computer Science",
url = "http://www.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/metamorphisms-mpc.pdf",
volume = "3125",
doi = "10.1007/978-3-540-27764-4_9",
}
@inproceedings{Gibbons2003:Patterns,
title = "Patterns in Datatype-Generic Programming",
author = "Jeremy Gibbons",
year = "2003",
booktitle = "Multiparadigm Programming",
editor = "J{\"o}rg Striegnitz and Kei Davis",
isbn = "3-00-016005-1",
note = "First International Workshop on Declarative Programming in the Context of Object-Oriented Languages (DPCOOL)",
pages = "277-289",
publisher = "John von {N}eumann Institute for Computing (NIC)",
url = "http://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/patterns.pdf",
volume = "27",
}