Update iter doc to 1.9.

This commit is contained in:
Simon Cruanes 2025-02-04 23:33:45 -05:00
parent 98e5d62e95
commit b429e6a486
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4
39 changed files with 1069 additions and 231 deletions

View file

@ -11,7 +11,7 @@
<div class="by-name">
<h2>OCaml package documentation</h2>
<ol>
<li><a href="iter/index.html">iter</a> <span class="version">1.8</span></li>
<li><a href="iter/index.html">iter</a> <span class="version">1.9</span></li>
</ol>
</div>
</main>

View file

@ -1,27 +1,27 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>IO (iter.Iter.IO)</title><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">Iter</a> &#x00BB; IO</nav><header class="odoc-preamble"><h1>Module <code><span>Iter.IO</span></code></h1><p>Basic IO</p><p>Very basic interface to manipulate files as iterator of chunks/lines. The iterators take care of opening and closing files properly; every time one iterates over an iterator, the file is opened/closed again.</p><p>Example: copy a file <code>&quot;a&quot;</code> into file <code>&quot;b&quot;</code>, removing blank lines:</p><pre class="language-ocaml"><code>Iterator.(IO.lines_of &quot;a&quot; |&gt; filter (fun l-&gt; l&lt;&gt; &quot;&quot;) |&gt; IO.write_lines &quot;b&quot;);;</code></pre><p>By chunks of <code>4096</code> bytes:</p><pre class="language-ocaml"><code>Iterator.IO.(chunks_of ~size:4096 &quot;a&quot; |&gt; write_to &quot;b&quot;);;</code></pre><p>Read the lines of a file into a list:</p><pre class="language-ocaml"><code>Iterator.IO.lines &quot;a&quot; |&gt; Iterator.to_list</code></pre><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.5.1</li></ul></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-lines_of"><a href="#val-lines_of" class="anchor"></a><code><span><span class="keyword">val</span> lines_of : <span>?mode:int <span class="arrow">&#45;&gt;</span></span> <span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span>string <a href="../index.html#type-t">t</a></span></span></code></div><div class="spec-doc"><p><code>lines_of filename</code> reads all lines of the given file. It raises the same exception as would opening the file and read from it, except from <code>End_of_file</code> (which is caught). The file is <b>always</b> properly closed. Every time the iterator is iterated on, the file is opened again, so different iterations might return different results</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">mode</span> <p>default <code>0o644</code></p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">flags</span> <p>default: <code>[Open_rdonly]</code></p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-chunks_of"><a href="#val-chunks_of" class="anchor"></a><code><span><span class="keyword">val</span> chunks_of :
<span>?mode:int <span class="arrow">&#45;&gt;</span></span>
<span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span>?size:int <span class="arrow">&#45;&gt;</span></span>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>IO (iter.Iter.IO)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">Iter</a> &#x00BB; IO</nav><header class="odoc-preamble"><h1>Module <code><span>Iter.IO</span></code></h1><p>Basic IO</p><p>Very basic interface to manipulate files as iterator of chunks/lines. The iterators take care of opening and closing files properly; every time one iterates over an iterator, the file is opened/closed again.</p><p>Example: copy a file <code>&quot;a&quot;</code> into file <code>&quot;b&quot;</code>, removing blank lines:</p><pre class="language-ocaml"><code>Iterator.(IO.lines_of &quot;a&quot; |&gt; filter (fun l-&gt; l&lt;&gt; &quot;&quot;) |&gt; IO.write_lines &quot;b&quot;);;</code></pre><p>By chunks of <code>4096</code> bytes:</p><pre class="language-ocaml"><code>Iterator.IO.(chunks_of ~size:4096 &quot;a&quot; |&gt; write_to &quot;b&quot;);;</code></pre><p>Read the lines of a file into a list:</p><pre class="language-ocaml"><code>Iterator.IO.lines &quot;a&quot; |&gt; Iterator.to_list</code></pre><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.5.1</li></ul></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-lines_of"><a href="#val-lines_of" class="anchor"></a><code><span><span class="keyword">val</span> lines_of : <span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span> <span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span>string <a href="../index.html#type-t">t</a></span></span></code></div><div class="spec-doc"><p><code>lines_of filename</code> reads all lines of the given file. It raises the same exception as would opening the file and read from it, except from <code>End_of_file</code> (which is caught). The file is <b>always</b> properly closed. Every time the iterator is iterated on, the file is opened again, so different iterations might return different results</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">mode</span> <p>default <code>0o644</code></p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">flags</span> <p>default: <code>[Open_rdonly]</code></p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-chunks_of"><a href="#val-chunks_of" class="anchor"></a><code><span><span class="keyword">val</span> chunks_of :
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?size</span>:int <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span>string <a href="../index.html#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Read chunks of the given <code>size</code> from the file. The last chunk might be smaller. Behaves like <a href="#val-lines_of"><code>lines_of</code></a> regarding errors and options. Every time the iterator is iterated on, the file is opened again, so different iterations might return different results</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write_to"><a href="#val-write_to" class="anchor"></a><code><span><span class="keyword">val</span> write_to :
<span>?mode:int <span class="arrow">&#45;&gt;</span></span>
<span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span>string <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p><code>write_to filename seq</code> writes all strings from <code>seq</code> into the given file. It takes care of opening and closing the file.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">mode</span> <p>default <code>0o644</code></p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">flags</span> <p>used by <code>open_out_gen</code>. Default: <code>[Open_creat;Open_wronly]</code>.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write_bytes_to"><a href="#val-write_bytes_to" class="anchor"></a><code><span><span class="keyword">val</span> write_bytes_to :
<span>?mode:int <span class="arrow">&#45;&gt;</span></span>
<span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="xref-unresolved">Stdlib</span>.Bytes.t <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.5.4</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write_lines"><a href="#val-write_lines" class="anchor"></a><code><span><span class="keyword">val</span> write_lines :
<span>?mode:int <span class="arrow">&#45;&gt;</span></span>
<span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span>string <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p>Same as <a href="#val-write_to"><code>write_to</code></a>, but intercales <code>'\n'</code> between each string</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write_bytes_lines"><a href="#val-write_bytes_lines" class="anchor"></a><code><span><span class="keyword">val</span> write_bytes_lines :
<span>?mode:int <span class="arrow">&#45;&gt;</span></span>
<span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="xref-unresolved">Stdlib</span>.Bytes.t <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.5.4</li></ul></div></div></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Map (iter.Iter.Map)</title><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">Iter</a> &#x00BB; Map</nav><header class="odoc-preamble"><h1>Module <code><span>Iter.Map</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Adapt"><a href="#module-Adapt" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Adapt/index.html">Adapt</a></span><span>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Map (iter.Iter.Map)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">Iter</a> &#x00BB; Map</nav><header class="odoc-preamble"><h1>Module <code><span>Iter.Map</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Adapt"><a href="#module-Adapt" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Adapt/index.html">Adapt</a></span><span>
(<a href="Adapt/index.html#argument-1-M">M</a> : <span class="xref-unresolved">Stdlib</span>.Map.S) :
<a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-key">key</a> = <span class="xref-unresolved">M</span>.key</span> <span class="keyword">and</span> <span><span class="keyword">type</span> <span>'a <a href="module-type-S/index.html#type-t">t</a></span> = <span><span class="type-var">'a</span> <span class="xref-unresolved">M</span>.t</span></span></span></code></div><div class="spec-doc"><p>Adapt a pre-existing Map module to make it iterator-aware</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Make/index.html">Make</a></span><span> (<a href="Make/index.html#argument-1-V">V</a> : <span class="xref-unresolved">Stdlib</span>.Map.OrderedType) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-key">key</a> = <span class="xref-unresolved">V</span>.t</span></span></code></div><div class="spec-doc"><p>Create an enriched Map module, with iterator-aware functions</p></div></div></div></body></html>

