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


Reply via email to