У меня есть функцияПрименить функцию двух входов для каждого элемента в списке - Haskell
f :: Int -> Int -> Int
и у меня есть список произвольной длины, но для примера:
[x1,x2,x3]
мне нужно применить е к списку таким образом, что результирующий список выглядит следующим образом:
[f x1 x1 + f x1 x2 + f x1 x3 , f x2 x1 + f x2 x2 + f x2 x3 , f x3 x1 + f x3 x2 + f x3 x3]
Я знаю, что
map f [x1,x2,x3] will give [f x1, f x2, f x3]
, но это не похоже на помощь. Каков наилучший способ сделать это?
Возможно, вы ищете [складки] (http://www.haskell.org/haskellwiki/Fold)? –
'appSum = (сумма). присоединиться . liftM2' – is7s