2. Publications

  1. Work in progress
  2. Books and parts of books
  3. Editorial work
  4. Journal publications
  5. Refereed conference and workshop publications
  6. Theses
  7. Technical reports
  8. Miscellaneous
  9. Notice
By subject:
  1. Category theory: J21, B10, P42, P41, P38, M5.
  2. Codata: B9, J19, J17, P29, P28, P27.
  3. Generic programming: E6, E5, E4, E3, B8, B7, B6, B5, D3, J16, J15, J12, J11, J9, J7, J4, J2, P34, P33, P32, P25, P24, P22, P21, P18, P15, P13, P11, P10, P9, P8, P7, P6, R21, R20, R19, R18, R15, R13, R12, R11, P2, R7, R4, R3.
  4. Purely functional data structures: J18, J14, J10, J8, J6, J5, J4, J1, P19, P17, P14, P5, P4, R14, R10, R9, R8, R5, R4, M4.
  5. Language design: P26.
  6. Program derivation: E2, J13, P30, P20, P16, R17, R16, X1.
  7. Monads: P37, J20, J3, P12, P1, R6, R2.
  8. Software reliability: P31, P23.
  9. Functional programming in education: P3, B1.
  10. Haskell: E1, M3, M2.
  11. Strictness analysis: B3, D2.
  12. Deductive databases: B2.
  13. Implementation: P35, R1.
  14. Mathematical logic: M1.
  15. Type systems: B4, D1, R22.
Here is a BibTeX file containing my publications.

2.0 Work in progress

X1 Program derivation.
Ralf Hinze and Ross Paterson. Derivation of a Typed Functional LR Parser. (314K PDF)

2.1 Books and parts of books

B11 Algorithm design. NEW
Ralf Hinze, José Pedro Magalhães, and Nicolas Wu. A duality of sorts. In Peter Achten and Pieter Koopman, editors, The Beauty of Functional Code. Lecture Notes in Computer Science 8106, pp. 151-167, 2013. ©Springer. (230K PDF, DOI: 10.1007/978-3-642-40355-2_11)
B10 Category theory. NEW
Ralf Hinze. Generic programming with adjunctions. In Jeremy Gibbons, editor, Spring School on Generic and Indexed Programming (SSGIP 2010), Oxford, UK, 22-26 March 2010, Lecture Notes in Computer Science 7470, pp. 47-129. ©Springer, 2012. (Slides: 546K PDF; lecture notes: 816K PDF, DOI: 10.1007/978-3-642-32202-0_2)
B9 Codata.
Ralf Hinze. Reasoning about codata. In Zoltán Horváth, Rinus Plasmeijer, and Viktória Zsók, editors, Third Central European Functional Programming School (CEFP 2009), Komarno, Slovakia, 2-4 June 2009, Lecture Notes in Computer Science 6299, pp. 42-93. ©Springer, 2010. (Lecture notes: 541K PDF, DOI: 10.1007/978-3-642-17685-2_3)
B8 Generic programming.
Ralf Hinze and Andres Löh. Generic programming, now! In Roland Backhouse, Jeremy Gibbons, Ralf Hinze, and Johan Jeuring, editors, Datatype-Generic Programming, Nottingham, UK, 24-27 April 2006, Lecture Notes in Computer Science 4719, pp. 150-208. ©Springer, 2007. (Lecture notes: 412K PDF, DOI: 10.1007/978-3-540-76786-2_3)
B7 Generic programming.
Ralf Hinze, Johan Jeuring, and Andres Löh. Comparing approaches to generic programming. In Roland Backhouse, Jeremy Gibbons, Ralf Hinze, and Johan Jeuring, editors, Datatype-Generic Programming, Nottingham, UK, 24-27 April 2006, Lecture Notes in Computer Science 4719, pp. 72-149. ©Springer, 2007. (Lecture notes: 366K PDF, DOI: 10.1007/978-3-540-76786-2_2)
B6 Generic programming.
Ralf Hinze and Johan Jeuring. Generic Haskell: Applications. In Roland Backhouse and Jeremy Gibbons, editors, Generic Programming: Advanced Lectures, Oxford, UK, 26-30 August 2002. Lecture Notes in Computer Science 2793, pp. 57-96. ©Springer, 2003. (Lecture notes: 295K PDF, DOI: 10.1007/978-3-540-45191-4_2)
B5 Generic programming.
Ralf Hinze and Johan Jeuring. Generic Haskell: Practice and theory. In Roland Backhouse and Jeremy Gibbons, editors, Generic Programming: Advanced Lectures, Oxford, UK, 26-30 August 2002. Lecture Notes in Computer Science 2793, pp. 1-56. ©Springer, 2003. (Slides: 288K PDF; lecture notes: 360K PDF, DOI: 10.1007/978-3-540-45191-4_1)
B4 Type systems.
Ralf Hinze. Fun with phantom types. In Jeremy Gibbons and Oege de Moor, editors, The Fun of Programming, Cornerstones of Computing, pp. 245-262. Palgrave Macmillan, 2003. ISBN 1-4039-0772-2 hardback, ISBN 0-333-99285-7 paperback. (182K PDF)
B3 Strictness analysis.
Ralf Hinze. Projektionsbasierte Striktheitsanalyse. In Ausgezeichnete Informatikdissertationen 1996, pp. 46-61. Teubner, Stuttgart, 1998. ISBN 3-519-02646-5. (173K PDF)
B2 Deductive databases.
Armin B. Cremers, Ulrike Griefahn, and Ralf Hinze. Deduktive Datenbanken - Eine Einführung aus der Sicht der logischen Programmierung. Künstliche Intelligenz. Vieweg, Braunschweig/Wiesbaden, 1994. ISBN 3-528-04700-3. Prototyp des deduktiven Datenbanksystems.
B1 Functional programming in education.
Ralf Hinze. Einführung in die funktionale Programmierung mit Miranda. B.G. Teubner, Stuttgart, 1992. ISBN 3-519-02287-7.

