У меня есть функция, которую я использую довольно часто, что позволяет мне писать код таким образом, который кажется мне более естественным.
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 sort group aggregate)
?), что заставляет меня задаться вопросом, построил ли он Haskell Что ж. Hoogle не имеет никаких результатов.
Существуют ли стандартные библиотеки с чем-то подобным? Вероятно, это делает мой код трудным для чтения другими, если у меня такая общая часть является особенной.