В программировании Haskell есть код функции сгиба.Функция Foldr и Foldl в haskell
map' ::(a->b)->[a]->[b]
map' f xs=foldr(\x acc ->f x:acc)[] xs
ВХОД:
map' (+3) [1,2,3]
ВЫВОД:
[4,5,6]
Он принимает элемент с правой стороны по причине foldr функции, и я хочу взять элемент с левой стороны и добавить в список и я хочу выход [6,5,4] .i сделал это через функцию foldl, но он дает ошибку.
ERROR: Couldn't match expected type `a' with actual type `[b]'
`a' is a rigid type variable bound by
the type signature for map' :: (a -> b) -> [a] -> [b]
at doubleme.hs:1:8
In the first argument of `f', namely `x'
In the first argument of `(:)', namely `f x'
In the expression: f x : acc
Какова была фактическая ошибка, которую вы получили? – thefourtheye