1

在 a 中存储数据时Map,我最近在寻找一个Bitraversable实例,因为我想遍历键和值。令我惊讶的是,我发现它Map甚至没有Bifunctor实例,即使first( mapKeys) 和second( map) 的实现都存在。

是否有特定的原因,或者这个决定只是为了最小化依赖关系?

谢谢

4

1 回答 1

7

left你真的是说first吗?我要写left而不是first到处写)的实现不存在,因为mapKeys有一个约束:

Ord k2 => (k1 -> k2) -> Map k1 a -> Map k2 a

left必须适用于任何一对类型k1k2.

于 2021-04-04T20:28:06.983 回答