[Haskell-cafe] Functional dependenices in class declarations
Frank
frank at geoinfo.tuwien.ac.at
Mon Aug 8 13:17:00 EDT 2005
In ghc 6.4 (fine work - many gratulations to all who did it!) it is
permitted
to have type parameters which are reachable (7.4.3.1 context of type
signatures).
I tried the following:
module TypeDependencies where
class A a b | a -> b
class (A a b) => B b where
op :: a -> a
x :: A a b => a -> a
x = id
Which compiles fine for the function x, but does complain
"not in scope: type variable 'a' " for the class (A a b) => B b.
Is this an intentional restriction that 'reachable' type variables are only
permitted in type definitions, but not in classes? or do I misunderstand
something?
Any help appreciated!
Andrew Frank
More information about the Haskell-Cafe
mailing list