Можно ли выразить аналог S комбинатора в Haskell, используя только стандартные функции (без определения его по уравнению) и без использования лямбда (анонимная функция)? Я ожидаю, что это будет по типу (a -> b -> c) -> (a -> b) -> a -> c
.
Например, аналогом комбинатора K является только const
.
На самом деле я пытаюсь выразить функцию \f x -> f x x
с помощью стандартных функций, но не могу думать о какой-либо стандартной нелинейной функции для начала (это функция, которая использует свой аргумент более одного раза).