联镜的目的是什么?

卢博米尔·塞拉拉

在阅读第1号茶上镜头时,我找到了united镜头。我的实现是

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

与Lens库中实现几乎相同

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

Ben

我以前从未真正看过或使用过它。但是我想它的作用与id函数(返回未修改的参数)或Identitymonad(这是没有“效果”的monad;完全等同于完全不使用monad)的用法相同。

这些以及其他类似的概念(包括()类型!)基本上是“无所事事”的结构,因此当您单独查看它们时,它们似乎毫无用处。但是,当涉及多态时,它们将为您提供“不做任何事情”选项以传递给常规操作,因此很有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章