我想从 Haskell 的硬盘中读取一个大的图形结构。图结构如下所示:
每个节点都有一个定义 - 一个描述什么是子节点以及它们如何连接的文件(这些图使用Data.Serialize
.
每个节点都可以有孩子。因此,如果我有文件A.node
,我可以拥有A
包含节点子A
节点的目录(以<X>.node
文件和目录的形式)。
我希望能够使用 Haskell 遍历此图并加载到内存并反序列化仅需要的文件。因此,例如,如果我以(等的孩子A->B->C
在哪里)的方式遍历图形,那么 Haskell 应该读取文件,和。下次我遍历图表时,不应再次读取文件,因为我们已经这样做了。B
A
A.node
A/B.node
A/B/C.node
我怎样才能以最好的方式做到这一点?