[Haskell-cafe] Class constraints with "free" type variables and fundeps
Francesco Mazzoli
f at mazzo.li
Sat Sep 29 02:36:12 CEST 2012
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
More information about the Haskell-Cafe
mailing list