Dear Haskell-Cafe,
Every now and then I get error messages when compiling Haskell code :).
Sometimes of the sort:
test.hs:10:15:
Couldn't match type `[[a2]]' with `Int'
Expected type: Int -> Int
Actual type: [[a2]] -> Int
The function `length . head' is applied to one argument,
but its type `[[a2]] -> Int' has only one
In the first argument of `(==)', namely `(length . head) r'
In the expression: (length . head) r == 0
Is the middle part of the error message
(The function `length . head' is applied to one argument,
but its type `[[a2]] -> Int' has only one)
expected to be confusing like that sometimes?
The line in question, FWIW, is
Right r -> if (length . head) r == 0
It appears as one of the two entries in a case statement, pattern matching on Right constructor.
Many thanks,
S.
--
Семен Тригубенко http://trygub.com
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe