Classes de tipos com múltiplos parâmetros e opcionais em haskell - Rodrigo Geraldo Ribeiro (2013)
The introduction of multi-parameter type classes in Haskell has beenhindered because of problems associated to ambiguity, which occur dueto the lack of type specialization during type inference. This work proposes a new type system for Haskell that supports the definition of multi-parameter type classes without the need of any extensions like functional dependencies or type families. Haskell's ambiguity definition is redefined as the usual definition based on type systems derivations. The definition of overloaded symbols without the need of specifying a type class is also allowed. A type inference algorithm that is sound and complete with respect to the proposed type system is presented and implemented.