ocaml-containers/2.4/containers/CCPair/index.html
2018-12-23 21:02:45 -06:00

2 lines
No EOL
12 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCPair (containers.CCPair)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers</a> &#x00BB; CCPair</nav><h1>Module <code>CCPair</code></h1><h2 id="tuple-functions"><a href="#tuple-functions" class="anchor"></a>Tuple Functions</h2></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type </span>('a, 'b) t</code><code><span class="keyword"> = </span><span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span></code></dt></dl><dl><dt class="spec value" id="val-make"><a href="#val-make" class="anchor"></a><code><span class="keyword">val </span>make : <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a></code></dt><dd><p>Make a tuple from its components.</p><dl><dt>since</dt><dd>0.16</dd></dl></dd></dl><dl><dt class="spec value" id="val-map1"><a href="#val-map1" class="anchor"></a><code><span class="keyword">val </span>map1 : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'c</span>) <span>&#45;&gt;</span> <span class="type-var">'b</span><span class="keyword"> * </span><span class="type-var">'c</span></code></dt><dd><p><code>map1 f (x, y)</code> returns <code>(f x, y)</code>.</p></dd></dl><dl><dt class="spec value" id="val-map2"><a href="#val-map2" class="anchor"></a><code><span class="keyword">val </span>map2 : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">'c</span><span class="keyword"> * </span><span class="type-var">'a</span>) <span>&#45;&gt;</span> <span class="type-var">'c</span><span class="keyword"> * </span><span class="type-var">'b</span></code></dt><dd><p><code>map2 f (x, y)</code> returns <code>(x, f y)</code>.</p></dd></dl><dl><dt class="spec value" id="val-map"><a href="#val-map" class="anchor"></a><code><span class="keyword">val </span>map : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'c</span>) <span>&#45;&gt;</span> (<span class="type-var">'b</span> <span>&#45;&gt;</span> <span class="type-var">'d</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'c</span><span class="keyword"> * </span><span class="type-var">'d</span></code></dt><dd><p>Synonym to <code>( *** )</code>. Map on both sides of a tuple.</p></dd></dl><dl><dt class="spec value" id="val-map_same"><a href="#val-map_same" class="anchor"></a><code><span class="keyword">val </span>map_same : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'a</span>) <span>&#45;&gt;</span> <span class="type-var">'b</span><span class="keyword"> * </span><span class="type-var">'b</span></code></dt><dd><p>Like <a href="index.html#val-map"><code>map</code></a> but specialized for pairs with elements of the same type.</p></dd></dl><dl><dt class="spec value" id="val-map_fst"><a href="#val-map_fst" class="anchor"></a><code><span class="keyword">val </span>map_fst : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">_</span>) <span>&#45;&gt;</span> <span class="type-var">'b</span></code></dt><dd><p>Compose the given function with <code>fst</code>.</p><dl><dt>since</dt><dd>0.3.3</dd></dl></dd></dl><dl><dt class="spec value" id="val-map_snd"><a href="#val-map_snd" class="anchor"></a><code><span class="keyword">val </span>map_snd : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">_</span><span class="keyword"> * </span><span class="type-var">'a</span>) <span>&#45;&gt;</span> <span class="type-var">'b</span></code></dt><dd><p>Compose the given function with <code>snd</code>.</p><dl><dt>since</dt><dd>0.3.3</dd></dl></dd></dl><dl><dt class="spec value" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span class="keyword">val </span>iter : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-swap"><a href="#val-swap" class="anchor"></a><code><span class="keyword">val </span>swap : (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'b</span><span class="keyword"> * </span><span class="type-var">'a</span></code></dt><dd><p>Swap the components of the tuple.</p></dd></dl><dl><dt class="spec value" id="val-(&lt;&lt;&lt;)"><a href="#val-(&lt;&lt;&lt;)" class="anchor"></a><code><span class="keyword">val </span>(&lt;&lt;&lt;) : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'c</span>) <span>&#45;&gt;</span> <span class="type-var">'b</span><span class="keyword"> * </span><span class="type-var">'c</span></code></dt><dd><p>Map on the left side of the tuple.</p></dd></dl><dl><dt class="spec value" id="val-(&gt;&gt;&gt;)"><a href="#val-(&gt;&gt;&gt;)" class="anchor"></a><code><span class="keyword">val </span>(&gt;&gt;&gt;) : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">'c</span><span class="keyword"> * </span><span class="type-var">'a</span>) <span>&#45;&gt;</span> <span class="type-var">'c</span><span class="keyword"> * </span><span class="type-var">'b</span></code></dt><dd><p>Map on the right side of the tuple.</p></dd></dl><dl><dt class="spec value" id="val-(***)"><a href="#val-(***)" class="anchor"></a><code><span class="keyword">val </span>(***) : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'c</span>) <span>&#45;&gt;</span> (<span class="type-var">'b</span> <span>&#45;&gt;</span> <span class="type-var">'d</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'c</span><span class="keyword"> * </span><span class="type-var">'d</span></code></dt><dd><p>Map on both sides of a tuple.</p></dd></dl><dl><dt class="spec value" id="val-(&amp;&amp;&amp;)"><a href="#val-(&amp;&amp;&amp;)" class="anchor"></a><code><span class="keyword">val </span>(&amp;&amp;&amp;) : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'c</span>) <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span><span class="keyword"> * </span><span class="type-var">'c</span></code></dt><dd><p><code>f &amp;&amp;&amp; g</code> is <code>fun x -&gt; f x, g x</code>. It splits the computations into two parts.</p></dd></dl><dl><dt class="spec value" id="val-merge"><a href="#val-merge" class="anchor"></a><code><span class="keyword">val </span>merge : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> <span class="type-var">'c</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'c</span></code></dt><dd><p>Uncurrying (merges the two components of a tuple).</p></dd></dl><dl><dt class="spec value" id="val-fold"><a href="#val-fold" class="anchor"></a><code><span class="keyword">val </span>fold : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> <span class="type-var">'c</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'c</span></code></dt><dd><p>Synonym to <a href="index.html#val-merge"><code>merge</code></a>.</p><dl><dt>since</dt><dd>0.3.3</dd></dl></dd></dl><dl><dt class="spec value" id="val-dup"><a href="#val-dup" class="anchor"></a><code><span class="keyword">val </span>dup : <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'a</span></code></dt><dd><p><code>dup x = (x,x)</code> (duplicate the value).</p><dl><dt>since</dt><dd>0.3.3</dd></dl></dd></dl><dl><dt class="spec value" id="val-dup_map"><a href="#val-dup_map" class="anchor"></a><code><span class="keyword">val </span>dup_map : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span></code></dt><dd><p><code>dup_map f x = (x, f x)</code>. Duplicates the value and applies the function to the second copy.</p><dl><dt>since</dt><dd>0.3.3</dd></dl></dd></dl><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val </span>equal : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> bool) <span>&#45;&gt;</span> (<span class="type-var">'b</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> bool) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val </span>compare : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> int) <span>&#45;&gt;</span> (<span class="type-var">'b</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> int) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span>&#45;&gt;</span> int</code></dt></dl><dl><dt class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><code><span class="keyword">type </span>'a printer</code><code><span class="keyword"> = </span>Format.formatter <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> unit</code></dt></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val </span>pp : ?&#8288;sep:string <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-printer">printer</a> <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-printer">printer</a> <span>&#45;&gt;</span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <a href="index.html#type-printer">printer</a></code></dt><dd><p>Print a pair given an optional separator and a method for printing each of its elements.</p></dd></dl></div></body></html>