On Tue, Mar 31, 2009 at 10:13 PM, Dan Weston <weston...@imageworks.com> wrote:
>
>> What I've learned: Zippers are "structured collections[1] with a
>> focus". Through a Zipper you can O(1) change the value of the focused
>> element: that's the fundamental property. In addition, you can change
>> the focus through a series of "moving" functions.
>
> To clarify: there is no magic that turns a data structure into O(1) access,
> just as a CPS transformation is not a magic bullet for speeding up programs.
> Only the move functions (changing focus to some subset of "adjacent"
> substructures) are O(1). Update functions need not be O(1). And amortized
> random access time via a zipper is never less than amortized random access
> of the optimal equivalent un-zippered data structure.

That's true. But, correct me if I'm wrong, updates on the focus site are O(1).

Cristiano
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to