Haskell QuickCheck2 使用 ByteString?

标签 haskell quickcheck

RWH 书籍说要获得 ByteString 支持,我需要添加:

instance Arbitrary B.ByteString where
    arbitrary   = fmap B.pack arbitrary
    coarbitrary = coarbitrary . B.unpack

但是我的 GHC 7.2 和 QuickCheck 2.4.1.1 告诉我:

`coarbitrary' is not a (visible) method of class `Arbitrary'

有什么指点吗?

最佳答案

co Arbitary 已在 QC 2.0 中移至其自己的类型类 CoAbritary,因此只需删除 coArbitary 的方程式即可。

另请参阅最新的 documentation .

关于Haskell QuickCheck2 使用 ByteString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8113751/

相关文章:

Haskell版本的阴阳谜题: Kind incompatibility error

haskell - 使用 QuickCheck 生成存在类型?

haskell - 是否可以在 QuickCheck 中生成任意函数

haskell - QuickCheck 中是否有 "there exists"量词?

java - Ploeh 的 AutoFixture for .Net 是否有 Java 替代品?

haskell - 使用 QuickCheck 测试随机生成器

Haskell MonadState 实现 put 和修改

haskell - 意外的重叠实例错误

haskell - 如何阻止GHC生成中间文件?

haskell - 如何使用检查器测试此应用实例? (没有 CoArbitrary 实例(验证 e0 [Char]))