如何解析这两个函数?
> (** (1/2)) $ 40
6.324555320336759
it :: Double
> ((**) (1/2)) $ 40
9.094947017729282e-13
it :: Double
答案 0 :(得分:7)
第一个是右侧部分,是:
的简写(\x -> x ** (1/2)) 40
第二个是使用运算符**
的函数形式,基本上将它视为像pow
之类的命名函数:
(**) (1/2) 40
等于
(1/2) ** 40
我从代码中省略了$
,因为它们是多余的。
(foo bar) $ baz = (foo bar) baz = foo bar baz