Haskell 没有(可键入的PackageName)的实例

Haskell 没有(可键入的PackageName)的实例,haskell,cabal,Haskell,Cabal,我尝试编译以下代码: import Data.Typeable import Distribution.Package name :: PackageName name = PackageName "Foo" main = do print $ typeOf name 但此操作失败,出现以下错误: No instance for (Typeable PackageName) arising from a use of `typeOf' Possible fix: add an

我尝试编译以下代码:

import Data.Typeable
import Distribution.Package

name :: PackageName
name = PackageName "Foo"

main = do
  print $ typeOf name
但此操作失败,出现以下错误:

No instance for (Typeable PackageName)
  arising from a use of `typeOf'
Possible fix:
  add an instance declaration for (Typeable PackageName)
In the second argument of `($)', namely `typeOf name'
In a stmt of a 'do' block: print $ typeOf name
In the expression: do { print $ typeOf name }
然而,Cabal的文档和源代码都说PackageName有一个用于Typeable的派生实例。我错过了什么

ghc版本:7.6.3

cabal版本:1.16.0

cabal-1.16.0.1的文档实际上显示没有
实例可键入的PackageName
。文档表明此实例首次出现在版本1.18.0中,因此您应该安装比该版本更高的版本(最好是最新版本)。(请注意,
cabal安装
和Haskell包
cabal
不是一回事,
cabal安装
是一个独立的程序,不依赖于包
cabal
)。

的文档实际上显示没有
实例可键入的PackageName
。文档表明此实例首次出现在版本1.18.0中,因此您应该安装比该版本更高的版本(最好是最新版本)。(请注意,
cabal install
和Haskell包
cabal
不是一回事,
cabal install
是一个独立的程序,不依赖于包
cabal
)@user2407038:这实际上是问题所在。我想我查过了。首先,我使用
aptcacheshow libghc-cabal-dev
检查了版本,在写这篇文章时,我使用
ghc-pkg-list
检查了版本。我的失败是没有安装libghc-cabal-dev,而是使用了GHC附带的旧版本。。。你能把这个作为回答吗?