Is there a way in Haskell to traverse a list of tuples two at a time?

I have a list [(Integer, Integer)] and want to apply it to a function

f :: (Integer,Integer) -> (Integer, Integer) -> (Integer,Integer)

without inserting one tuple more than once. So the tuple number 1,2,3,4 should go into the function like

first 1,2

then 3,4

I have already made a function that does it recursively, but I want to "compact" it with map/[x| ..] or something similar.