gpt4 book ai didi

haskell - Lens.Family2 中的 folded 相当于什么?

转载 作者:行者123 更新时间:2023-12-04 13:34:56 25 4
gpt4 key购买 nike

folded::Foldable f => Fold (f a) a ( ref ) 在 Lens.Family2 中似乎没有定义;将 folded 与 Lens.Family2 一起使用的正确方法是什么?

最佳答案

traverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()是透镜状的。

folded :: Foldable t => Fold (t a) () a b
folded = traverse_

其实我们知道fPhantom (来自 Fold's definition )— traverse_ 的返回值实际上不包含任何 () — 因此理论上您应该能够概括 Folded 使用 coerce 的类型:

folded :: Foldable t => Fold (t a) u a b
folded f = coerce . traverse_ f

(这应该适用于任何 Fold s t a btb 参数始终是幻象。这就是为什么 lens's Fold 只有两个parameters.) las,coerce 似乎不是由 Lens.Family2 导出的,因此您实际上无法编写此代码。我会提交一个功能请求,但我不知道将它发送到哪里。

关于haskell - Lens.Family2 中的 folded 相当于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62763993/

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