Postdoc Software Technology Department of Computer Science Utrecht University Utrecht, The Netherlands You will work on the "Generic Haskell: a language for generic programming" project. See http://www.cs.uu.nl/research/projects/generic-haskell/ The abstract of the project is given below. Together with a team consisting of several senior researchers and Ph.D. students, you will develop: - a generic programming language extension of Haskell; - practical examples of generic programming such as a database connection; - programming methods for the language extension. Requirements: PhD in Computer Science. Knowledge of some of the following topics: functional programming, compiler technology, type theory, and/or generic programming. This is a position for 3 years. Application: Send your application on or before October 6, 2000 either by email or on paper to: Johan Jeuring, Department of Computer Science, Utrecht University, P.O.Box 80.089, NL-3508 TB Utrecht, The Netherlands, email: [EMAIL PROTECTED] Contact: For information, please contact Johan Jeuring ([EMAIL PROTECTED], http://www.cs.uu.nl/~johanj/) or Doaitse Swierstra ([EMAIL PROTECTED], http://www.cs.uu.nl/~doaitse/). ******************************************************************** Generic Haskell: a language for generic programming Software development often consists of designing a datatype, to which functionality is added. Some functionality is datatype specific, other functionality is defined on almost all datatypes, and only depends on the type structure of the datatype. Examples of generic (or polytypic) functionality defined on almost all datatypes are storing a value in a database, editing a value, comparing two values for equality, pretty-printing a value, etc. A function that works on many datatypes is called a polytypic function. Since datatypes often change and new datatypes are introduced, we have developed Polyp, an extension of the functional programming language Haskell that supports defining polytypic functions. However, Polyp allows the definition of polytypic functions on a limited set of datatypes, which hinders the wide application of polytypic programming. Recent work by Hinze shows how to overcome many of the current limitations of Polyp by extending Haskell with a construct for defining type-indexed functions with kind-indexed types. The goal of this project is to develop: - a language extension of Haskell based on these ideas; - practical examples such as a database connection; - programming methods for the language extension. Thus we will obtain a truly generic, type-safe, and practically applicable extension of Haskell!