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))