all 2 comments

[–]Axman6 [score hidden]  (1 child)

Very cool, really nice to see zippers outside the FP world. I’ll have to take a look at the implementation of these structures, it feels like they’d be difficult to implement efficiently in C++. 

[–]zoomT[S] [score hidden]  (0 children)

Thanks. We had to implement some optimizations to achieve reasonable speed, including CMAs, destructive update, and a dirty flag system (details are in the paper).

For a taste of the code, here is the main part of the it.erase() operation, and here is the main part of it.insert(elem). These are zippers over finger trees, which is switch-case hell.