| just one more problem is that this issue is too complicated. i'm not
| sure that i correctly understands details, but for me the situation
| seems like this: in 6.4 it was no distinction between declarations and
| usages of type variables - first use declared it, while in 6.6 we have
| exactly defined places to declare type variable.

No, that's not right.  In 6.4 it was absolutely nailed down exactly
where a lexical type variable was *bound* and where it was *used*.
Identifying the site where it comes into scope isn't the problem.

However, 6.4 allowed you to bring into scope a lexical type variable
that was a name for an existing type.  Whereas 6.6 brings into scope a
lexical type variable only at places where the type variable it names is
being quantified.  

Yes, it's confusing!

Simon

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to