首页 > 解决方案 > Haskell 中的术语“函数应用程序”

问题描述

我目前正在学习 Haskell,并且遇到过几次“函数应用程序”这个术语,但并没有真正理解它的含义。

有人可以尝试在 Haskell 中或最终在一般情况下解释该术语的含义吗?

标签: haskellterminology

解决方案


这里的“函数应用”与“将参数传递给函数”大致相同。例如,如果您有一个函数f :: Int -> Int,并且x :: Intthenf x :: Int是一个表达式,其中该表达式x被“应用”为f*.

在 Haskell 中没有真正的内置运算符用于执行函数应用程序(除了将函数与其参数分开的空格)。Prelude但是导出($)函数,这(除了一些不寻常的怪事)只是函数应用程序:即($) f xf x(这主要用于一些句法技巧,尽管它偶尔也有其他用途)


*:有人向我指出,人们通常认为这是将函数应用于参数而不是函数的参数,但我认为这对于理解应用程序的含义并没有太大区别


推荐阅读