Я определил функцию listToNumber, как показано ниже:Haskell - функция отображения для перестановки
listToNumber = foldl1 (\acc xs -> acc*10 + xs)
Он отлично работает, когда поставляется только с одним числовым списком, например:
listToNumber [1,2,3,4] = 1234
map listToNumber [[1,2,3,4], [5,4,3,2]] = [1234,5432]
Однако, следующие возвращается сообщение об ошибке:
map listToNumber permutations[1..3]
может кто-нибудь объяснить пожалуйста?
P.S. ГЗС ошибка, как показано ниже:
Couldn't match expected type `[t1] -> t0' with actual type `[b0]'
The function `map' is applied to three arguments,
but its type `([b0] -> b0) -> [[b0]] -> [b0]' has only two
In the expression: map listToNumber permutations [1 .. 3]
In an equation for `it':
it = map listToNumber permutations [1 .. 3]