【发布时间】:2012-05-10 07:49:09
【问题描述】:
在 Haskell 中是否可以有一个双向链表,实现它们的理想解决方案是什么?我正在实现一个场景图,其中每个小部件都有一个父级和一个子级,向上和向下查看图形是有益的。
【问题讨论】:
-
对不起,我很迂腐,但是恕我直言,在纯 FP 的上下文中将 haskell 的列表称为“链表”或谈论“双向链表”会拖累很多必要的包袱(指针、破坏性更新)进入讨论并混淆事物。
-
如果不直接与您的问题相关,则与您的目标相关...在论文“Huge Data but Small Programs”eprints.whiterose.ac.uk/5000 中实现了一个场景图-尽管该代码仍有望公开它从来没有被放在 Hackage 上。遗憾的是,似乎没有多少已发表的关于函数式编程领域的工作,这是一个很好的话题,这很可惜。
-
与使用双向链表相比,在haskell 中将数据存储为单链树然后用zipper 遍历它要容易得多
标签: haskell doubly-linked-list