One of the research themes investigated within the Software Technology Center
in the Department of Information and Computing Sciences
is generic programming
(GP). Over the last 10 years, we have played a
central role in the development of generic programming techniques, languages, and
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.
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:
- 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.