Вызов функции, по-видимому, подразумевает, что вы вызываете операцию времени выполнения на языке программирования, которая выполнит абстракцию, чтобы выяснить результаты того, что делает функция.Приложение функции больше похоже на обобщенный термин, который используется, когда мы хотим поговорить о ... приложении функции ... в любое время, например: во время компиляции, синтаксически или математически.
Приложение функциитакже может относиться к apply
.Исторически в различных языках программирования apply
- это функция высшего порядка, которая принимает ссылку на функцию, список аргументов и результатом которой должно быть f (список аргументов).
В Haskell приложение функции, скорее всего, ссылается надля каррирования функции одним аргументом.В Haskell все, что вам нужно, это пробелы для представления приложения функции (оператор $
не делает ничего, кроме изменения приоритета / группировки, чтобы разрешить меньше скобок; в отличие от LISP).Сравните это с «нормальными» обозначениями, которые мы изучаем в базовой алгебре и используем в нефункциональном программировании, где f(a,b,c)
представляет функцию f, примененную к аргументам a,b,c
.Я не думаю, что вы использовали бы термин «вызов функции», если бы вы не имели дело с абстракцией, которая фактически вызывала функции;что я даже не уверен, что Haskell имеет.Например, Haskell может иметь абстракцию, которая сокращает функции путем сопоставления с образцом ... или использование "вызова функции" может быть целесообразным в Haskell.