Посмотрите внимательно на тип:
foldl1 :: Foldable t => (a -> a -> a) -> t a -> a
Значения необходимо преобразовать в [Char]
до , когда вызывается функция, потому что функция ожидает тип своих аргументов итип возврата должен быть одинаковым.(И только при первом использовании функции получаются два аргумента одного типа.)
Чтобы использовать foldl1
, отобразите show
поверх списка первым.
foldl1 (++) (map show [12, 23, 45, 66])