:: (a -> b) -> (c -> a) -> c -> b -package:cabal-install-solver -package:base package:flow

Right-associative compose operator. Read as "compose backward" or "but first". Use this to create long chains of computation that suggest which direction things move in. You may prefer this operator over (.>) for IO actions since it puts the last function first.
>>> let f = print <. negate <. recip <. succ

>>> f 3
-0.25
Or use it anywhere you would use (.). Note that (<.) and (.>) have the same precedence, so they cannot be used together.
>>> -- This doesn't work!

>>> -- print <. succ .> recip .> negate
\ x -> (g <. f) x == g (f x)
\ x -> (h <. g <. f) x == h (g (f x))