[Haskell-cafe] mapFst and mapSnd

Dominique Devriese dominique.devriese at cs.kuleuven.be
Tue May 28 10:54:31 CEST 2013


Hi all,

I often find myself needing the following definitions:

  mapPair :: (a -> b) -> (c -> d) -> (a,c) -> (b,d)
  mapPair f g (x,y) = (f x, g y)

  mapFst :: (a -> b) -> (a,c) -> (b,c)
  mapFst f = mapPair f id

  mapSnd :: (b -> c) -> (a,b) -> (a,c)
  mapSnd = mapPair id

But they seem missing from the prelude and Hoogle or Hayoo only turn
up versions of them in packages like scion or fgl.  Has anyone else
felt the need for these functions?  Am I missing some generalisation
of them perhaps?

Regards,
Dominique



More information about the Haskell-Cafe mailing list