The Zipper

Stc
Date: 2008-02-21

Time: 11:00

Room: BBL room 471

Speaker: Maaike Gerritsen

Title: The Zipper

Abstract

Navigation in treelike datastructures should be possible without having to take their structure apart and later rebuilding it. Also, navigation operations should preferably work using a minimal amount of runtime.

The Zipper is a datastructure designed for tree editing. It works locally, the tree root is not the starting point of the datastructure anymore, but the current node that we are working on is. All its navigation operations work in constant time.

One problem with the zipper is that for each datatype on which you want to instantiate it, a lot of boilerplate code needs to be written. To solve this problem several generic zippers have been implemented. Here we will discuss two implementations and compare them.