People Publications Projects Libraries Teaching Master's Projects Events


One of the research themes investigated within the Software Technology Center in the Department of Information and Computing Sciences at Utrecht University is generic programming (GP). Over the last 10 years, we have played a central role in the development of generic programming techniques, languages, and libraries.

What is Generic Programming?

Software development often consists of designing a data type, to which functionality is added. Some functionality is datatype specific, other functionality is defined on almost all data types, and only depends on the structure of the data type. This is called datatype-generic functionality. Examples of datatype-generic functionality are storing a value in a database, editing a value, comparing two values for equality, pretty-printing a value, etc. Larger applications of generic programming are:

  • XML tools such as XML compressors, and type-safe XML data-binding tools;
  • automatic testing;
  • constructing ‘boilerplate’ code that traverses a value of a rich set of mutually-recursive data types, applying real functionality at a small portion of the data type;
  • structure editors such as XML editors, and generic graphical user interfaces;
  • data-conversion tools which for example store a data-type value in a database, or output it as XML, or in a binary format, or . . .


Within several projects we have been developing programming language concepts for generic programming, applications of generic programming, and libraries for generic programming. We have contributed to, and are contributing to several projects:

Are you interested?

We have a nice group working on several aspects of generic programming. But there is always more to do, and you are welcome to contribute.

Master's Student
If you are a master's student at Utrecht University, you can write a thesis on several aspects of generic programming, both on theoretical and more practical aspects. See our master's projects for more information.

PhD Students and Postdocs
We welcome potential PhD students or postdoctoral researchers. At the moment, we have no funding to pay for more positions, but please let us know if you can arrange your own.

Current PhD students include:

Former PhD students include:

Related Links

  • Haskell - Haskell is an advanced purely functional programming language.
  • GHC - The Glasgow Haskell Compiler is a state-of-the-art, open source compiler and interactive environment for Haskell.
Topic revision: r24 - 12 Sep 2009, LambertMeertens

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding UUCS? Send feedback