ocaml-containers/2.3/containers/CCOpt/index.html
2018-08-06 11:54:50 -05:00

12 lines
No EOL
28 KiB
HTML
Raw Permalink 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.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCOpt (containers.CCOpt)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> &mdash; <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCOpt</span></h1></header><h2>Options</h2><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>+'a t</code><code><span class="keyword"> = </span><span class="type-var">'a</span> option</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-map"><a href="#val-map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Transform the element inside, if any.</p></div></div><div class="spec val" id="val-map_or"><a href="#val-map_or" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map_or : default:<span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span></code></div><div class="doc"><p><code class="code">map_or ~default f o</code> is <code class="code">f x</code> if <code class="code">o = Some x</code>, <code class="code">default</code> otherwise.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-map_lazy"><a href="#val-map_lazy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map_lazy : (unit <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span></code></div><div class="doc"><p><code class="code">map_lazy default_fn f o</code> if <code class="code">f o</code> if <code class="code">o = Some x</code>, <code class="code">default_fn ()</code> otherwise.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-is_some"><a href="#val-is_some" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_some : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p><code class="code">is_some (Some x)</code> returns <code class="code">true</code> otherwise it returns <code class="code">false</code>.</p></div></div><div class="spec val" id="val-is_none"><a href="#val-is_none" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_none : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p><code class="code">is_none None</code> returns <code class="code">true</code> otherwise it returns <code class="code">false</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.11</li></ul></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> int) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"><p>Compare two options, using custom comparators for the value.
<code class="code">None</code> is always assumed to be less than <code class="code">Some _</code>.</p></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> bool) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p>Test for equality between option types using a custom equality predicat.</p></div></div><div class="spec val" id="val-return"><a href="#val-return" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>return : <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Monadic return, that is <code class="code">return x = Some x</code>.</p></div></div><div class="spec val" id="val-(&gt;|=)"><a href="#val-(&gt;|=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(&gt;|=) : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Infix version of <a href="index.html#val-map">map</a>.</p></div></div><div class="spec val" id="val-(&gt;&gt;=)"><a href="#val-(&gt;&gt;=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(&gt;&gt;=) : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Monadic bind.</p></div></div><div class="spec val" id="val-flat_map"><a href="#val-flat_map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>flat_map : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Flip version of &gt;&gt;=.</p></div></div><div class="spec val" id="val-map2"><a href="#val-map2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map2 : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'c</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'c</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">map2 f o1 o2</code> maps <code class="code">'a option</code> and <code class="code">'b option</code> to a <code class="code">'c option</code> using <code class="code">f</code>.</p></div></div><div class="spec val" id="val-iter"><a href="#val-iter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iter : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> unit) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> unit</code></div><div class="doc"><p>Iterate on 0 or 1 element.</p></div></div><div class="spec val" id="val-fold"><a href="#val-fold" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fold : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span></code></div><div class="doc"><p>Fold on 0 or 1 element.</p></div></div><div class="spec val" id="val-filter"><a href="#val-filter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>filter : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> bool) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Filter on 0 or 1 element.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.5</li></ul></div></div><div class="spec val" id="val-if_"><a href="#val-if_" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>if_ : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> bool) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> option</code></div><div class="doc"><p><code class="code">if_ f x</code> is <code class="code">Some x</code> if <code class="code">f x</code>, <code class="code">None</code> otherwise.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-exists"><a href="#val-exists" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>exists : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> bool) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p>Return <code class="code">true</code> iff there exists an element for which the provided function evaluates to <code class="code">true</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-for_all"><a href="#val-for_all" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>for_all : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> bool) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p>Return <code class="code">true</code> iff the provided function evaluates to <code class="code">true</code> for all elements.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-get_or"><a href="#val-get_or" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_or : default:<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">get_or ~default o</code> extracts the value from <code class="code">o</code>, or
returns <code class="code">default</code> if <code class="code">o = None</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.18</li></ul></div></div><div class="spec val" id="val-get_exn"><a href="#val-get_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_exn : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span></code></div><div class="doc"><p>Open the option, possibly failing if it is <code class="code">None</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the option is <code class="code">None</code>.</li></ul></div></div><div class="spec val" id="val-get_lazy"><a href="#val-get_lazy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_lazy : (unit <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">get_lazy default_fn x</code> unwraps <code class="code">x</code>, but if <code class="code">x = None</code> it returns <code class="code">default_fn ()</code> instead.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.6.1</li></ul></div></div><div class="spec val" id="val-sequence_l"><a href="#val-sequence_l" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>sequence_l : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> list <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> list <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">sequence_l [x1; x2; ...; xn]</code> returns <code class="code">Some [y1;y2;...;yn]</code> if
every <code class="code">xi</code> is <code class="code">Some yi</code>. Otherwise, if the list contains at least
one <code class="code">None</code>, the result is <code class="code">None</code>.</p></div></div><div class="spec val" id="val-wrap"><a href="#val-wrap" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>wrap : ?&#8288;handler:(exn <span class="keyword">&#8209;&gt;</span> bool) <span class="keyword">&#8209;&gt;</span> (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> option</code></div><div class="doc"><p><code class="code">wrap f x</code> calls <code class="code">f x</code> and returns <code class="code">Some y</code> if <code class="code">f x = y</code>. If <code class="code">f x</code> raises
any exception, the result is <code class="code">None</code>. This can be useful to wrap functions
such as <code class="code">Map.S.find</code>.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">handler</span>: the exception handler, which returns <code class="code">true</code> if the
exception is to be caught.</li></ul></div></div><div class="spec val" id="val-wrap2"><a href="#val-wrap2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>wrap2 : ?&#8288;handler:(exn <span class="keyword">&#8209;&gt;</span> bool) <span class="keyword">&#8209;&gt;</span> (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'c</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'c</span> option</code></div><div class="doc"><p><code class="code">wrap2 f x y</code> is similar to <a href="index.html#val-wrap">wrap</a> but for binary functions.</p></div></div><h3>Applicative</h3><div class="spec val" id="val-pure"><a href="#val-pure" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pure : <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <a href="index.html#val-return">return</a>.</p></div></div><div class="spec val" id="val-(&lt;*&gt;)"><a href="#val-(&lt;*&gt;)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(&lt;*&gt;) : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">f &lt;*&gt; (Some x)</code> returns <code class="code">Some (f x)</code> and <code class="code">f &lt;*&gt; None</code> returns <code class="code">None</code>.</p></div></div><div class="spec val" id="val-(&lt;$&gt;)"><a href="#val-(&lt;$&gt;)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(&lt;$&gt;) : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Like <code class="code">map</code>.</p></div></div><h3>Alternatives</h3><div class="spec val" id="val-or_"><a href="#val-or_" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>or_ : else_:<span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">or_ ~else_ a</code> is <code class="code">a</code> if <code class="code">a</code> is <code class="code">Some _</code>, <code class="code">else_</code> otherwise.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-or_lazy"><a href="#val-or_lazy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>or_lazy : else_:(unit <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">or_lazy ~else_ a</code> is <code class="code">a</code> if <code class="code">a</code> is <code class="code">Some _</code>, <code class="code">else_ ()</code> otherwise.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-(&lt;+&gt;)"><a href="#val-(&lt;+&gt;)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(&lt;+&gt;) : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">a &lt;+&gt; b</code> is <code class="code">a</code> if <code class="code">a</code> is <code class="code">Some _</code>, <code class="code">b</code> otherwise.</p></div></div><div class="spec val" id="val-choice"><a href="#val-choice" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>choice : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> list <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">choice</code> returns the first non-<code class="code">None</code> element of the list, or <code class="code">None</code>.</p></div></div><div class="spec val" id="val-flatten"><a href="#val-flatten" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>flatten : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">flatten</code> transforms <code class="code">Some x</code> into <code class="code">x</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 2.2</li></ul></div></div><div class="spec val" id="val-return_if"><a href="#val-return_if" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>return_if : bool <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Apply <code class="code">Some</code> or <code class="code">None</code> depending on a boolean.
More precisely, <code class="code">return_if false x</code> is <code class="code">None</code>,
and <code class="code">return_if true x</code> is <code class="code">Some x</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 2.2</li></ul></div></div><h3>Infix Operators</h3><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul><div class="spec module" id="module-Infix"><a href="#module-Infix" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Infix/index.html">Infix</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><h3>Conversion and IO</h3><div class="spec val" id="val-to_list"><a href="#val-to_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_list : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> list</code></div><div class="doc"></div></div><div class="spec val" id="val-of_list"><a href="#val-of_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_list : <span class="type-var">'a</span> list <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Head of list, or <code class="code">None</code>.</p></div></div><div class="spec val" id="val-to_result"><a href="#val-to_result" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_result : <span class="type-var">'e</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> (<span class="type-var">'a</span>, <span class="type-var">'e</span>) Result.result</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-to_result_lazy"><a href="#val-to_result_lazy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_result_lazy : (unit <span class="keyword">&#8209;&gt;</span> <span class="type-var">'e</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> (<span class="type-var">'a</span>, <span class="type-var">'e</span>) Result.result</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-of_result"><a href="#val-of_result" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_result : (<span class="type-var">'a</span>, <span class="type-var">_</span>) Result.result <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> unit) <span class="keyword">&#8209;&gt;</span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a gen</code><code><span class="keyword"> = </span>unit <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> option</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a printer</code><code><span class="keyword"> = </span>Format.formatter <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-random_gen"><a href="#type-random_gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a random_gen</code><code><span class="keyword"> = </span>Random.State.t <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-random"><a href="#val-random" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>random : <span class="type-var">'a</span> <a href="index.html#type-random_gen">random_gen</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="index.html#type-random_gen">random_gen</a></code></div><div class="doc"></div></div><div class="spec val" id="val-choice_seq"><a href="#val-choice_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>choice_seq : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="index.html#type-sequence">sequence</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">choice_seq s</code> is similar to <a href="index.html#val-choice">choice</a>, but works on sequences.
It returns the first <code class="code">Some x</code> occurring in <code class="code">s</code>, or <code class="code">None</code> otherwise.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-to_gen"><a href="#val-to_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_gen : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-gen">gen</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_seq"><a href="#val-to_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_seq : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : <span class="type-var">'a</span> <a href="index.html#type-printer">printer</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="index.html#type-printer">printer</a></code></div><div class="doc"></div></div></body></html>