Generic Haskell is an extension of Haskell that supports datatypegeneric programming. The central idea of Generic Haskell is to interpret a type by a function, the so-called instance of a generic function at that type. Since types in Haskell include parametric types such as 'list of', Generic Haskell represents types by terms of the simply-typed lambda calculus. This paper puts the idea of interpreting types as functions on a firm theoretical footing, exploiting the fact that the simply-typed lambda calculus can be interpreted in a cartesian closed category. We identify a suitable target category, a subcategory of Cat, and argue that slice, coslice and comma categories are a good fit for interpreting generic functions at base types. Copyrig...
Datatype-generic programming is defining functions that depend on the structure, or "shape", of data...
Abstract. The more expressive a type system, the more type information has to be provided in a progr...
Datatype-generic programs are programs that are parametrized by a datatype or type functor: whereas ...
This paper describes a new approach to generic functional programming, which allows us to define fun...
This thesis is an exploration -- an exploration of a language extension of the functional programmi...
Abstract. A generic function is defined by induction on the structure of types. The structure of a d...
A generic function is defined by induction on the structure of types. The structure of a data type ...
The more expressive a type system, the more type information has to be provided in a program. Havin...
This thesis aims at making Datatype Generic Programming more useful in practice. We extend the fixed...
Datatype-generic programs are programs that are parametrized by a datatype or type functor: whereas ...
Abstract. The last decade has seen a number of approaches to datatype-generic programming: PolyP, Fu...
A generic function is a function that can be instantiated on many data types to obtain data type spe...
Abstract. Generic Haskell is an extension of Haskell that supports the construction of generic progr...
Many functions can be dened completely generically for all datatypes. Examples include pretty printe...
Datatype-generic programming is defining functions that depend on the structure, or "shape", of data...
Datatype-generic programming is defining functions that depend on the structure, or "shape", of data...
Abstract. The more expressive a type system, the more type information has to be provided in a progr...
Datatype-generic programs are programs that are parametrized by a datatype or type functor: whereas ...
This paper describes a new approach to generic functional programming, which allows us to define fun...
This thesis is an exploration -- an exploration of a language extension of the functional programmi...
Abstract. A generic function is defined by induction on the structure of types. The structure of a d...
A generic function is defined by induction on the structure of types. The structure of a data type ...
The more expressive a type system, the more type information has to be provided in a program. Havin...
This thesis aims at making Datatype Generic Programming more useful in practice. We extend the fixed...
Datatype-generic programs are programs that are parametrized by a datatype or type functor: whereas ...
Abstract. The last decade has seen a number of approaches to datatype-generic programming: PolyP, Fu...
A generic function is a function that can be instantiated on many data types to obtain data type spe...
Abstract. Generic Haskell is an extension of Haskell that supports the construction of generic progr...
Many functions can be dened completely generically for all datatypes. Examples include pretty printe...
Datatype-generic programming is defining functions that depend on the structure, or "shape", of data...
Datatype-generic programming is defining functions that depend on the structure, or "shape", of data...
Abstract. The more expressive a type system, the more type information has to be provided in a progr...
Datatype-generic programs are programs that are parametrized by a datatype or type functor: whereas ...