| 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 _______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users