dictionary - 为什么 Data.Map.Map 不是双函子?
问题描述
在 a 中存储数据时Map
,我最近在寻找一个Bitraversable
实例,因为我想遍历键和值。令我惊讶的是,我发现它Map
甚至没有Bifunctor
实例,即使first
( mapKeys
) 和second
( map
) 的实现都存在。
是否有特定的原因,或者这个决定只是为了最小化依赖关系?
谢谢
解决方案
(left
你真的是说first
吗?我要写left
而不是first
到处写)的实现不存在,因为mapKeys
有一个约束:
Ord k2 => (k1 -> k2) -> Map k1 a -> Map k2 a
left
必须适用于任何一对类型k1
和k2
.
推荐阅读
- apache-kafka - io.smallrye.config.ConfigValidationException:配置验证失败
- php - 程序功能发生的相反结果
- c++ - GLFW - 如何将变量输入消息框中,以免它们显示中文
- aws-sdk - 在执行 restoreDBInstanceFromDBSnapshot AWS SDK 调用时指定用户和密码
- python - 通过 pyenv 安装 python 时出现问题:BUILD FAILED
- django - 如何使用 ForeignKey(Django 模型)向我的字段添加多个值?
- c# - 具体类可以将方法实现委托给子类吗?
- google-sheets - Google 表格:如何组合过滤器、查询和 MINIFS
- android - Mockito:需要但未调用,ViewModel 协程测试
- node.js - 从 AWS Lambda 层导入依赖项时找不到模块“jsonwebtoken”错误