Elm 为什么';是否需要使用括号?

Elm 为什么';是否需要使用括号?,elm,Elm,学习,但不了解作者的以下意思: 我们可以避免写括号的原因是因为函数 应用程序关联到左边 在函数名之后指定的任何值或函数都将自动与函数关联,因为它的参数就是这样 在语言(如JavaScript)中,您可以明确区分函数作为表达式的用法: function foo (message) { return message } console.log(foo) // Function as expression. console.log(foo('Hello')) // Funct

学习,但不了解作者的以下意思:

我们可以避免写括号的原因是因为函数 应用程序关联到左边


在函数名之后指定的任何值或函数都将自动与函数关联,因为它的参数就是这样

在语言(如JavaScript)中,您可以明确区分函数作为表达式的用法:

function foo (message) {
  return message
}

console.log(foo)          // Function as expression.

console.log(foo('Hello')) // Function application with result: "Hello"
在Elm中,这种行为不需要亲子关系

foo message =
  message

foo         -- Function as expression.

foo "Hello" -- Function application with result: "Hello"
这与JavaScript完全不同,当您想要应用函数并对结果进行处理时。在这里,您必须明确地告诉编译器,
(foo“Hello”)
String.toUpper

String.toUpper (foo "Hello") -- "HELLO"

所讨论的括号是
((除5)2)
。我对这个句子的解释是,你可以把
((divide 5)2)
写成
divide 52
,因为
divide52
是从左开始计算的,即
divide5->divide5
然后
divide52->2.5

虽然我看不出还有什么其他方法可以评估!无论是
52
还是
除以2
,然后
除以25
都没有意义。

a b c
=
((a b)c)
<代码>a b c d=
((a b)c)d)
<代码>AB c=…正文…=
a=(\BC->…正文…
=
a=(\b->(\c->…正文…)
)。