Elaboration on functional dependencies: Functional dependencies are dead, long live functional dependencies! KU Leuven
© 2017 ACM. Functional dependencies are a popular extension to Haskell's typeclass system because they provide fine-grained control over type inference, resolve ambiguities and even enable type-level computations. Unfortunately, several aspects of Haskell's functional dependencies are ill-understood. In particular, the GHC compiler does not properly enforce the functional dependency property, and rejects well-typed programs because it does not ...