
15 Dec
2003
15 Dec
'03
3:36 a.m.
| This is legal in Haskell 98, because the `a' in the inner declaration is | implicitly universally quantified. But if the scope of the outer type | variable `a' extends over the inner type declaration, then the inner `a' | will not be locally universally quantified, and the call to `bar' will | be a type error, because the `a' in the head of the instance declaration | will in general be different than `Int'. | ... | | P.S. I note that ghc 5.02.2 enables this extension always, regardless | of the setting of -fglasgow-exts. That seems like a bug to me. And indeed, GHC 6.0 fixes this bug: no scoped type variables without -fglagow-exts. Simon