Supposons que je souhaite ajouter deux listes dans Haskell. Quelle est la manière la plus courante de le faire?Qu'est-ce qu'une façon idiomatique d'ajouter des listes dans Haskell?
Voici ce que je l'ai fait:
addLists :: (Integral a) => [a] -> [a] -> [a]
addLists xs ys = map add $ zip xs ys
where add (x, y) = x+y
BTW: 'add = uncurry (+)'. Notez également que la réponse 'zipWith' est le premier hit sur [Hoogle] (http://haskell.org/hoogle/) pour la requête [' (a -> b -> c) -> \ [a \] - > \ [b \] -> \ [c \] '] (http://haskell.org/hoogle/?hoogle=%28a+-%3E+b+-%3E+c%29+-%3E+%5Ba% 5D + -% 3E +% 5Bb% 5d + -% 3E +% 5Bc% 5D). – ephemient
Merci ephemient, je vais essayer d'abord Hoogle la prochaine fois. –
@ TomMD, je ne comprends pas la première partie de votre commentaire. –