我目前正在学习 Haskell,并且遇到过几次“函数应用程序”这个术语,但并没有真正理解它的含义。
有人可以尝试在 Haskell 中或最终在一般情况下解释该术语的含义吗?
最佳答案
这里的“函数应用”与“将参数传递给函数”大致相同。例如,如果您有一个函数 f :: Int -> Int
和 x :: Int
然后 f x :: Int
是一个表达式,其中表达式 x
被“应用”为 f
的参数*。
在 Haskell 中没有真正的内置运算符用于执行函数应用程序(除了将函数与其参数分开的空格)。 Prelude
导出($)
功能虽然,这是(除了一些不寻常的怪事)只是功能应用程序:即($) f x
与 f x
相同(这主要用于一些句法技巧,虽然它偶尔也有其他用途)
*:有人向我指出,人们通常认为这是将函数应用于参数而不是函数的参数,但我认为这对于理解应用程序的含义并没有太大区别
关于haskell - Haskell 中的术语 "function application",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52058692/