Hi Henning, Thanks for the tip, I'll check it out.
A related but more general question: on average, what's more efficient, pattern matching or function calls? Michael --- On Sun, 9/12/10, Henning Thielemann <schlepp...@henning-thielemann.de> wrote: From: Henning Thielemann <schlepp...@henning-thielemann.de> Subject: Re: [Haskell-cafe] Cost: (:) vs head To: "michael rice" <nowg...@yahoo.com> Cc: haskell-cafe@haskell.org Date: Sunday, September 12, 2010, 8:47 AM michael rice schrieb: > Which of these would be more costly for a long list? > > f :: [Int] -> [Int] > f [x] = [x] > f (x:xs) = x + (head xs) : f xs > > f :: [Int] -> [Int] > f [x] = [x] > f (x:y:xs) = x + y : f (y:xs) What about empty lists? How about zipWith (+) xs (drop 1 xs ++ [0]) ? Since I often need to combine adjacent list elements, I have defined mapAdjacent in utility-ht.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe