【发布时间】:2016-11-27 01:14:24
【问题描述】:
我对 haskell 中的 ($) 感到很困惑。
当我输入时
:t ($)
在 ghci 中。我会得到
:($) :: (a -> b) -> a -> b
但是,当我输入
:t ($ 3)
我会得到
($ 3) :: Num a => (a -> b) -> b
那么,为什么 ($) 接受第二个参数没有任何错误?
【问题讨论】:
-
($)函数确实是一个普通的 Haskell 函数,但它也是一个中缀运算符,所有名称完全是符号的函数也是如此。中缀运算符具有称为 运算符部分 的特殊部分应用语法,您可以在此处阅读有关它们的更多信息:wiki.haskell.org/Section_of_an_infix_operator -
@Alexis King, not so ordinary.
-
@user3237465 我其实很清楚这一点,是的,但是把它带给学习者只会造成完全不必要的混乱。
标签: haskell syntax dollar-sign