Simon PJ writes:
> reverse :: [a] -> [a]
> Or
> M.reverse :: [a] -> [a]
> A) The unqualified form should be legal because the type signature
> can only refer to the 'reverse' defined in this module
>
> B) The unqualified form is ambiguous. All occurrences of 'reverse',
> other than the definition itself, must be qualified
>
> Personally I'm inclined to resolve it in favour of (B). In due course we
> may want to allow type signatures for imported things in a module, for
> example. Does anyone object?
Yes, I object fairly strongly. There can be no prospect of Haskell'98
allowing type signatures for imported values (even if it is adopted
for Haskell-2), because that would be a major language change.
Proposed fix B breaks currently-legal programs. Proposed fix A breaks
no programs, and is fully consistent with the current Report.
Regards,
Malcolm