Is it time to start deprecating FunDeps?

Andres Löh andres.loeh at
Tue Apr 30 11:40:50 CEST 2013

> You can get an equivalent to cyclic dependencies using equality
> constraints. (I'll reply to Oleg's example of Sum.) But I agree that my
> mechanical translation doesn't usually get you to the result.
> So my GSOC project idea would be to see how far you might get with a more
> sophisticated translation.

Just assuming for the moment that you can actually translate fundeps
completely into type equality coercions. Then that would be, to me, a
good reason to (A) make sure that the implementation actually uses
this encoding internally, and (B) keep fundep notation as syntactic

I think the main "problem" of the type families vs. fundeps discussion
is that they're two rather involved language extensions that in
addition have very subtle differences. In this situation, you wouldn't
really want to have both be an official part of the language (although
that's the de facto reality we're living in since many years). If,
however, there's a correct and complete unification of the two
concepts in terms of a common underlying formalism, then I don't
necessarily see why we should deprecate one.


More information about the Haskell-prime mailing list