<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=Structure_Binarymap</id>
	<title>Structure Binarymap - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=Structure_Binarymap"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Structure_Binarymap&amp;action=history"/>
	<updated>2026-05-16T23:09:39Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=Structure_Binarymap&amp;diff=138051&amp;oldid=prev</id>
		<title>Unknown user: Új oldal, tartalma: „{{GlobalTemplate|Infoalap|SmlReferenciaBinarymap}}   &lt;pre&gt; (* Binarymap -- applicative maps as balanced ordered binary trees *) (* From SML/NJ lib 0.2, copyright 1993 b…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Structure_Binarymap&amp;diff=138051&amp;oldid=prev"/>
		<updated>2012-10-21T20:12:00Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Infoalap|SmlReferenciaBinarymap}}   &amp;lt;pre&amp;gt; (* Binarymap -- applicative maps as balanced ordered binary trees *) (* From SML/NJ lib 0.2, copyright 1993 b…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Infoalap|SmlReferenciaBinarymap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(* Binarymap -- applicative maps as balanced ordered binary trees *)&lt;br /&gt;
(* From SML/NJ lib 0.2, copyright 1993 by AT&amp;amp;T Bell Laboratories *)&lt;br /&gt;
(* Original implementation due to Stephen Adams, Southampton, UK *)&lt;br /&gt;
&lt;br /&gt;
type (&amp;#039;key, &amp;#039;a) dict&lt;br /&gt;
&lt;br /&gt;
exception NotFound&lt;br /&gt;
&lt;br /&gt;
val mkDict	 : (&amp;#039;key * &amp;#039;key -&amp;gt; order) -&amp;gt; (&amp;#039;key, &amp;#039;a) dict&lt;br /&gt;
val insert	 : (&amp;#039;key, &amp;#039;a) dict * &amp;#039;key * &amp;#039;a -&amp;gt; (&amp;#039;key, &amp;#039;a) dict&lt;br /&gt;
val find		: (&amp;#039;key, &amp;#039;a) dict * &amp;#039;key -&amp;gt; &amp;#039;a&lt;br /&gt;
val peek		: (&amp;#039;key, &amp;#039;a) dict * &amp;#039;key -&amp;gt; &amp;#039;a option&lt;br /&gt;
val remove	 : (&amp;#039;key, &amp;#039;a) dict * &amp;#039;key -&amp;gt; (&amp;#039;key, &amp;#039;a) dict * &amp;#039;a&lt;br /&gt;
val numItems  : (&amp;#039;key, &amp;#039;a) dict -&amp;gt; int&lt;br /&gt;
val listItems : (&amp;#039;key, &amp;#039;a) dict -&amp;gt; (&amp;#039;key * &amp;#039;a) list&lt;br /&gt;
val app		 : (&amp;#039;key * &amp;#039;a -&amp;gt; unit) -&amp;gt; (&amp;#039;key,&amp;#039;a) dict -&amp;gt; unit&lt;br /&gt;
val revapp	 : (&amp;#039;key * &amp;#039;a -&amp;gt; unit) -&amp;gt; (&amp;#039;key,&amp;#039;a) dict -&amp;gt; unit&lt;br /&gt;
val foldr	  : (&amp;#039;key * &amp;#039;a * &amp;#039;b -&amp;gt; &amp;#039;b)-&amp;gt; &amp;#039;b -&amp;gt; (&amp;#039;key,&amp;#039;a) dict -&amp;gt; &amp;#039;b&lt;br /&gt;
val foldl	  : (&amp;#039;key * &amp;#039;a * &amp;#039;b -&amp;gt; &amp;#039;b) -&amp;gt; &amp;#039;b -&amp;gt; (&amp;#039;key,&amp;#039;a) dict -&amp;gt; &amp;#039;b&lt;br /&gt;
val map		 : (&amp;#039;key * &amp;#039;a -&amp;gt; &amp;#039;b) -&amp;gt; (&amp;#039;key,&amp;#039;a) dict -&amp;gt; (&amp;#039;key, &amp;#039;b) dict&lt;br /&gt;
val transform : (&amp;#039;a -&amp;gt; &amp;#039;b) -&amp;gt; (&amp;#039;key,&amp;#039;a) dict -&amp;gt; (&amp;#039;key, &amp;#039;b) dict&lt;br /&gt;
&lt;br /&gt;
(*&lt;br /&gt;
	[(&amp;#039;key, &amp;#039;a) dict] is the type of applicative maps from domain type&lt;br /&gt;
	&amp;#039;key to range type &amp;#039;a, or equivalently, applicative dictionaries&lt;br /&gt;
	with keys of type &amp;#039;key and values of type &amp;#039;a. They are implemented&lt;br /&gt;
	as ordered balanced binary trees.&lt;br /&gt;
&lt;br /&gt;
	[mkDict ordr] returns a new, empty map whose keys have ordering&lt;br /&gt;
	ordr.&lt;br /&gt;
&lt;br /&gt;
	[insert(m, i, v)] extends (or modifies) map m to map i to v.&lt;br /&gt;
&lt;br /&gt;
	[find (m, k)] returns v if m maps k to v; otherwise raises NotFound.&lt;br /&gt;
&lt;br /&gt;
	[peek(m, k)] returns SOME v if m maps k to v; otherwise returns NONE.&lt;br /&gt;
&lt;br /&gt;
	[remove(m, k)] removes k from the domain of m and returns the&lt;br /&gt;
	modified map and the element v corresponding to k. Raises NotFound&lt;br /&gt;
	if k is not in the domain of m.&lt;br /&gt;
&lt;br /&gt;
	[numItems m] returns the number of entries in m (that is, the size&lt;br /&gt;
	of the domain of m).&lt;br /&gt;
&lt;br /&gt;
	[listItems m] returns a list of the entries (k, v) of keys k and&lt;br /&gt;
	the corresponding values v in m, in order of increasing key values.&lt;br /&gt;
&lt;br /&gt;
	[app f m] applies function f to the entries (k, v) in m, in&lt;br /&gt;
	increasing order of k (according to the ordering ordr used to&lt;br /&gt;
	create the map or dictionary).&lt;br /&gt;
&lt;br /&gt;
	[revapp f m] applies function f to the entries (k, v) in m, in&lt;br /&gt;
	decreasing order of k.&lt;br /&gt;
&lt;br /&gt;
	[foldl f e m] applies the folding function f to the entries (k, v)&lt;br /&gt;
	in m, in increasing order of k.&lt;br /&gt;
&lt;br /&gt;
	[foldr f e m] applies the folding function f to the entries (k, v)&lt;br /&gt;
	in m, in decreasing order of k.&lt;br /&gt;
&lt;br /&gt;
	[map f m] returns a new map whose entries have form (k, f(k,v)),&lt;br /&gt;
	where (k, v) is an entry in m.&lt;br /&gt;
&lt;br /&gt;
	[transform f m] returns a new map whose entries have form (k, f v),&lt;br /&gt;
	where (k, v) is an entry in m.&lt;br /&gt;
*)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[PallosPeter|Peti]] - 2007.06.04.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>