<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.karljones.com/index.php?action=history&amp;feed=atom&amp;title=Zipper_%28data_structure%29</id>
		<title>Zipper (data structure) - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.karljones.com/index.php?action=history&amp;feed=atom&amp;title=Zipper_%28data_structure%29"/>
		<link rel="alternate" type="text/html" href="http://wiki.karljones.com/index.php?title=Zipper_(data_structure)&amp;action=history"/>
		<updated>2026-10-23T16:41:31Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>http://wiki.karljones.com/index.php?title=Zipper_(data_structure)&amp;diff=18156&amp;oldid=prev</id>
		<title>Karl Jones: Created page with &quot;A '''zipper''' is a technique of representing an aggregate data structure so that it is convenient for writing programs that traverse the structure arbitrarily and update its...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.karljones.com/index.php?title=Zipper_(data_structure)&amp;diff=18156&amp;oldid=prev"/>
				<updated>2016-09-09T18:23:33Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;A &amp;#039;&amp;#039;&amp;#039;zipper&amp;#039;&amp;#039;&amp;#039; is a technique of representing an aggregate data structure so that it is convenient for writing programs that traverse the structure arbitrarily and update its...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;A '''zipper''' is a technique of representing an aggregate data structure so that it is convenient for writing programs that traverse the structure arbitrarily and update its contents, especially in purely functional programming languages. &lt;br /&gt;
&lt;br /&gt;
The zipper was described by [[Gérard Huet]] in 1997.&lt;br /&gt;
&lt;br /&gt;
It includes and generalizes the gap buffer technique sometimes used with arrays.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
The zipper technique is general in the sense that it can be adapted to lists, trees, and other recursively defined data structures. Such modified data structures are usually referred to as &amp;quot;a tree with zipper&amp;quot; or &amp;quot;a list with zipper&amp;quot; to emphasize that the structure is conceptually a tree or list, while the zipper is a detail of the implementation.&lt;br /&gt;
&lt;br /&gt;
A layman's explanation for a tree with zipper would be an ordinary computer filesystem with operations to go to parent (often cd ..), and the possibility to go downwards (cd subdirectory). The zipper is the pointer to the current path. Behind the scenes the zippers are efficient when making (functional) changes to a data structure, where a new, slightly changed, data structure is returned from an edit operation (instead of making a change in the current data structure).&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [ Zipper (data structure)] @ Wikipedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Computer science]]&lt;/div&gt;</summary>
		<author><name>Karl Jones</name></author>	</entry>

	</feed>