我遇到了一个例子(2010 年)using arrows for XML manipulation
针对此处演示的用例,arrow
抽象相对于最新的 lens
是否有优势?
最佳答案
Lenses and arrows are theoretical cousins ,两者都尝试创建可以充当 getter 和 setter 的组合函数值。但是,这是一个主观意见,我认为如果你持观望态度,你应该使用镜头。这取决于图书馆的支持。镜头是
更积极地维护,几乎每天都有提交
用户界面基本相同(使用
.
将镜片粉碎在一起形成新镜片与使用.
将箭头粉碎在一起)可能lift arrows into lenses (有点;更多的是演示)
充满了其他好东西(比如遍历、折叠和同构)和助手(想想:泛型、uniplate、MonadReader/MonadState)
目前在 Haskell 社区中更受欢迎,例如更多人了解 Stack Overflow 并回答问题
一个缺点:lens
是一个带有粗糙类型的大包。
关于haskell - 用于更新树结构的透镜或箭头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36553821/