| 
 
             
   
      |  | Wednesday, October 27, 2004 |  
  
    | Zipper in Scheme. A comp.lang.scheme posting from Oleg describe how to implement Zipper in Scheme. The implementation uses delimited continuations (ie. shift-reset or splitter).
 
 
  Zipper is a very handy data structure that lets us replace an itemdeep in a complex data structure, e.g., a tree or a term, without any
 mutation. The resulting data structure will share as much of its
 components with the old structure as possible. The old data structure
 is still available (which can be handy if we wish to 'undo' the
 operation later on). Zipper is essentially an `updateable' and yet
 pure functional cursor into a data structure.
 
 2:16:00 PM
   |  |  © Copyright 2005 Chris Double.
 |  |  |