:: a -> (a -> b) -> b operator (Haskell)
haskell
Solution
No, there isn't anything in a standard library that I know of. Years and years ago a lot of my code imported my breif but handy `Forwards` module:
> module Forwards where
> infixl 0 |>
> infixl 9 .>
> (|>) = flip ($)
> (.>) = flip (.)
I even used the same name as you!
These days I don't use it much at all - I got used to the order that function composition uses.
Feel free to use your own handy shortcuts.
I also use `$` less than I used to. Where I used to write
thing = this $ that arg $ an other $ it
Now I write
thing = this . that arg . an other $ it
Problem
Writing Haskell programs I found myself in need of an operator like this. ``` (|>) :: a -> (a -> b) -> b (|>) = flip ($) infixl 0 |> ``` I think it is useful when glueing many functions together. ``` tText cs = someFun cs |> lines |> map (drop 4) |> reverse ``` I prefer it over `.` because with `|>` the order in which the functions are applied is the same as the order in which the functions are written. ``` tText' cs = reverse . map (drop 4) . lines . someFun $ cs ``` Question is: is this (`|>`) something that already exists in the `Prelude` / some other basic library? Reimplementing simple stuff is something silly which I would like to avoid. A Hoogle search did not help. Closest thing I found was `>>>` (Arrows), but it seems an overkill.