MessagePack是一种二进制序列化格式,显然可以从 Haskell 和 Python 中使用,我需要在我的项目中混合使用这些语言。
我需要序列化的结构相当简单:
data Citation = Citation {
sourceDocument :: Document,
targetDocument :: Document,
links :: [ Reference ]
}
type Reference = (Int, Int)
data Document = Document {
words :: [ ByteString ],
wordNums :: [ Int ]
}
但我不知道从哪里开始。显然,MessagePack 的库支持某种派生机制,通过使“文档”自动成为 OBJECT 的实例,可以轻松完成上述操作,但我尝试调用自动派生到目前为止都失败了......
你怎么看?
这是库的链接:http ://hackage.haskell.org/package/msgpack-0.7.1.5 这里是一些示例的链接,根据上述版本的文档,这些都不起作用: