[Haskell-cafe] strange error message

Semen Trygubenko / Семен Тригубенко semen at trygub.com
Thu Mar 27 02:36:44 UTC 2014


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140327/42d67637/attachment.sig>


More information about the Haskell-Cafe mailing list