(->)a functorHere's fmap's type signature on the functor (->)a:
fmap :: (b -> c) -> ((->)a b) -> ((->)a c)
Or with a more readable syntax:
fmap :: (b -> c) -> (a -> b) -> (a -> c)
Applied with b and c equal to Int and a equal to [Int]:
λ> (fmap (-1 +) length) [0,1,2,3,4] 4
So
fmap f sends
g to
f . g.