
4 Jul
2008
4 Jul
'08
4:42 a.m.
On Fri, Jul 4, 2008 at 5:03 AM, Manuel M T Chakravarty
The problem is that blah's type is ambiguous, as f does only occur as an argument to the type family. If you'd define
class Blah f a where blah :: a -> f -> T f f a
(and change the rest of the program accordingly) then all will be fine. See this thread for a more in-depth discussion of the problem:
http://www.haskell.org/pipermail/haskell-cafe/2008-April/041385.html
Yes, I was afraid that this was the case. However, the question remains on whether my functional dependencies encoding is correct. A correct encoding would help me understand this typing problem a bit more. Especially, now that Claus showed that adding an equality constraint makes this program work! Cheers, Alexey