[Haskell-cafe] Why were datatype contexts removed instead of "fixing them"?

harry voldermort at hotmail.com
Thu Apr 25 12:38:10 CEST 2013

If I understand correctly, the problem with datatype contexts is that if we
have e.g.
  data Eq a => Foo a = Foo a
the constraint Eq a is thrown away after a Foo is constructed, and any
method using Foos must repeat Eq a in its type signature.

Why were these contexts removed from the language, instead of "fixing" them?

PS This is following up on a discussion on haskell-beginners, "How to avoid
repeating a type restriction from a data constructor". I'm interested in
knowing whether there's a good reason not to allow this, or if it's just a
consequence of the way type classes are implemented by compilers.

More information about the Haskell-Cafe mailing list