
Hi,
On Tue, Oct 18, 2011 at 1:19 PM, Alexander Raasch
Hi,
so I wrote this function to add two vectors represented as lists:
add a b = add' a b [] where add' [] [] s = s add' (a:as) (b:bs) s ++ [a+b]
I think something mangled your function, as this is not valid Haskell code. Anyway, I tried to rewrite your function. The first version works as expected; the second gives reversed output. Note that there is no need for the accumulator "s". add a b = add' a b where add' [] [] = [] add' (a:as) (b:bs) = [a+b] ++ (add' as bs) add a b = add' a b where add' [] [] = [] add' (a:as) (b:bs) = (add' as bs) ++ [a+b] -- reversed output Obviously, the same function can be written as: zipWith (+) [1,2,3] [1,2,3] hth, L.