The use of Kleisli composition in monadic programming is the equivalent of point-free style.
Consider how regular functions are used. You can either apply a function to an argument or you can compose two functions directly. These two modes of programming are implemented using, respectively, the function-application operator and the composition operator:
($) :: (a->b) -> a -> b
(.) :: (b->c) -> (a->b) -> (a->c)
Monads let you compose functions with the signature [math](a->m b)[/math] (they are called Kleisli arrows). The two analogous operators are:
(=<<) :: (a->m b) -> m a -> m b
(<=<) :: (b->m c) -> (a->m b) -> (a->m c)
You can recognize these as the flipped versions of bind and the Kleisli composition (a.k.a., the “fish”).
In programming practice, function composition is not as common as function application. The use of function composition is characteristic of point-free style. Point free monadic computations are done using Kleisli composition.