keys
和镜头库分别有Keyed
和FunctorWithIndexed
个类。
他们的成员函数mapWithKey
和imap
似乎相似,只是keys
是使用类型系列制定的,lens
使用函数依赖项。
当一个人更喜欢一个或另一个?为什么lens
没有使用keys
,是因为类型推断?有一些有趣的发展历史吗?作为图书馆作家,我应该为Keyed f
和FunctorWithIndex i f
容器编写变体吗?
答案 0 :(得分:2)
来自keys
包自述文件 -
实际上,这个包很大程度上归入了
lens
包,但它现在被维护,因为它有更简单的依赖。