View file

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (iter.Iter.Map.S)</title><link rel="stylesheet" href="../../../../odoc.support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../../index.html">iter</a> &#x00BB; <a href="../../index.html">Iter</a> &#x00BB; <a href="../index.html">Map</a> &#x00BB; S</nav><header class="odoc-preamble"><h1>Module type <code><span>Map.S</span></code></h1></header><div class="odoc-content"><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="xref-unresolved">Stdlib</span>.Map.S</span></code></summary><div class="odoc-spec"><div class="spec type anchored" id="type-key"><a href="#type-key" class="anchor"></a><code><span><span class="keyword">type</span> key</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>!+'a t</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_to_list"><a href="#val-add_to_list" class="anchor"></a><code><span><span class="keyword">val</span> add_to_list : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span><span class="type-var">'a</span> list</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> list</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-update"><a href="#val-update" class="anchor"></a><code><span><span class="keyword">val</span> update : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span><span class="type-var">'a</span> option</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> option</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-singleton"><a href="#val-singleton" class="anchor"></a><code><span><span class="keyword">val</span> singleton : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span><span class="keyword">val</span> remove : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-merge"><a href="#val-merge" class="anchor"></a><code><span><span class="keyword">val</span> merge :
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (iter.Iter.Map.S)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../../index.html">iter</a> &#x00BB; <a href="../../index.html">Iter</a> &#x00BB; <a href="../index.html">Map</a> &#x00BB; S</nav><header class="odoc-preamble"><h1>Module type <code><span>Map.S</span></code></h1></header><div class="odoc-content"><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="xref-unresolved">Stdlib</span>.Map.S</span></code></summary><div class="odoc-spec"><div class="spec type anchored" id="type-key"><a href="#type-key" class="anchor"></a><code><span><span class="keyword">type</span> key</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>!+'a t</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_to_list"><a href="#val-add_to_list" class="anchor"></a><code><span><span class="keyword">val</span> add_to_list : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span><span class="type-var">'a</span> list</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> list</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-update"><a href="#val-update" class="anchor"></a><code><span><span class="keyword">val</span> update : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span><span class="type-var">'a</span> option</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> option</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-singleton"><a href="#val-singleton" class="anchor"></a><code><span><span class="keyword">val</span> singleton : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span><span class="keyword">val</span> remove : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-merge"><a href="#val-merge" class="anchor"></a><code><span><span class="keyword">val</span> merge :
<span><span>(<span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> option</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'b</span> option</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'c</span> option</span>)</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'b</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Set (iter.Iter.Set)</title><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">Iter</a> &#x00BB; Set</nav><header class="odoc-preamble"><h1>Module <code><span>Iter.Set</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Adapt"><a href="#module-Adapt" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Adapt/index.html">Adapt</a></span><span> (<a href="Adapt/index.html#argument-1-X">X</a> : <span class="xref-unresolved">Stdlib</span>.Set.S) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-elt">elt</a> = <span class="xref-unresolved">X</span>.elt</span> <span class="keyword">and</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-t">t</a> = <span class="xref-unresolved">X</span>.t</span></span></code></div><div class="spec-doc"><p>Create an enriched Set module from the given one</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Make/index.html">Make</a></span><span> (<a href="Make/index.html#argument-1-X">X</a> : <span class="xref-unresolved">Stdlib</span>.Set.OrderedType) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-elt">elt</a> = <span class="xref-unresolved">X</span>.t</span></span></code></div><div class="spec-doc"><p>Functor to build an extended Set module from an ordered type</p></div></div></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Set (iter.Iter.Set)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">Iter</a> &#x00BB; Set</nav><header class="odoc-preamble"><h1>Module <code><span>Iter.Set</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Adapt"><a href="#module-Adapt" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Adapt/index.html">Adapt</a></span><span> (<a href="Adapt/index.html#argument-1-X">X</a> : <span class="xref-unresolved">Stdlib</span>.Set.S) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-elt">elt</a> = <span class="xref-unresolved">X</span>.elt</span> <span class="keyword">and</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-t">t</a> = <span class="xref-unresolved">X</span>.t</span></span></code></div><div class="spec-doc"><p>Create an enriched Set module from the given one</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Make/index.html">Make</a></span><span> (<a href="Make/index.html#argument-1-X">X</a> : <span class="xref-unresolved">Stdlib</span>.Set.OrderedType) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-elt">elt</a> = <span class="xref-unresolved">X</span>.t</span></span></code></div><div class="spec-doc"><p>Functor to build an extended Set module from an ordered type</p></div></div></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>IterBigarray (iter.IterBigarray)</title><link rel="stylesheet" href="../../odoc.support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">iter</a> &#x00BB; IterBigarray</nav><header class="odoc-preamble"><h1>Module <code><span>IterBigarray</span></code></h1><p>Interface and Helpers for bigarrays</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.5.4</li></ul></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-of_bigarray"><a href="#val-of_bigarray" class="anchor"></a><code><span><span class="keyword">val</span> of_bigarray : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <span class="xref-unresolved">Stdlib</span>.Bigarray.Array1.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="../Iter/index.html#type-t">Iter.t</a></span></span></code></div><div class="spec-doc"><p>Iterate on the elements of a 1-D array</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-mmap"><a href="#val-mmap" class="anchor"></a><code><span><span class="keyword">val</span> mmap : <span>string <span class="arrow">&#45;&gt;</span></span> <span>char <a href="../Iter/index.html#type-t">Iter.t</a></span></span></code></div><div class="spec-doc"><p>Map the file into memory, and read the characters.</p></div></div></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>IterBigarray (iter.IterBigarray)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">iter</a> &#x00BB; IterBigarray</nav><header class="odoc-preamble"><h1>Module <code><span>IterBigarray</span></code></h1><p>Interface and Helpers for bigarrays</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.5.4</li></ul></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-of_bigarray"><a href="#val-of_bigarray" class="anchor"></a><code><span><span class="keyword">val</span> of_bigarray : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <span class="xref-unresolved">Stdlib</span>.Bigarray.Array1.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="../Iter/index.html#type-t">Iter.t</a></span></span></code></div><div class="spec-doc"><p>Iterate on the elements of a 1-D array</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-mmap"><a href="#val-mmap" class="anchor"></a><code><span><span class="keyword">val</span> mmap : <span>string <span class="arrow">&#45;&gt;</span></span> <span>char <a href="../Iter/index.html#type-t">Iter.t</a></span></span></code></div><div class="spec-doc"><p>Map the file into memory, and read the characters.</p></div></div></div></body></html>

