The efficient representation and manipulation of data is one of the
fundamental tasks in the construction of large software systems. One
of the most successful approach to date has been Hindley-Milner
polymorphism which provides predefined mechanisms for manipulating
data structures providing they are parametric in the data.
I will talk about recent work on containers which has lead to some
intriguing new insights into polymorphism. In particular I will
classify all the polymorphic programs between containers and show they
have a remarkably simple form. I will then extend this to talk about
derivatives of data structures as an example of generic programming.
|