高效列表通过功能组合追加/前置

时间:2012-07-04 13:01:03

标签: list haskell function-composition

几个月前,我读到了一个有效的方法,通过用函数组合表示它们来添加和预先将列表添加到O(1)中的其他列表,这些函数组合一旦被评估,就会在结果列表中构建O(n)。

不幸的是,我不记得这篇文章的来源或(如果存在的话)这种技术/方法的名称。你有关于它的推荐信吗?

2 个答案:

答案 0 :(得分:11)

数据结构称为差异列表(简称DList)。您可以找到它的默认实现in a library available on Hackage

如您所述,可以从a chapter in Real World Haskell on the subject收集完整说明。

答案 1 :(得分:1)

你必须考虑前导中的ShowS和朋友。请参阅here