View file

@ -1,27 +1,27 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>IO (iter.IterLabels.IO)</title><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">IterLabels</a> &#x00BB; IO</nav><header class="odoc-preamble"><h1>Module <code><span>IterLabels.IO</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-lines_of"><a href="#val-lines_of" class="anchor"></a><code><span><span class="keyword">val</span> lines_of : <span>?mode:int <span class="arrow">&#45;&gt;</span></span> <span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span>string <a href="../index.html#type-t">t</a></span></span></code></div><div class="spec-doc"><p><code>lines_of filename</code> reads all lines of the given file. It raises the same exception as would opening the file and read from it, except from <code>End_of_file</code> (which is caught). The file is <b>always</b> properly closed. Every time the iterator is iterated on, the file is opened again, so different iterations might return different results</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">mode</span> <p>default <code>0o644</code></p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">flags</span> <p>default: <code>[Open_rdonly]</code></p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-chunks_of"><a href="#val-chunks_of" class="anchor"></a><code><span><span class="keyword">val</span> chunks_of :
<span>?mode:int <span class="arrow">&#45;&gt;</span></span>
<span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span>?size:int <span class="arrow">&#45;&gt;</span></span>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>IO (iter.IterLabels.IO)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">IterLabels</a> &#x00BB; IO</nav><header class="odoc-preamble"><h1>Module <code><span>IterLabels.IO</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-lines_of"><a href="#val-lines_of" class="anchor"></a><code><span><span class="keyword">val</span> lines_of : <span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span> <span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span>string <a href="../index.html#type-t">t</a></span></span></code></div><div class="spec-doc"><p><code>lines_of filename</code> reads all lines of the given file. It raises the same exception as would opening the file and read from it, except from <code>End_of_file</code> (which is caught). The file is <b>always</b> properly closed. Every time the iterator is iterated on, the file is opened again, so different iterations might return different results</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">mode</span> <p>default <code>0o644</code></p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">flags</span> <p>default: <code>[Open_rdonly]</code></p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-chunks_of"><a href="#val-chunks_of" class="anchor"></a><code><span><span class="keyword">val</span> chunks_of :
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?size</span>:int <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span>string <a href="../index.html#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Read chunks of the given <code>size</code> from the file. The last chunk might be smaller. Behaves like <a href="#val-lines_of"><code>lines_of</code></a> regarding errors and options. Every time the iterator is iterated on, the file is opened again, so different iterations might return different results</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write_to"><a href="#val-write_to" class="anchor"></a><code><span><span class="keyword">val</span> write_to :
<span>?mode:int <span class="arrow">&#45;&gt;</span></span>
<span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span>string <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p><code>write_to filename seq</code> writes all strings from <code>seq</code> into the given file. It takes care of opening and closing the file.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">mode</span> <p>default <code>0o644</code></p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">flags</span> <p>used by <code>open_out_gen</code>. Default: <code>[Open_creat;Open_wronly]</code>.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write_bytes_to"><a href="#val-write_bytes_to" class="anchor"></a><code><span><span class="keyword">val</span> write_bytes_to :
<span>?mode:int <span class="arrow">&#45;&gt;</span></span>
<span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="xref-unresolved">Stdlib</span>.Bytes.t <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.5.4</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write_lines"><a href="#val-write_lines" class="anchor"></a><code><span><span class="keyword">val</span> write_lines :
<span>?mode:int <span class="arrow">&#45;&gt;</span></span>
<span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span>string <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p>Same as <a href="#val-write_to"><code>write_to</code></a>, but intercales <code>'\n'</code> between each string</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write_bytes_lines"><a href="#val-write_bytes_lines" class="anchor"></a><code><span><span class="keyword">val</span> write_bytes_lines :
<span>?mode:int <span class="arrow">&#45;&gt;</span></span>
<span>?flags:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><span class="xref-unresolved">Stdlib</span>.open_flag list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="xref-unresolved">Stdlib</span>.Bytes.t <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.5.4</li></ul></div></div></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Map (iter.IterLabels.Map)</title><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">IterLabels</a> &#x00BB; Map</nav><header class="odoc-preamble"><h1>Module <code><span>IterLabels.Map</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Adapt"><a href="#module-Adapt" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Adapt/index.html">Adapt</a></span><span>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Map (iter.IterLabels.Map)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">IterLabels</a> &#x00BB; Map</nav><header class="odoc-preamble"><h1>Module <code><span>IterLabels.Map</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Adapt"><a href="#module-Adapt" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Adapt/index.html">Adapt</a></span><span>
(<a href="Adapt/index.html#argument-1-M">M</a> : <span class="xref-unresolved">Stdlib</span>.Map.S) :
<a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-key">key</a> = <span class="xref-unresolved">M</span>.key</span> <span class="keyword">and</span> <span><span class="keyword">type</span> <span>'a <a href="module-type-S/index.html#type-t">t</a></span> = <span><span class="type-var">'a</span> <span class="xref-unresolved">M</span>.t</span></span></span></code></div><div class="spec-doc"><p>Adapt a pre-existing Map module to make it iterator-aware</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Make/index.html">Make</a></span><span> (<a href="Make/index.html#argument-1-V">V</a> : <span class="xref-unresolved">Stdlib</span>.Map.OrderedType) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-key">key</a> = <span class="xref-unresolved">V</span>.t</span></span></code></div><div class="spec-doc"><p>Create an enriched Map module, with iterator-aware functions</p></div></div></div></body></html>

