Mr.*_*ind 6 haskell terminology
我目前正在学习Haskell,并且曾经多次遇到过"功能应用"这个术语,并没有真正理解它的含义.
有人可以尝试在Haskell中解释这个术语的含义,还是最终解释一下?
"函数应用程序"在这里或多或少意味着"将参数传递给函数".例如,如果你有一个函数f :: Int -> Int,x :: Int则then f x :: Int是一个表达式,其中表达式x被"应用"为f*的参数.
在Haskell中没有用于执行函数应用程序的真正内置运算符(除了将函数与其参数分开的空格之外).虽然Prelude出口($)函数,这是(除了一些不寻常的奇怪)只是函数应用:即($) f x是相同的f x(这主要用于一些句法技巧,虽然它偶尔也有其他用途)
*:有人向我指出,人们通常会在将函数应用于参数而不是函数的参数方面考虑这一点,我认为这对于理解应用程序的含义并不会有太大的不同.
这主要是标准的英语用法。
“函数应用”只是函数的具体应用。本文中的“应用”只是与动词“应用”相对应的名词;它意味着应用某物的行为或过程。
“应用某物”意味着使用它。“将 A 应用到 B”意味着使用 A 对 B 执行某些操作。因此“应用函数”意味着在某些事物上使用/调用该函数。f x在 Haskell 中,当我编写我要应用的f表达式时x。
因此,“函数应用”只是应用函数的一般概念的术语。在特定的上下文中,它可以用来谈论:
$通常被解释为“函数应用运算符”,因为f $ x = f x或多或少是它的定义或者任何相关的东西。