Generic Views For Generic Types
Stc
Date: 2008-01-24
Time: 11:45
Room: BBL room 471
Speaker: Thomas van Noort
Title: Generic Views for Generic Types (Thesis Defense) (slides/thesis)
Abstract
Generic programming allows us to capture uniform behaviour for a family
of types in a single definition. In this thesis, we focus on Generic
Haskell, a preprocessor to Haskell which enables us to define generic
functions and generic types. Such definitions are applicable in almost
any context since their result depends on a structural representation of
types. Several representations exist, which together are called generic
views. These generic views include a standard view using sums of
products, a balanced view to improve efficiency, and a fixed-point view
that makes the recursive occurrences in a type explicit. In contrast to
generic functions, Generic Haskell allows us define generic types only
using the standard view.
This thesis studies to what extent generic views, other than the
standard view, are useful on the type level. We illustrate the use of
generic views for generic types by giving several examples, including a
finite map library with improved efficiency, a generic rewriting library
with automated extension of the object language with meta variables, and
the zipper for efficient traversal of data structures, with improved
usability.