Tech News
← Back to articles

Zippers: Making Functional "Updates" Efficient (2010)

read original related products more articles

In the Haskell stuff, I was planning on moving on to some monad-related

stuff. But I had a reader write in, and ask me to write another

post on data structures, focusing on a structured called a

zipper.

A zipper is a remarkably clever idea. It’s not really a single data

structure, but rather a way of building data structures in functional

languages. The first mention of the structure seems to be a paper

by Gerard Huet in 1997, but as he says in the paper, it’s likely that this was

used before his paper in functional code — but no one thought to formalize it

and write it up. (In the original version of this post, I said the name of the guy who first wrote about zippers was “Carl Huet”. I have absolutely no idea where that came from – I literally had his paper on my lap as I wrote this post, and I still managed to screwed up his name. My apologies!)

... continue reading