A framework for extended algebraic data types
Martin Sulzmann, Jeremy Wazny, Peter J Stuckey, M Hagiya (ed.), P Wadler (ed.)
FUNCTIONAL AND LOGIC PROGRAMMING, PROCEEDINGS | SPRINGER | Published : 2006
There are a number of extended forms of algebraic data types such as type classes with existential types and generalized algebraic data types. Such extensions are highly useful but their interaction has not been studied formally so far. Here, we present a unifying framework for these extensions. We show that the combination of type classes and generalized algebraic data types allows us to express a number of interesting properties which are desired by programmers. We support type checking based on a novel constraint solver. Our results show that our system is practical and greatly extends the expressive power of languages such as Haskell and ML. © Springer-Verlag Berlin Heidelberg 2006.