#4189: Add (<.>) operator (generalizing (.) to Functor)

Stephen Tetley stephen.tetley at gmail.com
Mon Aug 2 08:53:46 EDT 2010

Well, blackbirdA wasn't entirely a serious contender, I'd still prefer
a word name rather than an operator.

Note, that you naming as an infix operator a 3 parameter function,
with the intention that the third parameter will generally be elided
by programming in a point-free style. I don't think there are any
other examples in Prelude plus Control.Monad / Applicative / Category
/ Arrow of this.

Many of the operators expand to three parameters for the function
instance, but their general signature is still two params plus result.

(<.>) :: Functor f => (b -> c) -> (a -> f b) -> a -> f c
f <.> g = fmap f . g

More information about the Libraries mailing list