View file

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (iter.IterLabels.Map.S)</title><link rel="stylesheet" href="../../../../odoc.support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../../index.html">iter</a> &#x00BB; <a href="../../index.html">IterLabels</a> &#x00BB; <a href="../index.html">Map</a> &#x00BB; S</nav><header class="odoc-preamble"><h1>Module type <code><span>Map.S</span></code></h1></header><div class="odoc-content"><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="xref-unresolved">Stdlib</span>.Map.S</span></code></summary><div class="odoc-spec"><div class="spec type anchored" id="type-key"><a href="#type-key" class="anchor"></a><code><span><span class="keyword">type</span> key</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>!+'a t</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_to_list"><a href="#val-add_to_list" class="anchor"></a><code><span><span class="keyword">val</span> add_to_list : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span><span class="type-var">'a</span> list</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> list</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-update"><a href="#val-update" class="anchor"></a><code><span><span class="keyword">val</span> update : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span><span class="type-var">'a</span> option</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> option</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-singleton"><a href="#val-singleton" class="anchor"></a><code><span><span class="keyword">val</span> singleton : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span><span class="keyword">val</span> remove : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-merge"><a href="#val-merge" class="anchor"></a><code><span><span class="keyword">val</span> merge :
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (iter.IterLabels.Map.S)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../../index.html">iter</a> &#x00BB; <a href="../../index.html">IterLabels</a> &#x00BB; <a href="../index.html">Map</a> &#x00BB; S</nav><header class="odoc-preamble"><h1>Module type <code><span>Map.S</span></code></h1></header><div class="odoc-content"><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="xref-unresolved">Stdlib</span>.Map.S</span></code></summary><div class="odoc-spec"><div class="spec type anchored" id="type-key"><a href="#type-key" class="anchor"></a><code><span><span class="keyword">type</span> key</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>!+'a t</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_to_list"><a href="#val-add_to_list" class="anchor"></a><code><span><span class="keyword">val</span> add_to_list : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span><span class="type-var">'a</span> list</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> list</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-update"><a href="#val-update" class="anchor"></a><code><span><span class="keyword">val</span> update : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span><span class="type-var">'a</span> option</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> option</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-singleton"><a href="#val-singleton" class="anchor"></a><code><span><span class="keyword">val</span> singleton : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span><span class="keyword">val</span> remove : <span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-merge"><a href="#val-merge" class="anchor"></a><code><span><span class="keyword">val</span> merge :
<span><span>(<span><a href="#type-key">key</a> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> option</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'b</span> option</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'c</span> option</span>)</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'b</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Set (iter.IterLabels.Set)</title><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">IterLabels</a> &#x00BB; Set</nav><header class="odoc-preamble"><h1>Module <code><span>IterLabels.Set</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Adapt"><a href="#module-Adapt" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Adapt/index.html">Adapt</a></span><span> (<a href="Adapt/index.html#argument-1-X">X</a> : <span class="xref-unresolved">Stdlib</span>.Set.S) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-elt">elt</a> = <span class="xref-unresolved">X</span>.elt</span> <span class="keyword">and</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-t">t</a> = <span class="xref-unresolved">X</span>.t</span></span></code></div><div class="spec-doc"><p>Create an enriched Set module from the given one</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Make/index.html">Make</a></span><span> (<a href="Make/index.html#argument-1-X">X</a> : <span class="xref-unresolved">Stdlib</span>.Set.OrderedType) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-elt">elt</a> = <span class="xref-unresolved">X</span>.t</span></span></code></div><div class="spec-doc"><p>Functor to build an extended Set module from an ordered type</p></div></div></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Set (iter.IterLabels.Set)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iter</a> &#x00BB; <a href="../index.html">IterLabels</a> &#x00BB; Set</nav><header class="odoc-preamble"><h1>Module <code><span>IterLabels.Set</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Adapt"><a href="#module-Adapt" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Adapt/index.html">Adapt</a></span><span> (<a href="Adapt/index.html#argument-1-X">X</a> : <span class="xref-unresolved">Stdlib</span>.Set.S) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-elt">elt</a> = <span class="xref-unresolved">X</span>.elt</span> <span class="keyword">and</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-t">t</a> = <span class="xref-unresolved">X</span>.t</span></span></code></div><div class="spec-doc"><p>Create an enriched Set module from the given one</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Make/index.html">Make</a></span><span> (<a href="Make/index.html#argument-1-X">X</a> : <span class="xref-unresolved">Stdlib</span>.Set.OrderedType) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-elt">elt</a> = <span class="xref-unresolved">X</span>.t</span></span></code></div><div class="spec-doc"><p>Functor to build an extended Set module from an ordered type</p></div></div></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (iter.index)</title><link rel="stylesheet" href="../odoc.support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> iter</nav><header class="odoc-preamble"><h1 id="iter-index"><a href="#iter-index" class="anchor"></a>iter index</h1></header><nav class="odoc-toc"><ul><li><a href="#library-iter">Library iter</a></li><li><a href="#library-iter.bigarray">Library iter.bigarray</a></li></ul></nav><div class="odoc-content"><h2 id="library-iter"><a href="#library-iter" class="anchor"></a>Library iter</h2><p>This library exposes the following toplevel modules:</p><ul class="modules"><li><a href="Iter/index.html"><code>Iter</code></a> <span class="synopsis">Simple and Efficient Iterators.</span></li><li><a href="IterLabels/index.html"><code>IterLabels</code></a> </li></ul><h2 id="library-iter.bigarray"><a href="#library-iter.bigarray" class="anchor"></a>Library iter.bigarray</h2><p>The entry point of this library is the module: <a href="IterBigarray/index.html"><code>IterBigarray</code></a>.</p></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (iter.index)</title><meta charset="utf-8"/><link rel="stylesheet" href="../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> iter</nav><header class="odoc-preamble"><h1 id="iter-index"><a href="#iter-index" class="anchor"></a>iter index</h1></header><nav class="odoc-toc"><ul><li><a href="#library-iter">Library iter</a></li><li><a href="#library-iter.bigarray">Library iter.bigarray</a></li></ul></nav><div class="odoc-content"><h2 id="library-iter"><a href="#library-iter" class="anchor"></a>Library iter</h2><p>This library exposes the following toplevel modules:</p><ul class="modules"><li><a href="Iter/index.html"><code>Iter</code></a> <span class="synopsis">Simple and Efficient Iterators.</span></li><li><a href="IterLabels/index.html"><code>IterLabels</code></a> </li></ul><h2 id="library-iter.bigarray"><a href="#library-iter.bigarray" class="anchor"></a>Library iter.bigarray</h2><p>The entry point of this library is the module: <a href="IterBigarray/index.html"><code>IterBigarray</code></a>.</p></div></body></html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -1,19 +1,108 @@
@charset "UTF-8";
/* Copyright (c) 2016 The odoc contributors. All rights reserved.
Distributed under the ISC license, see terms at the end of the file.
odoc 2.2.0 */
odoc 2.4.3 */
/* Fonts */
@import url('https://fonts.googleapis.com/css?family=Fira+Mono:400,500');
@import url('https://fonts.googleapis.com/css?family=Noticia+Text:400,400i,700');
@import url('https://fonts.googleapis.com/css?family=Fira+Sans:400,400i,500,500i,600,600i,700,700i');
/* noticia-text-regular - latin */
@font-face {
font-family: 'Noticia Text';
font-style: normal;
font-weight: 400;
src: url('fonts/noticia-text-v15-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noticia-text-italic - latin */
@font-face {
font-family: 'Noticia Text';
font-style: italic;
font-weight: 400;
src: url('fonts/noticia-text-v15-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noticia-text-700 - latin */
@font-face {
font-family: 'Noticia Text';
font-style: normal;
font-weight: 700;
src: url('fonts/noticia-text-v15-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fira-mono-regular - latin */
@font-face {
font-family: 'Fira Mono';
font-style: normal;
font-weight: 400;
src: url('fonts/fira-mono-v14-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fira-mono-500 - latin */
@font-face {
font-family: 'Fira Mono';
font-style: normal;
font-weight: 500;
src: url('fonts/fira-mono-v14-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fira-sans-regular - latin */
@font-face {
font-family: 'Fira Sans';
font-style: normal;
font-weight: 400;
src: url('fonts/fira-sans-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fira-sans-italic - latin */
@font-face {
font-family: 'Fira Sans';
font-style: italic;
font-weight: 400;
src: url('fonts/fira-sans-v17-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fira-sans-500 - latin */
@font-face {
font-family: 'Fira Sans';
font-style: normal;
font-weight: 500;
src: url('fonts/fira-sans-v17-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fira-sans-500italic - latin */
@font-face {
font-family: 'Fira Sans';
font-style: italic;
font-weight: 500;
src: url('fonts/fira-sans-v17-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fira-sans-700 - latin */
@font-face {
font-family: 'Fira Sans';
font-style: normal;
font-weight: 700;
src: url('fonts/fira-sans-v17-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fira-sans-700italic - latin */
@font-face {
font-family: 'Fira Sans';
font-style: italic;
font-weight: 700;
src: url('fonts/fira-sans-v17-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
:root,
.light:root {
--main-background: #FFFFFF;
scroll-padding-top: calc(var(--search-bar-height) + var(--search-padding-top) + 1em);
--main-background: #FFFFFF;
--color: #333333;
--link-color: #2C94BD;
--source-color: grey;
--anchor-hover: #555;
--anchor-color: #d5d5d5;
--xref-shadow: #cc6666;
@ -30,13 +119,21 @@
--toc-color: #1F2D3D;
--toc-before-color: #777;
--toc-background: #f6f8fa;
--toc-background-emph: #ecf0f5;
--toc-list-border: #ccc;
--spec-summary-border-color: #5c9cf5;
--spec-label-color: green;
--spec-summary-background: var(--code-background);
--spec-summary-hover-background: #ebeff2;
--spec-details-after-background: rgba(0, 4, 15, 0.05);
--spec-details-after-shadow: rgba(204, 204, 204, 0.53);
--search-results-border: #bbb;
--search-results-shadow: #bbb;
--search-snake: #82aaff;
}
.dark:root {
@ -64,6 +161,7 @@
--li-code-color: #999;
--toc-color: #777;
--toc-background: #252525;
--toc-background-emph: #2a2a2a;
--hljs-link: #999;
--hljs-keyword: #cda869;
@ -72,6 +170,12 @@
--hljs-type: #ac885b;
--hljs-meta: #82aaff;
--hljs-variable: #cf6a4c;
--spec-label-color: lightgreen;
--search-results-border: #505050;
--search-results-shadow: #404040;
}
@media (prefers-color-scheme: dark) {
@ -106,6 +210,7 @@
--toc-color: #777;
--toc-before-color: #777;
--toc-background: #252525;
--toc-background-emph: #2a2a2a;
--toc-list-border: #ccc;
--spec-summary-hover-background: #ebeff2;
--spec-details-after-background: rgba(0, 4, 15, 0.05);
@ -118,6 +223,12 @@
--hljs-type: #ac885b;
--hljs-meta: #82aaff;
--hljs-variable: #cf6a4c;
--spec-label-color: lightgreen;
--search-results-border: #505050;
--search-results-shadow: #404040;
}
}
@ -142,6 +253,7 @@ table {
html {
font-size: 15px;
scroll-behavior: smooth;
}
body {
@ -149,24 +261,55 @@ body {
background: #FFFFFF;
color: var(--color);
background-color: var(--main-background);
font-family: "Noticia Text", Georgia, serif;
line-height: 1.5;
}
body {
max-width: 100ex;
margin-left: calc(10vw + 20ex);
margin-right: 4ex;
margin-top: 20px;
margin-bottom: 50px;
font-family: "Noticia Text", Georgia, serif;
line-height: 1.5;
margin-left: auto;
margin-right: auto;
padding: 0 4ex;
}
body.odoc {
max-width: 132ex;
display: grid;
grid-template-columns: min-content 1fr;
column-gap: 4ex;
row-gap: 2ex;
}
body.odoc-src {
margin-right: calc(10vw + 20ex);
}
.odoc-content {
grid-row: 4;
grid-column: 2;
}
.odoc-preamble > *:first-child {
/* This make the first thing in the preamble align with the sidebar */
padding-top: 0;
margin-top: 0;
}
header {
margin-bottom: 30px;
}
header.odoc-preamble {
grid-column: 2;
grid-row: 3;
}
nav {
font-family: "Fira Sans", Helvetica, Arial, sans-serif;
font-family: "Fira Sans", sans-serif;
}
nav.odoc-nav {
grid-column: 2;
grid-row: 2;
}
/* Basic markup elements */
@ -238,6 +381,10 @@ a {
color: var(--link-color);
}
.odoc-src pre a {
color: inherit;
}
a:hover {
box-shadow: 0 1px 0 0 var(--link-color);
}
@ -289,18 +436,30 @@ a.anchor {
box-shadow: 0 1px 0 0 var(--xref-shadow);
}
/* Source links float inside preformated text or headings. */
a.source_link {
float: right;
color: var(--source-color);
font-family: "Fira Sans", sans-serif;
font-size: initial;
}
/* Section and document divisions.
Until at least 4.03 many of the modules of the stdlib start at .h7,
we restart the sequence there like h2 */
h1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 {
font-family: "Fira Sans", Helvetica, Arial, sans-serif;
font-family: "Fira Sans", sans-serif;
font-weight: 400;
padding-top: 0.1em;
line-height: 1.2;
overflow-wrap: break-word;
}
.odoc-preamble h1 {
margin-top: 10px;
}
h1 {
font-weight: 500;
font-size: 2.441em;
@ -368,36 +527,36 @@ h4 {
/* Preformatted and code */
tt, code, pre {
font-family: "Fira Mono", courier;
font-family: "Fira Mono", monospace;
font-weight: 400;
}
pre {
.odoc pre {
padding: 0.1em;
border: 1px solid var(--pre-border-color);
border-radius: 5px;
overflow-x: auto;
}
p code,
li code {
.odoc p code,
.odoc li code {
background-color: var(--li-code-background);
color: var(--li-code-color);
border-radius: 3px;
padding: 0 0.3ex;
}
p a > code {
p a > code, li a > code {
color: var(--link-color);
}
code {
.odoc code {
white-space: pre-wrap;
}
/* Code blocks (e.g. Examples) */
pre code {
.odoc pre code {
font-size: 0.893rem;
}
@ -419,6 +578,10 @@ pre code {
padding: 0.35em 0.5em;
}
.spec .label, .spec .optlabel {
color: var(--spec-label-color);
}
li:not(:last-child) > .def-doc {
margin-bottom: 15px;
}
@ -434,10 +597,10 @@ div.odoc-spec,.odoc-include {
.spec.type .variant, .spec.type .record {
margin-left: 2ch;
}
.spec.type li.variant, .spec.type li.record {
list-style: none;
display: flex;
flex-wrap: wrap;
row-gap: 4px;
}
.spec.type .record > code, .spec.type .variant > code {
@ -454,9 +617,8 @@ div.odoc-spec,.odoc-include {
padding: 0.25em 0.5em;
margin-left: 10%;
border-radius: 3px;
flex-grow:1;
background: var(--main-background);
box-shadow: 2px 2px 4px lightgrey;
box-shadow: 1px 1px 2px lightgrey;
}
div.def {
@ -536,6 +698,12 @@ td.def-doc *:first-child {
.at-tags li { padding-left: 3ex; text-indent: -3ex; }
.at-tags .at-tag { text-transform: capitalize }
/* Alert emoji */
.alert::before, .deprecated::before {
content: '⚠️ ';
}
/* Lists of modules */
.modules { list-style-type: none; margin-left: -3ex; }
@ -618,19 +786,32 @@ td.def-doc *:first-child {
line-height: 1.2;
}
/* When a search bar is present, we need the sticky sidebar to be a bit lower,
so `top` is higher */
.odoc-search + * + .odoc-toc {
--toc-top: calc(var(--search-bar-height) + var(--search-padding-top) + 20px);
max-height: calc(100vh - 2 * var(--toc-top));
top: var(--toc-top)
}
.odoc-toc {
position: fixed;
top: 0px;
bottom: 0px;
left: 0px;
max-width: 30ex;
min-width: 26ex;
width: 20%;
--toc-top: 20px;
width: 28ex;
background: var(--toc-background);
overflow: auto;
color: var(--toc-color);
padding-left: 2ex;
padding-right: 2ex;
grid-row-start: 3;
grid-row-end: 5;
grid-column: 1;
height: fit-content;
border: solid 1px var(--border);
border-radius: 5px;
position:sticky;
max-height: calc(100vh - 2 * var(--toc-top));
top: var(--toc-top)
}
.odoc-toc ul li a {
@ -638,15 +819,287 @@ td.def-doc *:first-child {
font-size: 0.95em;
color: var(--color);
font-weight: 400;
line-height: 1.6em;
line-height: 1.2em;
display: block;
}
.odoc-toc ul li a:hover {
.odoc-sidebar ul li a:hover {
box-shadow: none;
text-decoration: underline;
}
:root {
--search-bar-height: 25px;
--search-padding-top: 1rem;
}
.odoc-search {
position: sticky;
top: 0;
background: var(--main-background);
/* This amounts to fit-content when the search is not active, but when you
have the search results displayed, you do not want the height of the search
container to change. */
height: calc(var(--search-bar-height) + var(--search-padding-top));
width: 100%;
padding-top: var(--search-padding-top);
z-index: 1;
grid-row: 1;
grid-column-start: 1;
grid-column-end: 3;
}
.odoc-search .search-inner {
width: 100%;
position: relative;
left: 0;
display: grid;
/* The second column is for the search snake, which has 0 width */
grid-template-columns: 1fr 0fr;
grid-row-gap: 1rem;
/* The second row is for the search results. It has a width, but only */
grid-template-rows: min-content 0px;
background: transparent;
}
.odoc-search .search-bar {
position: relative;
z-index: 2;
font-size: 1em;
transition: font-size 0.3s;
box-shadow: 0px 0px 0.2rem 0.3em var(--main-background);
height: var(--search-bar-height);
}
.odoc-search:focus-within .search-bar {
font-size: 1.1em;
}
.odoc-search:not(:focus-within) .search-result {
display: none;
}
.odoc-search .search-result:empty {
display: none;
}
.odoc-search .search-result {
grid-row: 2;
background: var(--toc-background);
position: absolute;
left: 0;
right: 0;
border: solid;
border-color: var(--search-results-border);
border-width: 1px;
border-radius: 6px;
box-shadow: 0 3px 10px 2px var(--search-results-shadow), 0 0 3px 4px var(--main-background), 0px -1rem 0px 0px var(--main-background);
/* Works better on smallish screens with this */
max-height: calc(min(40rem, 50vh));
overflow-y: auto;
}
.search-bar {
/* inputs are of fixed size by default, even if you display:block them */
width: 100%;
}
.odoc-search .search-no-result {
color: var(--color);
border-bottom: var(--search-results-border) solid 1px;
background-color: inherit;
outline: 0;
padding: 10px;
padding-right: 0.5rem;
}
.search-bar-container {
display: flex;
align-items: stretch;
border-bottom: 1rem solid var(--main-background);
}
.search-snake {
grid-row: 1;
grid-column: 2;
display: flex;
align-items: center;
width: 0;
z-index: 2;
position: relative;
left: 0;
margin-top: 4px;
margin-bottom: 4px;
/* Otherwise the search snake flickers for very fast searches. */
transition: opacity 0.2s;
opacity: 0;
}
.search-snake.search-busy {
opacity: 1;
}
.search-snake:before {
content: " ";
display: block;
aspect-ratio: 1 / 1;
height: 100%;
margin-right: 4px;
border-radius: 50%;
border: 3px solid #aaa;
border-color: var(--search-snake) transparent var(--search-snake) transparent;
animation: search-snake 1.2s linear infinite;
position: absolute;
right: 0;
}
@keyframes search-snake {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
:root {
--kind-font-size-factor: 0.8;
}
.odoc-search .search-entry {
color: var(--color);
display: grid;
/* Possible kinds are the following :
"doc" "type" "mod" "exn" "class" "meth" "cons" "sig" "cons" "field" "val"
and "ext".
As the longest is 5 characters (and the font monospace), we give 5
character size to the column. However the font used for kind is a little
smaller, so we adjust by this factor.
*/
grid-template-columns: [kinds] calc(var(--kind-font-size-factor) * 5ch) [titles] 1fr;
column-gap: 0.5rem;
border-bottom: var(--search-results-border) solid 1px;
background-color: inherit;
outline: 0;
padding: 0.4rem 0.4rem 0.7rem 0.7rem;
}
.odoc-search .search-entry p {
margin: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.odoc-search .search-entry:focus-visible {
box-shadow: none;
background-color: var(--target-background);
}
.odoc-search .search-entry:hover {
box-shadow: none;
background-color: var(--toc-background-emph);
}
.odoc-search .search-entry .entry-kind {
grid-row: 1/2;
grid-column: 1/2;
line-height: 1.4rem;
font-size: calc(var(--kind-font-size-factor) * 1em);
font-weight: bold;
text-align: right;
position: relative;
bottom: 0;
}
.odoc-search .search-entry pre {
border: none;
margin: 0;
}
.odoc-search .search-entry pre code {
font-size: 1em;
background-color: var(--li-code-background);
color: var(--li-code-color);
border-radius: 3px;
padding: 0 0.3ex;
}
.odoc-search .search-entry .entry-title {
width: 100%;
display: block;
grid-column: 2/2;
grid-row: 1/2;
align-self: end;
line-height: 1.4rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.odoc-search .entry-name {
font-weight: bold;
}
.odoc-search .prefix-name {
font-weight: bold;
}
.odoc-search .search-entry .prefix-name {
opacity: 0.7;
}
.odoc-search .entry-rhs {
white-space: nowrap;
}
.odoc-search .search-entry .entry-content {
flex-grow: 1;
flex-shrink: 1;
min-width: 0;
}
.odoc-search .search-entry .entry-comment {
max-height: 1.5em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 0.95em;
grid-row: 2/2;
grid-column: 2/2;
}
.odoc-search .search-entry .entry-comment ul {
white-space: nowrap;
display: inline;
}
.odoc-search .search-entry .entry-comment li {
display: inline;
white-space: nowrap;
}
.odoc-search .search-entry .entry-comment ul>li::before {
content: '•';
}
.odoc-search .search-entry .entry-comment div {
display: inline;
white-space: nowrap;
}
.odoc-search .search-entry .entry-comment p {
display: inline;
white-space: nowrap;
}
.odoc-search .search-entry .entry-comment code {
display: inline;
white-space: nowrap;
}
/* First level titles */
.odoc-toc>ul>li>a {
@ -655,6 +1108,7 @@ td.def-doc *:first-child {
.odoc-toc li ul {
margin: 0px;
padding-top: 0.25em;
}
.odoc-toc ul {
@ -662,8 +1116,9 @@ td.def-doc *:first-child {
}
.odoc-toc ul li {
margin: 0;
padding: 0.25em 0;
}
.odoc-toc>ul>li {
margin-bottom: 0.3em;
}
@ -674,12 +1129,35 @@ td.def-doc *:first-child {
padding-left: 12px;
}
/* Tables */
.odoc-table {
margin: 1em;
}
.odoc-table td,
.odoc-table th {
padding-left: 0.5em;
padding-right: 0.5em;
border: 1px solid black;
}
.odoc-table th {
font-weight: bold;
}
/* Mobile adjustements. */
@media only screen and (max-width: 95ex) {
body.odoc {
@media only screen and (max-width: 110ex) {
body {
margin: 2em;
padding: 0;
}
body.odoc {
display: block;
}
.odoc-toc {
position: static;
width: auto;
@ -699,11 +1177,53 @@ td.def-doc *:first-child {
color: black;
background: white;
}
body nav:first-child {
visibility: hidden;
}
}
/* Source code. */
.source_container {
display: flex;
}
.source_line_column {
padding-right: 0.5em;
text-align: right;
background: #eee8d5;
}
.source_line {
padding: 0 1em;
}
.source_code {
flex-grow: 1;
background: #fdf6e3;
padding: 0 0.3em;
color: #657b83;
}
/* Source directories */
.odoc-directory::before {
content: "📁";
margin: 0.3em;
font-size: 1.3em;
}
.odoc-file::before {
content: "📄";
margin: 0.3em;
font-size: 1.3em;
}
.odoc-folder-list {
list-style: none;
}
/* Syntax highlighting (based on github-gist) */
.hljs {
@ -777,6 +1297,85 @@ td.def-doc *:first-child {
text-decoration: underline;
}
.VAL,
.TYPE,
.LET,
.REC,
.IN,
.OPEN,
.NONREC,
.MODULE,
.METHOD,
.LETOP,
.INHERIT,
.INCLUDE,
.FUNCTOR,
.EXTERNAL,
.CONSTRAINT,
.ASSERT,
.AND,
.END,
.CLASS,
.STRUCT,
.SIG {
color: #859900;
;
}
.WITH,
.WHILE,
.WHEN,
.VIRTUAL,
.TRY,
.TO,
.THEN,
.PRIVATE,
.OF,
.NEW,
.MUTABLE,
.MATCH,
.LAZY,
.IF,
.FUNCTION,
.FUN,
.FOR,
.EXCEPTION,
.ELSE,
.TO,
.DOWNTO,
.DO,
.DONE,
.BEGIN,
.AS {
color: #cb4b16;
}
.TRUE,
.FALSE {
color: #b58900;
}
.failwith,
.INT,
.SEMISEMI,
.LIDENT {
color: #2aa198;
}
.STRING,
.CHAR,
.UIDENT {
color: #b58900;
}
.DOCSTRING {
color: #268bd2;
}
.COMMENT {
color: #93a1a1;
}
/*---------------------------------------------------------------------------
Copyright (c) 2016 The odoc contributors

View file

@ -0,0 +1,66 @@
/* The browsers interpretation of the CORS origin policy prevents to run
webworkers from javascript files fetched from the file:// protocol. This hack
is to workaround this restriction. */
function createWebWorker() {
var searchs = search_urls.map((search_url) => {
let parts = document.location.href.split("/");
parts[parts.length - 1] = search_url;
return '"' + parts.join("/") + '"';
});
blobContents = ["importScripts(" + searchs.join(",") + ");"];
var blob = new Blob(blobContents, { type: "application/javascript" });
var blobUrl = URL.createObjectURL(blob);
var worker = new Worker(blobUrl);
URL.revokeObjectURL(blobUrl);
return worker;
}
var worker;
var waiting = 0;
function wait() {
waiting = waiting + 1;
document.querySelector(".search-snake").classList.add("search-busy");
}
function stop_waiting() {
if (waiting > 0) waiting = waiting - 1;
else waiting = 0;
if (waiting == 0) {
document.querySelector(".search-snake").classList.remove("search-busy");
}
}
document.querySelector(".search-bar").addEventListener("focus", (ev) => {
if (typeof worker == "undefined") {
worker = createWebWorker();
worker.onmessage = (e) => {
stop_waiting();
let results = e.data;
let search_results = document.querySelector(".search-result");
search_results.innerHTML = "";
let f = (entry) => {
let search_result = document.createElement("a");
search_result.classList.add("search-entry");
search_result.href = base_url + entry.url;
search_result.innerHTML = entry.html;
search_results.appendChild(search_result);
};
results.forEach(f);
let search_request = document.querySelector(".search-bar").value;
if (results.length == 0 && search_request != "") {
let no_result = document.createElement("div");
no_result.classList.add("search-no-result");
no_result.innerText = "No result...";
search_results.appendChild(no_result);
}
};
}
});
document.querySelector(".search-bar").addEventListener("input", (ev) => {
wait();
worker.postMessage(ev.target.value);
});