gpt4 book ai didi

built-in - 为什么一些 Prelude 函数是用 Foldl 定义的?

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

通常,避免使用 foldl,而是使用 foldl'foldr。引用Real World Haskell :

Due to the thunking behavior of foldl, it is wise to avoid this function in real programs: even if it doesn't fail outright, it will be unnecessarily inefficient. Instead, import Data.List and use foldl'.

然而,一些 Prelude 函数是根据它定义的(例如 (\\)unionBy )。为什么是这样?是为了不给这些功能引入太多的严格性吗?

最佳答案

Prelude 是在 foldl' 存在之前设计的,从那时起,就一直面临着保持向后兼容性(正如您提到的严格性)的压力。

关于built-in - 为什么一些 Prelude 函数是用 Foldl 定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13474932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com