gpt4 book ai didi

Haskell GHC-7.6.2 使用 HashMap 导出数据和类型

转载 作者:行者123 更新时间:2023-12-01 11:42:10 25 4
gpt4 key购买 nike

升级到 Ubuntu 13.10 后,我的一个 Haskell 代码无法编译。以下代码在(至少)ghc-7.0.x 下编译没有问题,但在 ghc-7.6.2(使用 unordered-containers-0.2.2.1)下失败:

{-# LANGUAGE OverloadedStrings, DeriveDataTypeable #-}
import Data.Typeable
import Data.Data
import qualified Data.HashMap.Strict as HM

data Bar = Bar { bar :: String } deriving(Data, Typeable)
data Foo = Foo { foo :: HM.HashMap String Bar } deriving(Data, Typeable)

我得到的错误是:

deriving-hm-fail.hs:7:58:
No instance for (Data (HM.HashMap String Bar))
arising from the 'deriving' clause of a data type declaration
Possible fix:
add an instance declaration for (Data (HM.HashMap String Bar))
or use a standalone 'deriving instance' declaration,
so you can specify the instance context yourself
When deriving the instance for (Data Foo)

Data.HashMap.Strict 有实例声明:(Data k, Data v, Eq k, Hashable k) => Data (HashMap k v)。由于 Bar 是 Data 的一个实例,这应该有效,还是我遗漏了什么?

最佳答案

它不仅应该工作,而且确实在 Linux 上与 GHC 7.6.3 x86-64 一起工作。也许这是 7.6.2 的错误?我会查看更新日志。

关于Haskell GHC-7.6.2 使用 HashMap 导出数据和类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19055669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com