Language agnostic 应用程序和调用函数之间的函数关系是什么?

Language agnostic 应用程序和调用函数之间的函数关系是什么?,language-agnostic,programming-languages,Language Agnostic,Programming Languages,我听说使用了术语“函数应用程序”(主要与Haskell有关),它似乎只是指“调用函数”。基本上,它被称为调用函数的数学术语: 在数学中,函数应用是将一个函数从其域应用于一个参数,从而从其范围中获得相应值的行为 调用函数和函数应用程序之间的区别是什么?调用函数似乎意味着您正在调用编程语言中的运行时操作,该操作将执行一个抽象以了解函数所做操作的结果。函数应用似乎更像是一个广义的术语,当我们想谈论。。。函数应用程序。。。在任何时候,例如:在编译时、语法上或数学上 功能应用也可参考apply。历史上,在

我听说使用了术语“函数应用程序”(主要与Haskell有关),它似乎只是指“调用函数”。基本上,它被称为调用函数的数学术语:

在数学中,函数应用是将一个函数从其域应用于一个参数,从而从其范围中获得相应值的行为


调用函数和函数应用程序之间的区别是什么?

调用函数似乎意味着您正在调用编程语言中的运行时操作,该操作将执行一个抽象以了解函数所做操作的结果。函数应用似乎更像是一个广义的术语,当我们想谈论。。。函数应用程序。。。在任何时候,例如:在编译时、语法上或数学上

功能应用也可参考
apply
。历史上,在各种编程语言中,
apply
是一个高阶函数,它接受函数引用、参数列表,其结果应该是f(参数列表)

在Haskell中,函数应用程序很可能是指通过一个参数来转换函数。在Haskell中,您所需要的只是表示函数应用程序的空格(与LISP相反,
$
运算符只更改优先级/分组,以允许更少的括号)。这与我们在基础代数中学习并在非函数编程中使用的“正常”表示法形成对比,其中
f(a,b,c)
表示应用于参数
a,b,c
的函数f。我不认为你会使用术语“调用函数”,除非你处理的是一个实际调用函数的抽象;我甚至不确定Haskell有没有。例如,Haskell可能有一个通过模式匹配减少函数的抽象。。。或者在Haskell中使用“调用函数”可能是合理的。

基本解释:

就函数的用途而言,Haskell和其他函数语言在数学上要抽象得多

在过程语言中,可以调用函数,函数是对数据进行操作或不进行操作的语句集合

在函数式语言中,您拥有数据,并对其应用函数来处理数据