Так что это не та же самая концепция, но это много тех композиционных вариантов использования, и добавляет еще несколько.

это определение не должно быть разрешено в ленивом языке, таком как Haskell, в котором функции каррируются?

apply f [] = f
apply f (x:xs) = apply (f x) xs

Это в основном функция, которая применяет данную функцию к заданному списку аргументов, и это очень легко сделать, например, в Лиспе. Есть ли обходные пути?

Ответы на вопрос(3)

Ваш ответ на вопрос