
At Fri, 28 Sep 2012 17:19:36 -0700, Alexander Solla wrote:
Well, then what exactly is the problem? Are you getting an error?
...well yes. The error I get with the posted class declarations is Not in scope: type variable `b' at the line with class Foo a b => Bar a where Which I get because all the type vars in the LHS must be referenced on the RHS (or so it seems). Now, in my case the problem does not stop there, because I also want to reference the tyvar on the LHS in a type signature of a method, since in that case there is a fundep on b (`a -> b'), which makes `b' decidable if you have `a' and `Foo a b'.
You don't need to bring 'b' into scope. You will already have real types in scope.
instance Foo A B instance Bar A where foo A B = C
Again, I'm not sure what you mean here. -- Francesco * Often in error, never in doubt