Performance Analysis of Zippers
@inproceedings{vSefl2019PerformanceAO, title={Performance Analysis of Zippers}, author={V'it vSefl}, year={2019} }
A zipper is a powerful technique of representing a purely functional data structure in a way that allows fast access to a specific element. It is often used in cases where the imperative data structures would use a mutable pointer. However, the efficiency of zippers as a replacement for mutable pointers is not sufficiently explored. We attempt to address this issue by comparing the performance of zippers and mutable pointers in two common scenarios and three different languages: C++, C♯, and…
References
SHOWING 1-10 OF 11 REFERENCES
The Zipper
- Computer ScienceJ. Funct. Program.
- 1997
The Zipper is Huet's nifty name for a nifty data structure which fulfills this need of representing a tree together with a subtree that is the focus of attention, where that focus may move left, right, up or down the tree.
Scrap your zippers: a generic zipper for heterogeneous types
- Computer ScienceWGP '10
- 2010
The generic zipper presented in this paper operates over any type and requires no boilerplate code to be written by the user, the only restriction is that the types traversed must be instances of the Data class from the Scrap your Boilerplate framework.
Scrap your boilerplate: a practical design pattern for generic programming
- Computer ScienceTLDI '03
- 2003
This work describes a design pattern for writing programs that traverse data structures built from rich mutually-recursive data types that makes essential use of rank-2 polymorphism, an extension found in some implementations of Haskell.
An Applicative Control-Flow Graph Based on Huet's Zipper
- Computer ScienceElectron. Notes Theor. Comput. Sci.
- 2006
The Derivative of a Regular Type is its Type of One-Hole Contexts
- Computer Science
- 2001
The relevant notion of containment is shown to be appropriately characterized in terms of derivatives and plugging in and the technology is exploited to give the one-hole contexts for sub-elements of recursive types in a manner similar to Huet's ‘zippers’.
for Data: Differentiating Data Structures
- MathematicsFundam. Informaticae
- 2005
Using containers the authors can provide a notion of linear map which is the concept missing from McBride's first analysis and verify the usual laws of differential calculus including the chain rule and establish laws for initial algebras and terminal coalgebra.
Introduction to Algorithms, third edition
- Computer Science
- 2009
Pseudo-code explanation of the algorithms coupled with proof of their accuracy makes this book a great resource on the basic tools used to analyze the performance of algorithms.
Handbook of Data Structures and Applications
- Computer Science
- 2004
Fundamentals Analysis of Algorithms Sartaj Sahni University of Florida, Gainesville, USA Basic Structures Dinesh P. Mehta Graphs Narsingh Deo University of Central Florida, Orlando, USA Priority Queues Leftist Trees Sartaji Sahni Skew Heaps.