Room: BBL room 471
Speaker: Maaike Gerritsen
Title: The Zipper
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.