Как добавить два списка типа данных [[double]], используя zipWith (+)? - PullRequest
0 голосов
/ 29 марта 2019

Я делаю это на Хаскеле.Я пытаюсь добавить два списка для сбора, и я использую функцию zipWith для этого.Но тип данных не будет соответствовать моей функции добавления.

это то, что я пробовал

add :: [[Double]] -> [[Double]] -> [[Double]]
add = zipWith []
where zipWith :: (a -> b) -> [a] -> [b]
zipWith _ [] = []
zipWith [] _ = []
zipWith (+) (x:xs) (y:ys) = (+) x y : zipWith (+) xs ys

Я хочу добавить два списка, как это

add [[1,2],[3,4]] [[10,20],[30,40]]
    [[11,22],[33,44]]

1 Ответ

2 голосов
/ 29 марта 2019
zipWith (zipWith (+))

Я думаю, что дальнейших объяснений не требуется?

...