Передача элементов списка в качестве параметров функции карри
Все еще новичок Хаскелла здесь. Я знаю достаточно, чтобы попасть в неприятности с ошибочными предположениями. Если у меня есть следующая функция ...
quadsum w x y z = w+x+y+z
Я хочу функцию, которая может взять список, использовать каждый элемент в качестве параметра в указанной функции, какquadsum
и вернуть карри функцию для дальнейшего использования.
Я пытался что-то с эффектом ...
magicalFunctionMaker f [] = (f)
magicalFunctionMaker f (x:xs) = magicalFunctionMaker (f x) xs
С надеждой на возможность сделать это ...
magicalFunctionMaker (quadsum) [4,3,2]
Получение карри функции, как ...:
(((quadsum 4) 3) 2)
Или, альтернативно, позвоните:
magicalFunctionMaker (quadsum) [4,3,2,1]
В результате чего...
((((quadsum 4) 3) 2) 1)
Это возможно? Насколько я заблуждаюсь?