Each element is the sum of itself with the next element of a List: now do this point-free in Haskell Here it is the best I can do (I am a noob using Haskell):

map (\(y, z) -&gt; y + z) (zip x (tail x))


I'm looking for a point-free solution.
Pointfree, eh? Let's ask lambdabot.

&lt;DanBurton&gt; @pl map (\(y, z) -&gt; y + z) (zip x (tail x))
&lt;lambdabot&gt; zipWith (+) x (tail x)


Assuming that x is simply the input to this "function"

&lt;DanBurton&gt; @pl \x -&gt; map (\(y, z) -&gt; y + z) (zip x (tail x))
&lt;lambdabot&gt; map (uncurry (+)) . ap zip tail


Personally I'd go with the former; I'm not a fan of Lambdabot's gratuitous use of uncurry and ap.