2.2 Editorial work

E7 IFL '12. NEW
Ralf Hinze (editor). Implementation and Application of Functional Languages. 24th International Symposium, IFL 2012, Oxford, UK, August 30-September 1, 2012, Revised Selected Papers. Lecture Notes in Computer Science 8241. ©Springer, 2013. (Front matter: 546K PDF, DOI: 10.1007/978-3-642-41582-1)
E6 Generic programming.
Ralf Hinze (editor). Special issue on generic programming. Journal of Functional Programming, 20(3-4):211-212, 2010. (Editorial: 43K PDF, DOI: 10.1017/S0956796810000286)
E5 Generic programming.
Ralf Hinze and Don Syme (editors), Proceedings of the 2008 ACM SIGPLAN workshop on Generic Programming (WGP' 08), Victoria, BC, Canada, 20 September 2008. ©ACM.
E4 Generic programming.
Ralf Hinze (editor), Proceedings of the 2006 ACM SIGPLAN workshop on Generic Programming (WGP' 06), Portland, Oregon, USA, 16 September 2006. ©ACM.
E3 Generic programming.
Roland Backhouse, Jeremy Gibbons, Ralf Hinze, and Johan Jeuring (editors), Datatype-Generic Programming, International Spring School (SSDGP 2006), Nottingham, UK, 24-27 April 2006, Lecture Notes in Computer Science 4719. ©Springer, 2007. (DOI: 10.1007/978-3-540-76786-2)
E2 Functional Pearls.
Ralf Hinze (editor). Special issue on functional pearls. Journal of Functional Programming, 14(6), 2004. (Editorial: 58K PDF, DOI: 10.1017/S0956796804005271)
E1 Haskell.
Ralf Hinze (editor). Proceedings of the 2001 ACM SIGPLAN Haskell Workshop, Florence, Italy, 2 September 2001. Electronic Notes in Theoretical Computer Science, 59. The preliminary proceedings appeared as a technical report of Universiteit Utrecht, UU-CS-2001-62. (4979K PDF).

2.3 Journal publications

J21 Category theory. NEW
Ralf Hinze. Adjoint folds and unfolds - an extended study. Science of Computer Programming, 78(11):2108-2159, 2013. (559K PDF, DOI: 10.1016/j.scico.2012.07.011)
J20 Monads. NEW
Ralf Hinze. Functional Pearl: Typed Quote/Antiquote - Or: Compile-time Parsing. Journal of Functional Programming, 21(3):219–234, 2011. (470K PDF, DOI: 10.1017/S0956796811000050)
J19 Codata.
Ralf Hinze. Concrete Stream Calculus - An extended study. Journal of Functional Programming, 20(5-6):463–535, 2011. (425K PDF, DOI: 10.1017/S0956796810000213)
J18 Purely functional data structures.
Ralf Hinze. Functional Pearl: Purely functional 1-2 brother trees. Journal of Functional Programming, 19(6):633-644, 2009. (144K PDF, DOI: 10.1017/S0956796809007333)
J17 Codata.
Ralf Hinze. Functional Pearl: The Bird tree. Journal of Functional Programming, 19(5):491–508, 2009. (208K PDF, DOI: 10.1017/S0956796809990116)
J16 Generic programming.
Ralf Hinze and Andres Löh. Generic Programming in 3D. Science of Computer Programming, MPC Special Issue, 74(8):590-628, June 2009. NB. This article is a revised and extended version of the papers P22 and P25. (449K PDF, DOI: 10.1016/j.scico.2007.10.006)
J15 Generic programming.
Ralf Hinze. Generics for the masses. Journal of Functional Programming, ICFP 2004 Special Issue, 16(4-5):451-483, 2006. NB. This article is a revised and extended version of the paper P21. (278K PDF, DOI: 10.1017/S0956796806006022)
J14 Purely functional data structures.
Ralf Hinze and Ross Paterson. Finger trees: a simple general-purpose data structure. Journal of Functional Programming, 16(2):197-217, 2006. (224K PDF, DOI: 10.1017/S0956796805005769)
J13 Program derivation.
Ralf Hinze. Theoretical Pearl: Church numerals, twice! Journal of Functional Programming, 15(1):1-13, 2005. (202K PDF, DOI: 10.1017/S0956796804005313)
J12 Generic programming.
Ralf Hinze, Johan Jeuring, and Andres Löh. Type-indexed data types. Science of Computer Programming, MPC Special Issue, 51(1-2):117-151, May 2004. NB. This article is a revised and extended version of the paper P15. (302K PDF, DOI: 10.1016/j.scico.2003.07.001)
J11 Generic programming.
Ralf Hinze. Functional Pearl: Formatting: a class act. Journal of Functional Programming, 13(5):935-944, 2003. (66K gzipped postscript, DOI: 10.1017/S0956796802004367)
J10 Purely functional data structures.
Ralf Hinze. Functional Pearl: A fresh look at binary search trees. Journal of Functional Programming, 12(6):601-607, 2002. (56K gzipped postscript, DOI: 10.1017/S0956796801004269)
J9 Generic programming.
Ralf Hinze. Polytypic values possess polykinded types. Science of Computer Programming, MPC Special Issue, 43(2-3):129-159, May-June 2002. NB. This article is a revised and extended version of the paper P9. (262K gzipped postscript, DOI: 10.1016/S0167-6423(02)00025-4)
J8 Purely functional data structures.
Ralf Hinze and Johan Jeuring. Functional Pearl: Weaving a web. Journal of Functional Programming, 11(6):681-689, 2001. (69K gzipped postscript, DOI: 10.1017/S0956796801004129)
J7 Generic programming.
Ralf Hinze. Polytypic Programming with Ease. Journal of Functional and Logic Programming, 2001(3), July 2001. NB. This article is a revised and extended version of the paper P7. (123K gzipped postscript, abstract and download)
J6 Purely functional data structures.
Ralf Hinze. Manufacturing datatypes. Journal of Functional Programming, Special Issue on Algorithmic Aspects of Functional Programming Languages, 11(5):493-524, 2001. NB. This article is a revised version of the paper P4. (144K gzipped postscript, DOI: 10.1017/S095679680100404X)
J5 Purely functional data structures.
Ralf Hinze. Functional Pearl: Perfect trees and bit-reversal permutations. Journal of Functional Programming, 10(3):305-317, 2000. NB. This article is a revised version of the report R8. (81K gzipped postscript, DOI: 10.1017/S0956796800003701)
J4 Generic programming, purely functional data structures.
Ralf Hinze. Generalizing generalized tries. Journal of Functional Programming, 10(4):327-351, 2000. NB. This article is a throughly revised version of the report R4. (110K gzipped postscript, accompanying material, DOI: 10.1017/S0956796800003713)
J3 Monads.
Ralf Hinze. Prolog's control constructs in a functional setting - Axioms and implementation. International Journal of Foundations of Computer Science, 12(2):125-170, 2001. NB. This article is a revised and extended version of the paper P1. (129K gzipped postscript, DOI: 10.1142/S0129054101000436)
J2 Generic programming.
Ralf Hinze. Polytypic functions over nested datatypes. Discrete Mathematics and Theoretical Computer Science, 3(4):193-214, September 1999. NB. This article is a revised version of the report R3 (see also P2). (abstract and download)
J1 Purely functional data structures.
Ralf Hinze. Functional Pearl: Explaining binomial heaps. Journal of Functional Programming, 9(1):93-104, 1999. (84K gzipped postscript, accompanying material, DOI: 10.1017/S0956796899003317)

2.4 Refereed conference and workshop publications

P43 Algorithm design. NEW
Fritz Henglein and Ralf Hinze. Sorting and searching by distribution: From generic discrimination to generic tries. In Chung-chieh Shan, editor, Proceedings of the 11th Asian Symposium on Programming Languages and Systems (APLAS 2013), Melbourne, Australia, December 9-11, 2013, Lecture Notes in Computer Science 8301, pp. 315-332. ©Springer. (274K PDF, DOI: 10.1007/978-3-319-03542-0_23)
P42 Category theory. NEW
Ralf Hinze and Nicolas Wu. Histo- and dynamorphisms revisited. In Jacques Carette and Jeremiah Willcock, editors, Proceedings of the 9th ACM SIGPLAN Workshop on Generic Programming, WGP '13, Boston, Massachusetts, USA, 28 September 2013, pp. 1-12. ©ACM. (600K PDF, DOI: 10.1145/2502488.2502496)
P41 Category theory. NEW
Ralf Hinze, Nicolas Wu, and Jeremy Gibbons. Unifying structured recursion schemes. In Tarmo Uustalu, editor, Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming, ICFP '13, Boston, Massachusetts, USA, 25--27 September 2013, pp. 209-220. ©ACM. (599K PDF, DOI: 10.1145/2500365.2500578)
P40 Category theory.
Ralf Hinze, Daniel W.H. James, Thomas Harper, Nicolas Wu, and José Pedro Magalhães. Sorting with bialgebras and distributive laws. In Ronald Garcia and Andres Löh, editors, Proceedings of the 8th ACM SIGPLAN workshop on Generic programming, WGP '12, Copenhagen, Denmark, 9 September 2012, pp. 69-80. ©ACM. (598K PDF, DOI: 10.1145/2364394.2364405)
P39 Category theory.
Ralf Hinze. Kan extensions for program optimisation - Or: Art and Dan explain an old trick. In Jeremy Gibbons and Pablo Nogueira, editors, 11th International Conference on Mathematics of Program Construction (MPC '12), Madrid, Spain, 25--27 June 2012, Lecture Notes in Computer Science 7342, pp 324–362. ©Springer. (420K PDF, DOI: 10.1007/978-3-642-31113-0_16)
P38 Category theory.
Ralf Hinze and Nicolas Wu. Towards a categorical foundation for generic programming. In Jaakko Järvi and Shin-Cheng Mu, editors, Proceedings of the 7th ACM SIGPLAN workshop on Generic programming (WGP '11), Tokyo, Japan, 18 September 2011, pp. 47-58. ©ACM. (553K PDF, DOI: 10.1145/2036918.2036926)
P37 Monads.
Jeremy Gibbons and Ralf Hinze. Just do it: simple monadic equational reasoning. In Olivier Danvy, editor, Proceeding of the 16th ACM SIGPLAN international conference on Functional programming (ICFP '11), Tokyo, Japan, 19--21 September 2011, pp. 2-14. ©ACM. (496K PDF, DOI: 10.1145/2034773.2034777)
P36 Category theory.
Ralf Hinze and Daniel W.H. James. Proving the unique fixed-point principle correct - an adventure with category theory. In Olivier Danvy, editor, Proceeding of the 16th ACM SIGPLAN international conference on Functional programming (ICFP '11), Tokyo, Japan, 19--21 September 2011, pp. 359-371. ©ACM. (658K PDF, DOI: 10.1145/2034773.2034821)
P35 Implementation.
Ralf Hinze, Daniel W.H. James and Tom Harper. Theory and practice of fusion. In Jurriaan Hage, editor, Proceedings of the 22nd Symposium on the Implementation and Application of Functional Languages (IFL '10), Alphen aan den Rijn, The Netherlands, 1-3 September 2010, pp. 402-421. (197K PDF, pre-proceedings)
P34 Generic programming.
Ralf Hinze and Daniel W.H. James. Reason isomorphically! In Bruno C.d.S. Oliveira and Marcin Zalewski, editors, Proceedings of the 6th ACM SIGPLAN workshop on Generic programming (WGP '10), Baltimore, Maryland, USA, 26 September 2010, pp. 85-96. ©ACM. (255K PDF, DOI: 10.1145/1863495.1863507)
P33 Generic programming.
Ralf Hinze. Type fusion. In Dusko Pavlovic and Michael Johnson, editors, Proceedings of the Thirteenth International Conference on Algebraic Methodology And Software Technology (AMAST '10), Manoir St-Castin, Québec, Canada, 23-25 June 2010. Lecture Notes in Computer Science 6486, pp. 92–110, ©Springer. (204K PDF, DOI: 10.1007/978-3-642-17796-5_6)
P32 Generic programming.
Ralf Hinze. Adjoint folds and unfolds, or: Scything through the thicket of morphisms. In Claude Bolduc, Jules Desharnais and Béchir Ktari, editors, Proceedings of the 10th International Conference on Mathematics of Program Construction (MPC '10), Manoir St-Castin, Québec, Canada, 21-23 June 2010. Lecture Notes in Computer Science 6120, pp. 195-228, ©Springer. (297K PDF, DOI: 10.1007/978-3-642-13321-3_13)
P31 Software reliability.
Daniel W.H James and Ralf Hinze. A reflection-based proof tactic for lattices in Coq (extended abstract). In Zoltán Horváth and Viktória Zsók, editors, Post-conference proceedings of the 10th Symposium on Trends in Functional Programming (TFP 2009), Komarno, Slovakia, 2-4 June 2009. 11 pages. Intellect. (236K PDF, proceedings)
P30 Program derivation.
Ralf Hinze. Functional pearl: la tour d'Hanoï. In Andrew Tolmach, editor, Proceedings of the 14th ACM SIGPLAN international conference on Functional Programming (ICFP '09), Edinburgh, Scotland, 31st August - 2nd September 2009, pp. 3-10. ©ACM. (225K PDF, DOI: 10.1145/1596550.1596555)
P29 Codata.
Ralf Hinze. Scans and Convolutions - A Calculational Proof of Moessner's Theorem. In Sven-Bodo Scholz, editor, Post-proceedings of the 20th International Symposium on the Implementation and Application of Functional Languages (IFL '08), University of Hertfordshire, UK, 10-12 September 2008. Lecture Notes in Computer Science 5836, pp. 1-24. ©Springer. (428K PDF)
P28 Codata.
Ralf Hinze. Functional pearl: streams and unique fixed points. In Peter Thiemann, editor, Proceedings of the 13th ACM SIGPLAN international conference on Functional Programming (ICFP '08), Victoria, British Columbia, Canada, 22-24 September 2008, pp. 189-200. ©ACM. (210K PDF, DOI: 10.1145/1411204.1411232)
P27 Codata.
Ralf Hinze. Exploiting unique fixed points (invited lecture). In Philippe Audebaud and Christine Paulin-Mohring, editors, Proceedings of the 9th International Conference on Mathematics of Program Construction (MPC '08), Marseille (Luminy), France, 15-18 July 2008. Lecture Notes in Computer Science 5133, p. 1, ©Springer. (33K PDF, DOI: 10.1007/978-3-540-70594-9_1)
P26 Language design.
Andres Löh and Ralf Hinze. Open data types and open functions. In Michael Maher, editor, Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP '06), Venice, Italy, 10-12 July 2006, pp. 133-144. ©ACM. (196K PDF, see also here, DOI: 10.1145/1140335.1140352)
P25 Generic programming.
Ralf Hinze and Andres Löh. "Scrap Your Boilerplate" revolutions. In Tarmo Uustalu, editor, Proceedings of the 8th International Conference on Mathematics of Program Construction (MPC '06), Kuressaare, Estonia, 3-5 July 2006. Lecture Notes in Computer Science 4014, pp. 180-208, ©Springer. (296K PDF, see also here, DOI: 10.1007/11783596_13)
P24 Generic programming.
Bruno C.d.S. Oliveira, Ralf Hinze and Andres Löh. Generics as a library. In Henrik Nilsson, editor, Proceedings of the Seventh Symposium on Trends in Functional Programming (TFP' 06), Nottingham, UK, 19-21 April 2006, pp. 1-15. Intellect. (160K PDF, proceedings)
P23 Software reliability.
Ralf Hinze, Johan Jeuring and Andres Löh. Typed contracts for functional programming. In Masimi Hagiya and Philip Wadler, editors, Proceedings of the Eighth International Symposium on Functional and Logic Programming (FLOPS '06), Fuji Susono, Japan, 24-26 April 2006. Lecture Notes in Computer Science 3945, pp. 208-225, ©Springer. (213K PDF, see also here, DOI: 10.1007/11737414_15)
P22 Generic programming.
Ralf Hinze, Andres Löh and Bruno C. d. S. Oliveira. "Scrap Your Boilerplate" reloaded. In Masimi Hagiya and Philip Wadler, editors, Proceedings of the Eighth International Symposium on Functional and Logic Programming (FLOPS '06), Fuji Susono, Japan, 24-26 April 2006. Lecture Notes in Computer Science 3945, pp. 13-29, ©Springer. (187K PDF, see also here, DOI: 10.1007/11737414_3)
P21 Generic programming.
Ralf Hinze. Generics for the masses. In Kathleen Fisher, editor, Proceedings of the ninth ACM SIGPLAN international conference on Functional Programming (ICFP '04), Snowbird, Utah, 19-22 September 2004, pp. 236-243. ©ACM. (121K PDF, DOI: 10.1145/1016850.1016882)
P20 Program derivation.
Ralf Hinze. An algebra of scans. In Dexter Kozen, editor, Proceedings of the Seventh International Conference on Mathematics of Program Construction (MPC '04), Stirling, Scotland, UK, 12-14 July 2004. Lecture Notes in Computer Science 3125, pp. 186-210, ©Springer. (283K PDF, DOI: 10.1007/978-3-540-27764-4_11)
P19 Purely functional data structures.
Richard Bird and Ralf Hinze. Functional pearl: Trouble shared is trouble halved. In Johan Jeuring, editor, Proceedings of the 2003 ACM SIGPLAN workshop on Haskell (Haskell '03), Uppsala, Sweden, 28 August 2003, pp. 1-6. ©ACM. (78K PDF, DOI: 10.1145/871895.871896)
P18 Generic programming.
James Cheney and Ralf Hinze. A lightweight implementation of generics and dynamics. In Manuel M.T. Chakravarty, editor, Proceedings of the 2002 ACM SIGPLAN workshop on Haskell (Haskell '02), Pittsburgh, PA, USA, 3 October 2002, pp. 90-104. ©ACM. (114K PDF, 64K gzipped postscript, DOI: 10.1145/581690.581698)
P17 Purely functional data structures.
Ralf Hinze. Bootstrapping one-sided flexible arrays. In Simon Peyton Jones, editor, Proceedings of the seventh ACM SIGPLAN international conference on Functional programming (ICFP '02), Pittsburgh, PA, USA, 4-6 October 2002, pp. 2-13. ©ACM. (120K PDF, 62K gzipped postscript, DOI: 10.1145/581478.581480)
P16 Program derivation.
Ralf Hinze. Constructing tournament representations: An exercise in pointwise relational programming. In Eerke Boiten and Bernhard Möller, editors, Proceedings of the Sixth International Conference on Mathematics of Program Construction (MPC '02), Dagstuhl, Germany, 8-10 July 2002. Lecture Notes in Computer Science 2386, pp. 131-147. ©Springer. (192K PDF, 71K gzipped postscript, DOI: 10.1007/3-540-45442-X_9)
P15 Generic programming.
Ralf Hinze, Johan Jeuring, Andres Löh. Type-indexed data types. In Eerke Boiten and Bernhard Möller, editors, Proceedings of the Sixth International Conference on Mathematics of Program Construction (MPC '02), Dagstuhl, Germany, 8-10 July 2002. Lecture Notes in Computer Science 2386, pp. 148-174. ©Springer. (281K PDF, 101K gzipped postscript, DOI: 10.1007/3-540-45442-X_10)
P14 Purely functional data structures.
Ralf Hinze. A simple implementation technique for priority search queues. In Xavier Leroy, editor, Proceedings of the sixth ACM SIGPLAN international conference on Functional programming (ICFP '01), Florence, Italy, 3-5 September 2001, pp. 110-121. ©ACM. (446K PDF, 1023K gzipped postscript, the copy is posted by permission of ACM and may not be redistributed, DOI: 10.1145/507635.507650)
P13 Generic programming.
Ralf Hinze and Simon Peyton Jones. Derivable Type Classes. In Graham Hutton, editor. Proceedings of the 2000 ACM SIGPLAN Haskell Workshop, Montreal, Canada, 17 September 2000. Volume 41(1) of Electronic Notes in Theoretical Computer Science, Elsevier Science, August 2001. (preliminary version: 89K gzipped postscript, final version: 119K gzipped postscript, DOI: 10.1016/S1571-0661(05)80542-0)
P12 Monads.
Ralf Hinze. Deriving backtracking monad transformers. In Phil Wadler, editor, Proceedings of the fifth ACM SIGPLAN international conference on Functional programming (ICFP '00) Montreal, Canada, 18-20 September 2000, pp. 186-197. ©ACM. (71K gzipped postscript, the copy is posted by permission of ACM and may not be redistributed, DOI: 10.1145/351240.351258)
P11 Generic programming.
Ralf Hinze. Memo functions, polytypically! In Johan Jeuring, editor, Proceedings of the Second Workshop on Generic Programming (WGP '00), Ponte de Lima, Portugal, 6 July 2000, pp. 17-32. (73K gzipped postscript. NB. This is an updated version that supersedes the same paper in the proceedings.)
P10 Generic programming.
Ralf Hinze. Efficient generalized folds. In Johan Jeuring, editor, Proceedings of the Second Workshop on Generic Programming (WGP '00), Ponte de Lima, Portugal, 6 July 2000, pp. 1-16. (69K gzipped postscript)
P9 Generic programming.
Ralf Hinze. Polytypic values possess polykinded types. In Roland Backhouse and José Oliveira, editors, Proceedings of the Fifth International Conference on Mathematics of Program Construction (MPC '00), Ponte de Lima, Portugal, 3-5 July 2000. Lecture Notes in Computer Science 1837, pp. 2-27. ©Springer. This paper is a revised version of the report R13. (106K gzipped postscript, DOI: 10.1007/10722010_2)
P8 Generic programming.
Ralf Hinze. A new approach to generic functional programming. In Thomas W. Reps, editor, Proceedings of the 27th Annual ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages (POPL '00), Boston, Massachusetts, 19-21 January 2000, pp. 119-132. ©ACM. NB. This paper is a revised version of the report R12. (114K gzipped postscript, the copy is posted by permission of ACM and may not be redistributed, DOI: 10.1145/325694.325709)
P7 Generic programming.
Ralf Hinze. Polytypic programming with ease (extended abstract). In Aart Middeldorp and Taisuke Sato, editors, Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming (FLOPS '99), Tsukuba, Japan, 11-13 November 1999. Lecture Notes in Computer Science 1722, pp. 21-36. ©Springer. NB. This paper is an extended abstract of the report R7. (84K gzipped postscript, DOI: 10.1007/10705424_2)
P6 Generic programming.
Ralf Hinze. A Generic programming extension for Haskell. In Erik Meijer, editor, Proceedings of the Third Haskell Workshop, Paris, France, 1 October 1999. The proceedings appeared as a technical report of Universiteit Utrecht, UU-CS-1999-28. (73K gzipped postscript)
P5 Purely functional data structures.
Ralf Hinze. Constructing red-black trees. In Chris Okasaki, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages (WAAAPL '99), Paris, France, 30 September 1999, pp. 89-99. The proceedings appear as a technical report of Columbia University, CUCS-023-99. NB. This paper is a revised version of the report R10. (65K gzipped postscript)
P4 Purely functional data structures.
Ralf Hinze. Manufacturing datatypes. In Chris Okasaki, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages (WAAAPL '99), Paris, France, 30 September 1999, pp. 1-16. The proceedings appear as a technical report of Columbia University, CUCS-023-99. NB. This paper is a revised version of the report R9. (56K gzipped postscript)
P3 Functional programming in education.
Robert Giegerich, Ralf Hinze and Stefan Kurtz. Straight to the heart of computer science via functional programming. In Matthias Felleisen, Michael Hanus and Simon Thompson, editors, Proceedings of the Workshop on Functional and Declarative Programming in Education (FDPE '99), Paris, France, 29 September 1999, pp. 1-5. The proceedings appear as a technical report of Rice University, Rice COMP TR99-346. (28K gzipped postscript)
P2 Generic programming.
Ralf Hinze. Polytypic functions over nested datatypes (extended abstract). In Rafael Dueire Lins, editor, Proceedings of the 3rd Latin-American Conference on Functional Programming (CLaPF'99), Recife, Brazil, 8 March 1999. NB. This paper is an extended abstract of the report R3. (74K gzipped postscript)
P1 Monads.
Ralf Hinze. Prological features in a functional setting - axioms and implementations. In Masahiko Sato and Yoshihito Toyama, editors, Proceedings of the Third Fuji International Symposium on Functional and Logic Programming (FLOPS '98), Kyoto University, Japan, 2-4 April 1998, pp. 98-122. World Scientific, Singapore, New Jersey, London, Hong Kong. ISBN 981-02-3384-1. (89K gzipped postscript)

2.5 Theses

D3 Generic programming.
Ralf Hinze. Generic Programs and Proofs. Habilitationsschrift, Universität Bonn, October 2000. (413K gzipped postscript, 1050K PDF)
D2 Strictness analysis.
Ralf Hinze. Projection-based Strictness Analysis - Theoretical and Practical Aspects. Inauguraldissertation, Universität Bonn, November 1995. (843K gzipped postscript)
D1 Type systems.
Ralf Hinze. Typsysteme und Typinferenzsysteme. Diplomarbeit, Universität Dortmund, Mai 1989.

2.6 Technical reports

R22 Type systems.
James Cheney and Ralf Hinze. First-class phantom types. Technical Report TR2003-1901, Cornell University, 2003.
R21 Generic programming.
Ralf Hinze and Johan Jeuring. Generic Haskell: Applications. Technical Report UU-CS-2003-16, Department of Computer Science, Utrecht University, 2003.
R20 Generic programming.
Ralf Hinze and Johan Jeuring. Generic Haskell: Practice and theory. Technical Report UU-CS-2003-15, Department of Computer Science, Utrecht University, 2003.
R19 Generic programming.
Ralf Hinze, Johan Jeuring, and Andres Löh. Type-indexed data types. Technical Report UU-CS-2002-11, Department of Computer Science, Utrecht University, 2002.
R18 Generic programming.
Peter Achten and Ralf Hinze. Combining generics and dynamics. Technical Report NIII-R0206, Nijmegen Institute for Computing and Information Sciences, University of Nijmegen, July 2002.
R17 Program derivation.
Ralf Hinze. Church numerals, twice!. Technical Report IAI-TR-2002-3, Institut für Informatik III, Universität Bonn, February 2002.
R16 Program derivation.
Ralf Hinze. Constructing tournament representations: An exercise in pointwise relational programming. Technical Report IAI-TR-2002-2, Institut für Informatik III, Universität Bonn, February 2002.
R15 Generic programming.
Dave Clarke, Ralf Hinze, Johan Jeuring, Andres Löh, and Jan de Wit. The Generic Haskell user's guide. Technical Report UU-CS-2001-26, Department of Computer Science, Utrecht University, 2001.
R14 Purely functional data structures.
Ralf Hinze. A Simple Implementation Technique for Priority Search Queues. Technical Report UU-CS-2001-09, Department of Computer Science, Utrecht University, March 2001. (843K gzipped postscript, 773K PDF, accompanying material)
R13 Generic programming.
Ralf Hinze. Polytypic values possess polykinded types. Technical Report IAI-TR-99-15, Institut für Informatik III, Universität Bonn, December 1999. (102K gzipped postscript)
R12 Generic programming.
Ralf Hinze. A New Approach to Generic Functional Programming. Technical Report IAI-TR-99-9, Institut für Informatik III, Universität Bonn, July 1999. (111K gzipped postscript)
R11 Generic programming.
Ralf Hinze. Efficient generalized folds. Technical Report IAI-TR-99-8, Institut für Informatik III, Universität Bonn, June 1999. (75K gzipped postscript)
R10 Purely functional data structures.
Ralf Hinze. Constructing red-black trees. Technical Report IAI-TR-99-6, Institut für Informatik III, Universität Bonn, May 1999. (94K gzipped postscript)
R9 Purely functional data structures.
Ralf Hinze. Manufacturing datatypes. Technical Report IAI-TR-99-5, Institut für Informatik III, Universität Bonn, April 1999. (95K gzipped postscript)
R8 Purely functional data structures.
Ralf Hinze. Perfect trees and bit-reversal permutations. Technical Report IAI-TR-99-4, Institut für Informatik III, Universität Bonn, March 1999. (75K gzipped postscript)
R7 Generic programming.
Ralf Hinze. Polytypic programming with ease. Technical Report IAI-TR-99-2, Institut für Informatik III, Universität Bonn, February 1999. (106K gzipped postscript)
R6 Monads.
Ralf Hinze. Deriving monad transformers. Technical Report IAI-TR-99-1, Institut für Informatik III, Universität Bonn, January 1999. (95K gzipped postscript)
R5 Purely functional data structures.
Ralf Hinze. Numerical Representations as Higher-Order Nested Datatypes. Technical Report IAI-TR-98-12, Institut für Informatik III, Universität Bonn, December 1998. (190K gzipped postscript)
R4 Generic programming, purely functional data structures.
Ralf Hinze. Generalizing Generalized Tries. Technical Report IAI-TR-98-11, Institut für Informatik III, Universität Bonn, November 1998. (96K gzipped postscript)
R3 Generic programming.
Ralf Hinze. Polytypic Functions Over Nested Datatypes. Technical Report IAI-TR-98-10, Institut für Informatik III, Universität Bonn, October 1998. (92K gzipped postscript)
R2 Monads.
Ralf Hinze. Monadic-style backtracking. Technical Report IAI-TR-96-9, Institut für Informatik III, Universität Bonn, October 1996. NB. This report is outdated. (88K gzipped postscript)
R1 Implementation.
Ralf Hinze. The categorical abstract machine: Basics and enhancments. Technical Report IAI-TR-92-1, Institut für Informatik III, Universität Bonn, December 1992. (140K gzipped postscript)

2.7 Miscellaneous

M5 Category theory.
Ralf Hinze and Nicolas Wu. Squiggoling with bialgebras: Recursion schemes from comonads revisited. Liber amicorum voor Doaitse Swierstra, May 2013. (Chapter: 270K PDF, liber amicorum)
M4 Purely functional data structures.
Ralf Hinze. Book review: "Purely Functional Data Structures", by Chris Okasaki. Journal of Functional Programming, 9(5):577-578, September 1999. (27K gzipped postscript)
M3 Haskell.
Simon Peyton Jones [editor], John Hughes [editor], 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. Standard libraries for the Haskell 98 programming language. February 1999. (The Haskell 98 Online Report)
M2 Haskell.
Simon Peyton Jones [editor], John Hughes [editor], 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. Haskell 98 - A non-strict, purely functional language. February 1999. (The Haskell 98 Online Report)
M1 Mathematical logic.
Armin B. Cremers, Elmar Eder, and Ralf Hinze. Die Rolle der mathematischen Logik in der künstlichen Intelligenz. In Künstliche Intelligenz: Leitvorstellungen und Verantwortbarkeit, Band 1: Diskussionsgrundlage. Verein Deutscher Ingenieure, 1993.

2.8 Notice

The documents contained in this page are included by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit written permission of the copyright holder.


Ralf Hinze, Ralf.Hinze@comlab.ox.ac.uk, 1st January 2014.

Valid HTML 4.01!