Grokking zippers

Hello all- I'm trying to understand the categorical guts underlying zippers. In the Haskell wikibook (and other places) I've seen zippers described roughly as the derivatives of functors. However, I haven't been able to find any references that develop this idea rigorously. For instance, what exactly is the "derivative" of a functor at an object, in the direction of some arrow? I'm interested in studying this concept in more depth, but I can't find a definition to start with. Any pointers to good books or papers would be greatly appreciated. :) Thank you all- Nathan Bloomfield

Hi Nathan, Nathan Bloomfield wrote:
arrow? I'm interested in studying this concept in more depth, but I can't find a definition to start with.
Any pointers to good books or papers would be greatly appreciated. :)
The wiki page already gives some pointers to papers; have those been of any help? Specifically, [1] goes into quite some detail on how to mechanically take the derivative of a data type. Hope this helps, Martijn. [1] http://www.cs.nott.ac.uk/~ctm/diff.pdf

Martijn van Steenbergen wrote:
Nathan Bloomfield wrote:
arrow? I'm interested in studying this concept in more depth, but I can't find a definition to start with.
Any pointers to good books or papers would be greatly appreciated. :)
The wiki page already gives some pointers to papers; have those been of any help?
In addition to http://www.haskell.org/haskellwiki/Zipper and http://en.wikibooks.org/wiki/Haskell/Zippers (as you have discovered), I've also collected a number of references at http://www.citeulike.org/user/spl/tag/zipper . (I'd also be interested in others you find.) The ones by Conor McBride are perhaps most relevant. Sean
participants (3)
-
Martijn van Steenbergen
-
Nathan Bloomfield
-
Sean Leather