У меня есть функция, которую я использую довольно часто, и которая позволяет мне писать свой код таким образом, который кажется мне более естественным.
infixl 6 $:
($:) :: a -> (a -> b) -> b
a $: f = f a
Это позволяет мне делать что-то вроде
let x = getData
$: sort
$: group
$: aggregate
вместо
let x = aggregate
$ group
$ sort
$ getData
. Недавно я узнал, что в Clojure встроено что-то подобное (я не очень хорошо разбираюсь в Clojure, но думаю, что это было бы написано (-> агрегат группы сортировки getData)
?), что заставляет меня задаться вопросом, встроен ли он также в Haskell. Однако в Hoogle нет результатов.
Существуют ли стандартные библиотеки с чем-то подобным? Вероятно, это затрудняет чтение моего кода для других, если у меня есть такая общая часть, которая является идиосинкразической.