haskell - 导入作为 Haskell 中的运算符的类型族
问题描述
GHC.TypeNats
导出以下签名的类型族:
type family (m :: Nat) + (n :: Nat) :: Nat
如何显式导入它?import GHC.TypeNats((+))
不起作用,因为它说不GHC.TypeNats
出口(+)
......
当我隐式导入整个模块时,一切都可以编译,但这确实不是我想要在我的代码中拥有的。
我正在使用 GHC 8.6.5
解决方案
从手册:
现在进出口清单存在一些潜在的歧义;例如,如果您写
import M( (+) )
的是函数(+)
还是类型构造函数(+)
?默认是前者,但使用ExplicitNamespaces
(由 暗示TypeOperators
)GHC 允许您通过在后者前面加上关键字类型来指定后者,因此:import M( type (+) )
推荐阅读
- python - 根据条件填充数据框时出错
- python - 我如何制作一个返回相同索引数量的函数
- rust - rust:预期寿命参数问题
- php - 提交表单后重定向返回页面错误
- reactjs - 如何在自定义挂钩中修复“useEffect 缺少依赖项”
- python - Python 列/字段名组合
- c# - 如何在 Azure 函数中定义 WCF 端点?
- ssis - 如何检查 SSIS 中的数据质量?
- google-analytics - 为什么 gtag.js 的最新标记不包含禁用 javascript 的客户端的任何实现
- postgresql - 数据库备份后 CloudSQL CPU 使用率高达 100%