6

data-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しましたが、長期的には正しくありません。

私はGHC7.6.1を使用しています、ベースは4.6.0.0です。

4

1 に答える 1

9

GHC 7.6.1 (ベース 4.6.0.0)の変更ログに記載されています。

BitsクラスにはもうNumスーパークラスがありません。

次のようにして、Haskell98/Haskell2010 と GHC の両方で動作するコードを作成できます。

  • Bits型のインスタンスを作成するときはいつでも、インスタンスも作成Numし、
  • 関数、インスタンス、またはクラスにBits t制約を与えるときはいつでも、それにも制約を与えNum tます。

この決定の詳細については、GHC #5593 とメーリング リストの議論を参照ください。

于 2012-09-24T07:42:02.107 に答える