|
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 item deep 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.
|
|
|