> 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
sugar.

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.

Cheers,
  Andres

_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to