Difference between revisions of "Research papers/Data structures"

From HaskellWiki
Jump to navigation Jump to search
(link)
(added a paper)
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
 
__TOC__
 
__TOC__
   
;[http://www.informatik.uni-bonn.de/~ralf/publications/HW2003.pdf Functional pearl: Trouble shared is trouble halved]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.10.1217 Functional pearl: Trouble shared is trouble halved]
 
:Richard Bird and Ralf Hinze. In Johan Jeuring, editor, Proceedings of the ACM SIGPLAN 2003 Haskell Workshop, Uppsala, Sweden, August 28, 2003, pp 1-6.
 
:Richard Bird and Ralf Hinze. In Johan Jeuring, editor, Proceedings of the ACM SIGPLAN 2003 Haskell Workshop, Uppsala, Sweden, August 28, 2003, pp 1-6.
   
Line 8: Line 7:
 
:Ralf Hinze. In Chris Okasaki, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages, WAAAPL'99, Paris, France, September 1999, pp. 1-16.
 
:Ralf Hinze. In Chris Okasaki, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages, WAAAPL'99, Paris, France, September 1999, pp. 1-16.
   
;[http://www.reid-consulting-uk.ltd.uk/alastair/publications/gfpw89/index.html Designing Data Structures]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.9763 Designing Data Structures] [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.9763 Alternative Link]
 
:A. Reid, Proceedings of the 1989 Glasgow Functional Programming Workshop, Workshops in Computing series, Springer Verlag, pp 170-181, 1989.
 
:A. Reid, Proceedings of the 1989 Glasgow Functional Programming Workshop, Workshops in Computing series, Springer Verlag, pp 170-181, 1989.
   
Line 20: Line 19:
 
:Chris Okasaki. Haskell Workshop 2000. September 2000
 
:Chris Okasaki. Haskell Workshop 2000. September 2000
   
;[http://www.cs.york.ac.uk/ftpdir/reports/YCST-2000-01.ps.gz Benchmarking Purely Functional Data Structures]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.9196 Benchmarking Purely Functional Data Structures]
 
:Graeme E. Moss. PhD. Thesis. York University. YCST-2000-01. July 1999.
 
:Graeme E. Moss. PhD. Thesis. York University. YCST-2000-01. July 1999.
   
Line 30: Line 29:
 
:Philip Wadler. Note. December 1987
 
:Philip Wadler. Note. December 1987
   
;[http://foxnet.cs.cmu.edu/people/cokasaki/papers.html#random-access Purely Functional Random-Access Lists]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.5156 Purely Functional Random-Access Lists]
 
:Chris Okasaki. Functional Programming Languages and Computer Architecture, June 1995, pages 86-95.
 
:Chris Okasaki. Functional Programming Languages and Computer Architecture, June 1995, pages 86-95.
   
;[http://doi.acm.org/10.1145/1088348.1088359 Polymorphic string matching]
+
;[http://portal.acm.org/citation.cfm?doid=1088348.1088359 Polymorphic string matching]
 
:Richard S. Bird. Proceedings of the 2005 ACM SIGPLAN workshop on Haskell, Tallinn, Estonia. 110 - 115, 2005 ISBN 1-59593-071-X
 
:Richard S. Bird. Proceedings of the 2005 ACM SIGPLAN workshop on Haskell, Tallinn, Estonia. 110 - 115, 2005 ISBN 1-59593-071-X
   
;[http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/index.html#unfold The Under-Appreciated Unfold]
+
;[http://web.comlab.ox.ac.uk/people/Jeremy.Gibbons/publications/index.html#unfold The Under-Appreciated Unfold]
 
:Jeremy Gibbons and Geraint Jones, Proceedings 3rd ACM SIGPLAN Int. Conf. on Functional Programming, ICFP'98, 34(1), ACM Press, New York, 273--279, 1998
 
:Jeremy Gibbons and Geraint Jones, Proceedings 3rd ACM SIGPLAN Int. Conf. on Functional Programming, ICFP'98, 34(1), ACM Press, New York, 273--279, 1998
   
;[http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/kernels.ps.gz When is a function a fold or an unfold?]
+
;[http://web.comlab.ox.ac.uk/people/Jeremy.Gibbons/publications/kernels.ps.gz When is a function a fold or an unfold?]
 
:Jeremy Gibbons, Graham Hutton and Thorsten Altenkirch (2001). In Coalgebraic Methods in Computer Science, April 2001 (Volume 44.1 of Electronic Notes in Theoretical Computer Science).
 
:Jeremy Gibbons, Graham Hutton and Thorsten Altenkirch (2001). In Coalgebraic Methods in Computer Science, April 2001 (Volume 44.1 of Electronic Notes in Theoretical Computer Science).
  +
  +
;[http://web.comlab.ox.ac.uk/people/Jeremy.Gibbons/publications/naturally.ps.gz 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.
  +
  +
;[http://wwwtcs.inf.tu-dresden.de/~voigt/p114-voigtlaender.pdf Concatenate, Reverse and Map Vanish For Free]
  +
:Janis Voigtländer, International Conference on Functional Programming, Proceedings, vol. 37(9) of SIGPLAN Notices, pp. 14-25, ACM Press, 2002.
  +
  +
  +
==Numerics==
  +
  +
;[http://web.comlab.ox.ac.uk/people/Jeremy.Gibbons/publications/rationals.pdf Enumerating the rationals]
  +
:Jeremy Gibbons, David Lester, and Richard Bird. Journal of Functional Programming, 16(3):281-292, 2004.
   
 
==Arrays==
 
==Arrays==
Line 62: Line 73:
   
 
;[http://www.cse.unsw.edu.au/~dons/papers/CSL06.html Rewriting Haskell Strings]
 
;[http://www.cse.unsw.edu.au/~dons/papers/CSL06.html Rewriting Haskell Strings]
:Duncan Coutts, Don Stewart and Roman Leshchinskiy. Draft. Online 3-9-2006.
+
:Duncan Coutts, Don Stewart and Roman Leshchinskiy. PADL 2007.
   
 
==Trees==
 
==Trees==
Line 75: Line 86:
 
:Ralf Hinze. Journal of Functional Programming. 2001
 
:Ralf Hinze. Journal of Functional Programming. 2001
   
;[http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/accumulations.ps.gz Upwards and Downwards Accumulations on Trees]
+
;[http://web.comlab.ox.ac.uk/people/Jeremy.Gibbons/publications/accumulations.ps.gz Upwards and Downwards Accumulations on Trees]
 
:Jeremy Gibbons (1993). In LNCS 669: Mathematics of Program Construction, ed. R. S. Bird, C. C. Morgan and J. C. P. Woodcock, Springer-Verlag, p. 122-138. Revised version appears in Proceedings of the Massey Functional Programming Workshop, ed. E. Ireland and N. Perry, 1992.
 
:Jeremy Gibbons (1993). In LNCS 669: Mathematics of Program Construction, ed. R. S. Bird, C. C. Morgan and J. C. P. Woodcock, Springer-Verlag, p. 122-138. Revised version appears in Proceedings of the Massey Functional Programming Workshop, ed. E. Ireland and N. Perry, 1992.
   
;[http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/efficient.ps.gz Efficient Parallel Algorithms for Tree Accumulations]
+
;[http://web.comlab.ox.ac.uk/people/Jeremy.Gibbons/publications/efficient.ps.gz Efficient Parallel Algorithms for Tree Accumulations]
 
:Jeremy Gibbons, Wentong Cai and David Skillicorn (1994). Science of Computer Programming 23 p1-18.
 
:Jeremy Gibbons, Wentong Cai and David Skillicorn (1994). Science of Computer Programming 23 p1-18.
   
;[http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/breadth.ps.gz Linear-Time Breadth-First Tree Algorithms: An Exercise in the Arithmetic of Folds and Zips]
+
;[http://citeseer.ist.psu.edu/old/jones93lineartime.html Linear-Time Breadth-First Tree Algorithms: An Exercise in the Arithmetic of Folds and Zips]
 
:Geraint Jones and Jeremy Gibbons (1993). University of Auckland Computer Science Report No. 71, and IFIP Working Group 2.1 working paper 705 WIN-2.
 
:Geraint Jones and Jeremy Gibbons (1993). University of Auckland Computer Science Report No. 71, and IFIP Working Group 2.1 working paper 705 WIN-2.
   
;[http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/polyda.ps.gz Polytypic Downwards Accumulations]
+
;[http://web.comlab.ox.ac.uk/people/Jeremy.Gibbons/publications/polyda.ps.gz Polytypic Downwards Accumulations]
 
:Jeremy Gibbons (1998). In LNCS 1422, Proceedings of Mathematics of Program Construction, Marstrand, Sweden, June 1998.
 
:Jeremy Gibbons (1998). In LNCS 1422, Proceedings of Mathematics of Program Construction, Marstrand, Sweden, June 1998.
   
 
;[http://web.engr.oregonstate.edu/~erwig/papers/abstracts.html#JFP98 Diets for Fat Sets]
 
;[http://web.engr.oregonstate.edu/~erwig/papers/abstracts.html#JFP98 Diets for Fat Sets]
 
:Martin Erwig. Journal of Functional Programming, Vol. 8, No. 6, 627-632, 1998.
 
:Martin Erwig. Journal of Functional Programming, Vol. 8, No. 6, 627-632, 1998.
  +
  +
;[http://wwwtcs.inf.tu-dresden.de/~voigt/mpc08.pdf Asymptotic Improvement of Computations over Free Monads]
  +
:Janis Voigtländer. Mathematics of Program Construction (MPC'08), Proceedings, LNCS 5133:388-403, Springer-Verlag, 2008.
  +
  +
;[http://www.iai.uni-bonn.de/~jv/pepm11.pdf Strictification of Circular Programs]
  +
:Joao Paulo Fernandes, Joao Saraiva, Daniel Seidel, and Janis Voigtländer. Partial Evaluation and Program Manipulation (PEPM'11), Proceedings. ACM Press, 2011.
  +
   
 
==Maps==
 
==Maps==
   
;[http://www.gill-warbington.com/home/andy/pub/finite.htm Fast Mergeable Integer Maps]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.5452 Fast Mergeable Integer Maps]
 
:Chris Okasaki and Andy Gill, Workshop on ML, September 1998, pages 77-86.
 
:Chris Okasaki and Andy Gill, Workshop on ML, September 1998, pages 77-86.
   
 
==Tries==
 
==Tries==
   
;[http://www.informatik.uni-bonn.de/~ralf/publications/IAI-TR-98-11.ps.gz Generalizing Generalized Tries]
+
;[http://www.informatik.uni-bonn.de/III/forschung/publikationen/tr/reports/IAI-TR-98-11.ps.gz Generalizing Generalized Tries]
 
:Ralf Hinze. Technical Report IAI-TR-98-11, Institut fr Informatik III, Universitt Bonn, November 1998.
 
:Ralf Hinze. Technical Report IAI-TR-98-11, Institut fr Informatik III, Universitt Bonn, November 1998.
   
 
==Queues==
 
==Queues==
   
;[http://www.informatik.uni-bonn.de/~ralf/publications/ICFP01.pdf A Simple Implementation Technique for Priority Search Queues]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.1149 A Simple Implementation Technique for Priority Search Queues]
 
:Ralf Hinze. In Xavier Leroy, editor, Proceedings of the 2001 International Conference on Functional Programming, Firenze, Italy, September 3-5, 2001.
 
:Ralf Hinze. In Xavier Leroy, editor, Proceedings of the 2001 International Conference on Functional Programming, Firenze, Italy, September 3-5, 2001.
   
;[http://foxnet.cs.cmu.edu/people/cokasaki/papers.html#queues Simple and Efficient Purely Functional Queues and Deques]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.8825 Simple and Efficient Purely Functional Queues and Deques]
 
:Chris Okasaki. Journal of Functional Programming, 5(4):583-592, October 1995.
 
:Chris Okasaki. Journal of Functional Programming, 5(4):583-592, October 1995.
   
Line 113: Line 131:
 
==Heaps==
 
==Heaps==
   
;[http://www.informatik.uni-bonn.de/~ralf/publications/BinomialHeaps.ps.gz Functional Pearl: Explaining binomial heaps]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.3691 Functional Pearl: Explaining binomial heaps]
 
:Ralf Hinze. Journal of Functional Programming. 9(1). January 1999.
 
:Ralf Hinze. Journal of Functional Programming. 9(1). January 1999.
   
 
==Graphs==
 
==Graphs==
   
;[http://www.cse.ogi.edu/~jl/biblio-functional.html Structuring Depth First Search Algorithms in Haskell]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.52.6526 Structuring Depth First Search Algorithms in Haskell]
 
:David King and John Launchbury. Proc. ACM Principles of Programming Languages, San Francisco, 1995.
 
:David King and John Launchbury. Proc. ACM Principles of Programming Languages, San Francisco, 1995.
   
;[http://www.cse.ogi.edu/~jl/ Graph Algorithms with a Functional Flavour]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.9377 Graph Algorithms with a Functional Flavour]
 
:John Launchbury, Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques, Bastad, Sweden, LNCS 925,p. 308-331, 1995 (editors: J. Jeuring, E. Meijer).
 
:John Launchbury, Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques, Bastad, Sweden, LNCS 925,p. 308-331, 1995 (editors: J. Jeuring, E. Meijer).
   
;[http://www.cs.orst.edu/~erwig/papers/abstracts.html#JFP01 Inductive Graphs and Functional Graph Algorithms]
+
;[http://web.engr.oregonstate.edu/~erwig/papers/abstracts.html#JFP01 Inductive Graphs and Functional Graph Algorithms]
 
:Martin Erwig, Journal of Functional Programming Vol. 11, No. 5, 467-492, 2001
 
:Martin Erwig, Journal of Functional Programming Vol. 11, No. 5, 467-492, 2001
   
Line 146: Line 164:
 
==Matrices==
 
==Matrices==
   
;[http://www.dcs.glasgow.ac.uk/jfp/bibliography/References/grantswz1996:143.html Sparse matrix representations in a functional language]
+
;[http://journals.cambridge.org/action/displayJournal?jid=JFP Sparse matrix representations in a functional language]
 
:P.W. Grant, J.A. Sharp, M.F. Webster and X. Zhang, Journal of Functional Programming, 6(1):143-170, January 1996.
 
:P.W. Grant, J.A. Sharp, M.F. Webster and X. Zhang, Journal of Functional Programming, 6(1):143-170, January 1996.
   
Line 171: Line 189:
 
:Ralf Hinze. In Rafael Dueire Lins, editor, 3rd Latin-American Conference on Functional Programming (CLaPF'99), March 1999.
 
:Ralf Hinze. In Rafael Dueire Lins, editor, 3rd Latin-American Conference on Functional Programming (CLaPF'99), March 1999.
   
;[http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/efolds.pdf Disciplined, efficient, generalised folds for nested datatypes]
+
;[http://web.comlab.ox.ac.uk/people/Jeremy.Gibbons/publications/efolds.pdf Disciplined, efficient, generalised folds for nested datatypes]
 
:Clare Martin, Jeremy Gibbons and Ian Bayley (2004). Formal Aspects of Computing 16(1):19-35, 2004.
 
:Clare Martin, Jeremy Gibbons and Ian Bayley (2004). Formal Aspects of Computing 16(1):19-35, 2004.
  +
  +
;[ftp://ftp.kestrel.edu/pub/papers/meertens/nest5.ps Nested Datatypes]
  +
:Lambert Meertens and Richard Bird. Mathematics of Program Construction, MPC'98 (Johan Jeuring, editor), LNCS 1422, pp. 52--67, 1998.
  +
  +
;[http://www.cs.ioc.ee/~tarmo/papers/tfp06.pdf Representing cyclic structures as nested datatypes]
  +
:N. Ghani, M. Hamana, T. Uustalu, V. Vene. In H. Nilsson, ed., Proc. of 7th Symp. on Trends in Functional Programming, TFP 2006 (Nottingham, Apr. 2006), pp. 173-188. Univ. of Nottingham, 2006.
  +
  +
;[http://www.cs.ioc.ee/~tarmo/papers/fossacs03.ps.gz Iteration schemes for higher-order and nested datatypes]
  +
: A. Abel, R. Matthes, T. Uustalu. Theor. Comput. Sci., v. 333, n. 1-2, pp. 3-66, 2005. - ( Elsevier Science) // Conf. version Generalized iteration and coiteration for higher-order nested datatypes in A. D. Gordon, ed., Proc. of 6th Int. Conf. on Foundations of Software Science and Computation Structures, FoSSaCS 2003 (Warsaw, Apr. 2003), v. 2620 of Lect. Notes in Comput. Sci., pp. 54-69. Springer-Verlag, 2003.
   
 
==Systems-level Data Structures==
 
==Systems-level Data Structures==
   
;[http://www.cse.ogi.edu/~diatchki/papers/haskell007-diatchki.ps Strongly Typed Memory Areas -- Programming Systems-Level Data Structures in a Functional Language]
+
;[http://web.cecs.pdx.edu/~mpj/pubs/bytedata.html Strongly Typed Memory Areas -- Programming Systems-Level Data Structures in a Functional Language]
 
:Iavor S. Diatchki (OGI) and Mark P. Jones (Portland State University), Haskell Workshop 2006
 
:Iavor S. Diatchki (OGI) and Mark P. Jones (Portland State University), Haskell Workshop 2006
   
Line 185: Line 212:
   
 
See also [[Research papers/Generics]]
 
See also [[Research papers/Generics]]
  +
  +
[[Category:Research]]

Revision as of 13:55, 19 November 2010

Functional pearl: Trouble shared is trouble halved
Richard Bird and Ralf Hinze. In Johan Jeuring, editor, Proceedings of the ACM SIGPLAN 2003 Haskell Workshop, Uppsala, Sweden, August 28, 2003, pp 1-6.
Manufacturing datatypes
Ralf Hinze. In Chris Okasaki, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages, WAAAPL'99, Paris, France, September 1999, pp. 1-16.
Designing Data Structures Alternative Link
A. Reid, Proceedings of the 1989 Glasgow Functional Programming Workshop, Workshops in Computing series, Springer Verlag, pp 170-181, 1989.
Google's MapReduce Programming Model -- Revisited
Ralf Lämmel, Draft; Online since 2 January, 2006; 26 pages
A probabilistic approach to the problem of automatic selection of data representations
Tyng-Ruey Chuang and Wen L. Hwang, In Proceedings of the 1996 ACM SIGPLAN International Conference on Functional Programming, pages 190-200. Philadephia, Pennsylvania, USA, May 1996.
An Overview of Edison
Chris Okasaki. Haskell Workshop 2000. September 2000
Benchmarking Purely Functional Data Structures
Graeme E. Moss. PhD. Thesis. York University. YCST-2000-01. July 1999.

Lists

See also papers on list fusion

The concatenate vanishes
Philip Wadler. Note. December 1987
Purely Functional Random-Access Lists
Chris Okasaki. Functional Programming Languages and Computer Architecture, June 1995, pages 86-95.
Polymorphic string matching
Richard S. Bird. Proceedings of the 2005 ACM SIGPLAN workshop on Haskell, Tallinn, Estonia. 110 - 115, 2005 ISBN 1-59593-071-X
The Under-Appreciated Unfold
Jeremy Gibbons and Geraint Jones, Proceedings 3rd ACM SIGPLAN Int. Conf. on Functional Programming, ICFP'98, 34(1), ACM Press, New York, 273--279, 1998
When is a function a fold or an unfold?
Jeremy Gibbons, Graham Hutton and Thorsten Altenkirch (2001). In Coalgebraic Methods in Computer Science, April 2001 (Volume 44.1 of Electronic Notes in Theoretical Computer Science).
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.
Concatenate, Reverse and Map Vanish For Free
Janis Voigtländer, International Conference on Functional Programming, Proceedings, vol. 37(9) of SIGPLAN Notices, pp. 14-25, ACM Press, 2002.


Numerics

Enumerating the rationals
Jeremy Gibbons, David Lester, and Richard Bird. Journal of Functional Programming, 16(3):281-292, 2004.

Arrays

An Approach to Fast Arrays in Haskell
Manuel M. T. Chakravarty and Gabriele Keller. In Johan Jeuring and Simon Peyton Jones, editors, lecture notes for The Summer School and Workshop on Advanced Functional Programming 2002. LNCS 2638, Springer-Verlag, pages 27-58, 2003.
Functional Array Fusion
Manuel M. T. Chakravarty and Gabriele Keller. In Xavier Leroy, editor, Proceedings of the Sixth ACM SIGPLAN International Conference on Functional Programming, ACM Press, pp205-216, 2001.
Bootstrapping One-sided Flexible Arrays
Ralf Hinze. In Simon Peyton Jones, editor, Proceedings of the 2002 International Conference on Functional Programming, Pittsburgh, PA, USA, October 4-6, 2002, pp. 2-13.
Numerical Representations as Higher-Order Nested Datatypes
Ralf Hinze. Technical Report IAI-TR-98-12, Institut fr Informatik III, Universitt Bonn, December 1998.
A new array operation
Philip Wadler. Proceedings of the Workshop on Graph Reduction, Santa Fe, New Mexico, J. Fasel and R. Keller, editors, Springer-Verlag, October 1986.
A randomized implementation of multiple functional arrays
Tyng-Ruey Chuang, In Proceedings of the 1994 ACM Conference on Lisp and Functional Programming, pages 173-184. Orlando, Florida, USA, June 1994.
Rewriting Haskell Strings
Duncan Coutts, Don Stewart and Roman Leshchinskiy. PADL 2007.

Trees

Constructing red-black trees
Ralf Hinze. In Chris Okasaki, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages, WAAAPL'99, Paris, France, September 1999, pp. 89-99. The proceedings appear as a technical report of Columbia University, CUCS-023-99.
Perfect trees and bit-reversal permutations
Ralf Hinze. Technical Report IAI-TR-99-4, Institut fr Informatik III, Universitt Bonn, March 1999.
Functional Pearl: A fresh look at binary search trees
Ralf Hinze. Journal of Functional Programming. 2001
Upwards and Downwards Accumulations on Trees
Jeremy Gibbons (1993). In LNCS 669: Mathematics of Program Construction, ed. R. S. Bird, C. C. Morgan and J. C. P. Woodcock, Springer-Verlag, p. 122-138. Revised version appears in Proceedings of the Massey Functional Programming Workshop, ed. E. Ireland and N. Perry, 1992.
Efficient Parallel Algorithms for Tree Accumulations
Jeremy Gibbons, Wentong Cai and David Skillicorn (1994). Science of Computer Programming 23 p1-18.
Linear-Time Breadth-First Tree Algorithms: An Exercise in the Arithmetic of Folds and Zips
Geraint Jones and Jeremy Gibbons (1993). University of Auckland Computer Science Report No. 71, and IFIP Working Group 2.1 working paper 705 WIN-2.
Polytypic Downwards Accumulations
Jeremy Gibbons (1998). In LNCS 1422, Proceedings of Mathematics of Program Construction, Marstrand, Sweden, June 1998.
Diets for Fat Sets
Martin Erwig. Journal of Functional Programming, Vol. 8, No. 6, 627-632, 1998.
Asymptotic Improvement of Computations over Free Monads
Janis Voigtländer. Mathematics of Program Construction (MPC'08), Proceedings, LNCS 5133:388-403, Springer-Verlag, 2008.
Strictification of Circular Programs
Joao Paulo Fernandes, Joao Saraiva, Daniel Seidel, and Janis Voigtländer. Partial Evaluation and Program Manipulation (PEPM'11), Proceedings. ACM Press, 2011.


Maps

Fast Mergeable Integer Maps
Chris Okasaki and Andy Gill, Workshop on ML, September 1998, pages 77-86.

Tries

Generalizing Generalized Tries
Ralf Hinze. Technical Report IAI-TR-98-11, Institut fr Informatik III, Universitt Bonn, November 1998.

Queues

A Simple Implementation Technique for Priority Search Queues
Ralf Hinze. In Xavier Leroy, editor, Proceedings of the 2001 International Conference on Functional Programming, Firenze, Italy, September 3-5, 2001.
Simple and Efficient Purely Functional Queues and Deques
Chris Okasaki. Journal of Functional Programming, 5(4):583-592, October 1995.
Optimal Purely Functional Priority Queues
Gerth Stlting Brodal and Chris Okasaki, Journal of Functional Programming, 6(6), December 1996.

Heaps

Functional Pearl: Explaining binomial heaps
Ralf Hinze. Journal of Functional Programming. 9(1). January 1999.

Graphs

Structuring Depth First Search Algorithms in Haskell
David King and John Launchbury. Proc. ACM Principles of Programming Languages, San Francisco, 1995.
Graph Algorithms with a Functional Flavour
John Launchbury, Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques, Bastad, Sweden, LNCS 925,p. 308-331, 1995 (editors: J. Jeuring, E. Meijer).
Inductive Graphs and Functional Graph Algorithms
Martin Erwig, Journal of Functional Programming Vol. 11, No. 5, 467-492, 2001
Random Access to Abstract Data Types
Martin Erwig. 8th Int. Conf. on Algebraic Methodology and Software Technology (AMAST 2000), LNCS 1816 , 135-149, 2000
Fully Persistent Graphs - Which One to Choose?
Martin Erwig. 9th Int. Workshop on Implementation of Functional Languages (IFL'97), LNCS 1467, 123-140, 1997
Functional Programming with Graphs
Martin Erwig. 2nd ACM SIGPLAN Int. Conf. on Functional Programming (ICFP'97), 52-65, 1997

Collections

Bulk types with class
SL Peyton Jones, Electronic proceedings of the 1996 Glasgow Functional Programming Workshop, Ullapool, July 1996.
Strongly typed heterogeneous collections
Oleg Kiselyov, Ralf Lämmel, and Keean Schupke. Haskell '04: Proceedings of the ACM SIGPLAN workshop on Haskell, Snowbird, Utah, USA, 96--107, 2004

Matrices

Sparse matrix representations in a functional language
P.W. Grant, J.A. Sharp, M.F. Webster and X. Zhang, Journal of Functional Programming, 6(1):143-170, January 1996.

Binary

Heap Compression and Binary I/O in Haskell
Malcolm Wallace and Colin Runciman, Proceedings of the 2nd ACM Haskell Workshop, Amsterdam, the Netherlands, June 1997.
The Bits Between The Lambdas: Binary Data in a Lazy Functional Language
Malcolm Wallace and Colin Runciman. proceedings of the International Symposium on Memory Management, Vancouver, Canada, Oct 1998.

Nested Datatypes

Finger Trees: A Simple General-purpose Data Structure
Ralf Hinze and Ross Paterson, Journal of Functional Programming
De Bruijn Notation as a Nested Datatype
Richard Bird and Ross Paterson. Journal of Functional Programming, vol. 9(1), pp. 77-91, 1999.
Generalised Folds for Nested Datatypes
Richard Bird and Ross Paterson, Formal Aspects of Computing, vol. 11(2), pp. 200-222, 1999.
Polytypic Functions Over Nested Datatypes
Ralf Hinze. In Rafael Dueire Lins, editor, 3rd Latin-American Conference on Functional Programming (CLaPF'99), March 1999.
Disciplined, efficient, generalised folds for nested datatypes
Clare Martin, Jeremy Gibbons and Ian Bayley (2004). Formal Aspects of Computing 16(1):19-35, 2004.
Nested Datatypes
Lambert Meertens and Richard Bird. Mathematics of Program Construction, MPC'98 (Johan Jeuring, editor), LNCS 1422, pp. 52--67, 1998.
Representing cyclic structures as nested datatypes
N. Ghani, M. Hamana, T. Uustalu, V. Vene. In H. Nilsson, ed., Proc. of 7th Symp. on Trends in Functional Programming, TFP 2006 (Nottingham, Apr. 2006), pp. 173-188. Univ. of Nottingham, 2006.
Iteration schemes for higher-order and nested datatypes
A. Abel, R. Matthes, T. Uustalu. Theor. Comput. Sci., v. 333, n. 1-2, pp. 3-66, 2005. - ( Elsevier Science) // Conf. version Generalized iteration and coiteration for higher-order nested datatypes in A. D. Gordon, ed., Proc. of 6th Int. Conf. on Foundations of Software Science and Computation Structures, FoSSaCS 2003 (Warsaw, Apr. 2003), v. 2620 of Lect. Notes in Comput. Sci., pp. 54-69. Springer-Verlag, 2003.

Systems-level Data Structures

Strongly Typed Memory Areas -- Programming Systems-Level Data Structures in a Functional Language
Iavor S. Diatchki (OGI) and Mark P. Jones (Portland State University), Haskell Workshop 2006

Probablistic Programming

Probabilistic Functional Programming in Haskell
Martin Erwig and Steve Kollmansberger. Journal of Functional Programming, Vol. 16, No. 1, 21-34, 2006

See also Research papers/Generics