有趣的是,当有圆括号时,haskell如何倍增。例如:
5 *(3 + 4)
3 + 4 = 7
5 * 7 = 35
我乘以这种方式
但我怀疑Haskell(ghci)做了同样的事情
5 * 3 + 5 * 4 = 35
是否有任何分配属性规则?
感谢您的关注
答案 0 :(得分:3)
答案简短:不。
此外,编译器没有兴趣在这个方向上应用分布规则:你必须执行3个操作(两个*,一个+)而不是两个。
答案 1 :(得分:2)
在Haskell中,5*(3 + 4)
是(*) 5 ((+) 3 4)
的语法糖,所以我认为总和是在产品之前执行的。