Data structures and program transformation
Science of Computer Programming
Functional programming with bananas, lenses, envelopes and barbed wire
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Foundations of programming languages
Foundations of programming languages
Algebra of programming
PolyP—a polytypic programming language extension
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
A Higher-Order Calculus for Categories
TPHOLs '01 Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics
Proceedings of the IFIP TC2/WG2.1 Working Conference on Generic Programming
MPC '98 Proceedings of the Mathematics of Program Construction
Science of Computer Programming - Special issue on mathematics of program construction (MPC 2002)
Comparing libraries for generic programming in haskell
Proceedings of the first ACM SIGPLAN symposium on Haskell
Science of Computer Programming
Parametric datatype-genericity
Proceedings of the 2009 ACM SIGPLAN workshop on Generic programming
Adjoint folds and unfolds: or: scything through the thicket of morphisms
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Hi-index | 0.00 |
Generic Haskell is an extension of Haskell that supports datatype generic 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.