试图编译数据memocombinators 0.4.3,得到以下错误:
Data/MemoCombinators.hs:119:10:
Could not deduce (Num a) arising from a use of `IntTrie.apply'
from the context (Ord a, Bits a)
Run Code Online (Sandbox Code Playgroud)
我认为Bits以前是从中衍生出来的Num.也许它很糟糕并且依赖性被删除了,但现在包装已经坏了.这有什么已知的解决方案吗?也许我正在使用一个坏版本的东西?
我暂时Num a在我的软件包副本中添加了函数签名,但从长远来看这不是正确的.
我使用的是GHC 7.6.1,基数为4.6.0.0.
它在GHC 7.6.1(基础4.6.0.0)的更改日志中提到.
该
Bits班没有一个Num超了.您可以通过以下方式生成适用于Haskell98/Haskell2010和GHC的代码:
- 每当你创建一个
Bits类型的实例时,也要生成Num实例,和- 每当你给一个函数,实例或类一个
Bits t约束时,也给它一个Num t约束.
有关此决定的更多信息,请参阅GHC#5593和邮件列表讨论.