Types don't match expressions in type error
Frederik Eaton points out in the thread starting http://www.haskell.org/pipermail/glasgow-haskell-bugs/2007-March/008748.html that with this program:
a x = x True ++ [1]
-- ok
b = a (const [2])
-- uninformative error message
c = a y
-- more informative
d = a ()
y = const ()
in the type error, for b the type doesn't match the expression: y has type
a -> ()
but it claims to have infered () for it:
v.hs:8:6:
Couldn't match expected type `[a]' against inferred type `()'
In the first argument of `a', namely `y'
In the expression: a y
In the definition of `c': c = a y
(this example should be made into a testcase once we know what the error will look like).
Trac metadata
Trac field | Value |
---|---|
Version | 6.6 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler (Type checker) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Unknown |
Architecture | Unknown |