gpt4 book ai didi

haskell - "associates to the right"相当于左联想还是右联想?

转载 作者:行者123 更新时间:2023-12-01 07:51:17 25 4
gpt4 key购买 nike

如果我说一个操作是左关联的,那是否等同于说它“从左边关联”和“从右边关联”?

我的困惑来自我的函数式编程 Haskell 教科书中的一个例子。
它指出:

函数应用程序关联到左侧。例如mult x y z意味着 ((mult x)y)z .即 mult接受一个整数 x , 返回一个函数 mult x ,它接受一个整数 y , 并返回一个函数 mult x y ,它接受一个整数 z并返回 x*y*z 的结果.

但是如果我说它“关联到左侧”,我认为它是右关联的,即评估从右侧和左侧开始。然而,自评价mult从左到右开始,这是左结合吗?作者应该说函数应用“关联到右边”吗?还是我遗漏了什么而作者是正确的?

最佳答案

你只需要停止考虑评估顺序。

Bracketing其实是关于表达结构的,也就是哪个
这些是我们说 mult x y 时的意思,而不是关于我们以后如何决定评估它。

      $           $
/ \ / \
$ y mult $
/ \ / \
mult x x y

是的,我们在学校被教导括号是关于你做的顺序
东西。那是因为我们是在算术的背景下学习的
运营商。由于这些都是严格的,因此决定的自由较少
如何评估给定的表达式和括号主要决定
订单。另外,我们可能从来没有想太多关于表达式的问题
抽象的事物不同于它们被写下来的方式。

在更一般的 Haskell 上下文中,我们不能将解析和
评估。当我们说“关联左”或“向左”时
我们只是在谈论它是如何解析的。它告诉你 x属于带有 mult 的子表达式在它的左边而不是 y在它的右边。

(我还没有看到有人使用“associates from”这个词,而且它也没有
真的很有意义,除非你把它读成“关联远离”。)

关于haskell - "associates to the right"相当于左联想还是右联想?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49647924/

25 4 0
文章推荐: jquery - 尝试使用模糊功能显示
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com