Bad error message: varying arguments
A function definition like
f :: Maybe () -> Char
f Nothing = 'a'
f Just () = 'b'
yields the error message
Varying number of arguments for function `f'
under 6.4.1 (pointing to the line with Nothing as containing the error). The following error message would be easier to understand for beginners (pointing to the line with Just):
The type signature for f specifies that the function should take one argument, but you have given it two arguments.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.4.1 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler (Type checker) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |