Rinus Plasmeijer (University of Nijmegen)

With generic programming techniques one can define a
Graphical Editor Component (GECt). Such an editor can be created fully automatically
for any given
value of any type* t*. The editor can be used to display or edit new value
of the given type *t*. Based on this principle one can construct flexible,
reusable and customisable graphical user interfaces. The approach is a refined
version of the model-view paradigm. Instead of programming low-level GUI stuff,
one only has to define and instantiate a suited data type representing the
values one would like to view and edit. The look of an editor can be customised.

Furthermore, an abstract isomorphic editor of type
*s
* can be used to edit values of type
*t*. In this way one can create a flexible library of handy editors. It is
even possible to edit function types (i.e. defining new functions of the proper
type) by reusing the Esther shell described above [in this
abstract]. There are Editor combinators (arrows) with which one can combine
editors. In this way complete complicated GUI applications can be constructed.

In the lecture we will make some small editors from scratch and some more elaborated ones using a library of editors.

Last update 12 April 2004