在我的应用程序中,我需要序列化一个包含任意数据类型的向量,在本例中是一个双精度列表。为了序列化我正在导入 Data.Vector.Binary 的向量。
在 GHCi 中加载模块时出现以下错误:
Overlapping instances for Binary [Double]
arising from a use of `decode' at Statistics.hs:57:33-42
Matching instances:
instance (Data.Vector.Generic.Base.Vector v a, Binary a) =>
Binary (v a)
-- Defined in Data.Vector.Binary
instance (Binary a) => Binary [a] -- Defined in Data.Binary
列表是 Vector 的实例吗?我查看了文档,但找不到这样的实例。
我该怎么做才能序列化这个结构?
编辑:
我正在使用以下软件包版本:
- 矢量-0.6.0.2
- 矢量二进制实例-0.1.2
- 二进制-0.5.0.2
这里还有一个显示问题的片段,这次是一个字符列表:
import Data.Binary
import Data.Vector.Binary
import qualified Data.ByteString.Lazy as L
main = L.writeFile "/tmp/aaa" $ encode "hello"