Concepts—sets of abstractions related by common requirements— have a central role in generic programming. This paper proposes a general framework for using concepts to control ...
Haskell's type classes allow ad-hoc overloading, or typeindexing, of functions. A natural generalisation is to allow type-indexing of data types as well. It turns out that th...
Manuel M. T. Chakravarty, Gabriele Keller, Simon L...
Systems programs rely on fine-grain control of data representation and use of state to achieve performance, conformance to hardware specification, and temporal predictability. T...
A type-indexed function is a function that is defined for each member of some family of types. Haskell’s type class mechanism provides collections of open type-indexed function...
Eight years ago, functional dependencies, a concept from the theory of relational databases, were proposed as a mechanism for avoiding common problems with multiple parameter type...