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.3cabal版本:1.16.0cabal-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附带的旧版本。。。你能把这个作为回答吗?