• Corpus ID: 201671341

Performance Analysis of Zippers

  title={Performance Analysis of Zippers},
  author={V'it vSefl},
  • V'it vSefl
  • Published 28 August 2019
  • Computer Science
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… 

Figures from this paper


The Zipper
  • G. Huet
  • Computer Science
    J. 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
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
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.
A Transformation-Based Optimiser for Haskell
An Applicative Control-Flow Graph Based on Huet's Zipper
Type-indexed data types
The Derivative of a Regular Type is its Type of One-Hole Contexts
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
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
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
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.