尝试编译数据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)
我认为Bits
曾经来自Num
。也许它很糟糕并且依赖性被删除了,但现在包装已经坏了。这有什么已知的解决方案吗?也许我正在使用一个糟糕的版本?
我暂时将Num a
添加到我的软件包副本中的函数签名中,但从长远来看这是不对的。
我正在使用GHC 7.6.1,基数是4.6.0.0。
答案 0 :(得分:9)
它是mentioned in the changelog for GHC 7.6.1(基础4.6.0.0)。
Bits
类不再有Num
超类。您可以通过以下方式制作适用于Haskell98 / Haskell2010和GHC的代码:
- 每当您创建一个类型的
Bits
实例时,还要生成Num
个实例,- 每当您为函数,实例或类提供
Bits t
约束时,也会给它Num t
约束。
有关此决定的详情,请参阅GHC #5593和mailing list discussion。