Написав программы Haskell, я обнаружил, что мне нужен такой оператор.
(|>) :: a -> (a -> b) -> b
(|>) = flip ($)
infixl 0 |>
Я думаю, что это полезно при склеивании многих функций вместе.
tText cs = someFun cs |>
lines |>
map (drop 4) |>
reverse
Я предпочитаю его над .
, потому что при |>
порядок, в котором применяются функции, совпадает с порядком, в котором записываются функции.
tText' cs = reverse .
map (drop 4) .
lines .
someFun $ cs
Вопрос: это (|>
) то, что уже существует в Prelude
/некоторой другой базовой библиотеке? Повторное выполнение простых вещей - это нечто глупое, чего я бы хотел избежать.
Поиск в Google не помог. Самое близкое, что я нашел, было >>>
(стрелки), но это кажется излишним.