Я пытаюсь воссоздать факторную функцию, например fac 1 = 1, fac 2 = 2, fac 3 = 6, используя функции высокого порядка, но мне не очень повезло. Моя функция fold продолжает возвращать пустой список независимо от того, какие данные я им даю. Может кто-нибудь мне помочь?haskell: factorial using функция высокого порядка
Вот что я до сих пор:
fold f a [] = []
fold f a (x:xs) = fold f (f a x) xs
fac n = fold (*) 1 [1..n]
Вы пытались выполнить его вручную на нескольких образцах? –
Является ли воссоздание 'foldl' необходимым для этого упражнения? – jwodder