[Prev][Next][Index][Thread]
Job opening at Utrecht: Generic Haskell
-
To: eapls@mailbase.ac.uk, seworld@cs.colorado.edu, amast@cs.utwente.nl, ipalist@win.tue.nl, lics@research.bell-labs.com, haskell@haskell.org, categories@mta.ca, relmics-list@heraklit.Informatik.UniBW-Muenchen.de, eacsl@dimi.uniud.it, skeletons@dcs.ed.ac.uk, types@cis.upenn.edu
-
Subject: Job opening at Utrecht: Generic Haskell
-
From: Johan Jeuring <johanj@cs.uu.nl>
-
Date: Mon, 28 Aug 2000 11:01:58 +0200
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: johanj@cs.uu.nl.
Contact:
For information, please contact Johan Jeuring (johanj@cs.uu.nl,
http://www.cs.uu.nl/~johanj/) or Doaitse Swierstra (doaitse@cs.uu.nl,
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!