DiffList的好处

时间:2014-08-12 01:51:10

标签: haskell

Learn You a Haskell演示了DiffList概念:

*Main Control.Monad.Writer> let f = \xs -> "dog" ++ ("meat" ++ xs)
*Main Control.Monad.Writer> f "foo"
"dogmeatfoo"

列表从左到右构建的DiffList的主要好处是什么?

1 个答案:

答案 0 :(得分:0)

DList包列出了一些渐近:https://hackage.haskell.org/package/dlist-0.5/docs/Data-DList.html

您会注意到很多事情只需要O(1),包括conssnocappend。但是,请注意,检查列表需要每次强制执行大量操作,因此如果您要进行更多检查而不是构造,或者将两者交错,DList方法不一定是胜利。