Haskell中递归数据结构的高效序列化

时间:2011-10-31 17:22:18

标签: haskell

我目前正在使用Haskell中的一些大型Trie结构,我是从二进制文件构建的。这个过程需要一些时间,我很好奇是否有一种通用的方法来快速(de)递归数据结构的序列化。对于大型文件和大型Tries,使用Show和Read类比从头开始构建尝试要慢得多。也许我做错了。

Trie的形状如下:

type Trie e a = T e [Trie e a]

序列化这样的递归结构有哪些好方法?另外,一般来说,这个问题的一些好方法是什么?

2 个答案:

答案 0 :(得分:1)

通用解决方案可能是实现FoldableUnfoldable(希望后一类存在)。

答案 1 :(得分:1)

如文档的评论中所述,用于在文档中派生binary实例的链接已被破坏。但该文件仅存在于稍微不同的新网址:http://darcs.haskell.org/packages/binary/tools/derive/BinaryDerive.hs

我还没有使用它,但我认为这可以做你想要的。