[Haskell-beginners] Couldn't match expected type `(a0 -> [a0]) -> [a0]', with actual type `[a0]'

Grzegorz Milka grzegorzmilka at gmail.com
Sat May 23 08:29:30 UTC 2015


Hi,

The faulty expression is this one:

   ((number `mod` 10 ): acc) (toDigits' (number `mod` 10))

The first expression: ((number `mod` 10 ): acc) is a list. You
concatenate a number to acc.

Therefore what you are doing is calling a list with an argument:
(toDigits' (number `mod` 10)).

That's what the error says. The first expression is called with one
argument, but its is a list ([a0]), which is not a function, therefore
can not be called. I think you meant something like:

    toDigits' acc number   = toDigits'  ((number `mod` 10 ): acc)
(number `div` 10)

Best,
Greg

On 23.05.2015 08:58, Roelof Wobben wrote:
> Hello,
>
> For some reasons my file's are corrupted.
> I had repair them with success except this one.
>
> Here is the code :
>
> toDigits  number
>   | number <= 0   = []
>   | otherwise     = toDigits' [] number
>   where
>     toDigits' acc 0  = acc
>     toDigits' acc number   = ((number `mod` 10 ): acc) (toDigits'
> (number `mod` 10))
>
> main = print $ toDigits 123
>
>
> and here is the error:
>
> Couldn't match expected type `(a0 -> [a0]) -> [a0]'
>                 with actual type `[a0]'
>     The function `(number `mod` 10) : acc' is applied to one argument,
>     but its type `[a0]' has none
>     In the expression:
>       ((number `mod` 10) : acc) (toDigits' (number `mod` 10))
>     In an equation for toDigits':
>         toDigits' acc number
>           = ((number `mod` 10) : acc) (toDigits' (number `mod` 10))
>
>
> Roelof
>
>
> ---
> Dit e-mailbericht is gecontroleerd op virussen met Avast
> antivirussoftware.
> http://www.avast.com
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150523/cfe657e4/attachment.sig>


More information about the Beginners mailing list