gpt4 book ai didi

haskell - 统一镜头的目的是什么?

转载 作者:行者123 更新时间:2023-12-03 14:41:12 26 4
gpt4 key购买 nike

在阅读 Lens over Tea #1 时文章,我找到了united镜片。我的实现是

united :: Lens' a ()
united f v = const v <$> f ()

这与 implementation in the Lens library 几乎相同.

让我完全困惑的是,为什么我首先想要这样的功能?这个镜头有什么用途吗?

最佳答案

我以前从未真正见过或使用过这个。但我想它和 id 一样有用。函数(返回未修改的参数)或 Identity monad(这是一个没有“效果”的 monad;完全等同于根本不使用 monad)很有用。

这些和其他类似的概念(包括 () 类型!)基本上是“无所事事”的结构,因此当您单独查看它们时,它们似乎毫无用处。但是当涉及到多态性时,它们变得很有用,通过给你一个“什么都不做”的选项来传递给一般操作。

关于haskell - 统一镜头的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28516603/

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