gpt4 book ai didi

haskell - 我应该在 Turtle 或 Foldl 包中使用折叠吗?

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

我在使用 Turtle 时遇到了一些困难,并且在盯着难以理解的错误消息几分钟后才意识到我使用了错误的 fold 函数。

https://hackage.haskell.org/package/turtle-1.5.8/docs/Turtle-Shell.html#v:fold https://hackage.haskell.org/package/foldl-1.4.0/docs/src/Control.Foldl.html#fold

为什么会出现名称冲突?我不相信这是巧合,但我无法弄清楚。这些本质上是不同类型的折叠吗?

具体来说,我想使用最大修改时间将流文件名折叠成单个名称。

最佳答案

(首先,我们这里讨论的折叠不是来自 Data.Foldablefoldr foldl foldl' 函数,它们来自 foldl 包, 概念上Data.Foldable 中的 foldl' 函数相关,作为一种多功能泛化,但具有单独的定义。)

Fold数据类型代表对传入值序列执行的严格的、有状态的操作。它的 Applicative 实例允许您对同一值序列组合运行两个操作。 Fold 有一个很好的属性,即它们不知道值的来源。

每种类型的源都有自己的函数来输入值。这些函数可能共享名称fold,但这不是问题,因为典型的建议是导入合格的包。

fold来自 foldl 的函数包可容纳任何可折叠容器的内容。 fold来自turtle提供 Shell 的结果。像“pipes”这样的流媒体库有它们的 own adapters .

关于haskell - 我应该在 Turtle 或 Foldl 包中使用折叠吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50050325/

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