mirror of
https://github.com/c-cube/iter.git
synced 2025-12-06 03:05:29 -05:00
update of API
This commit is contained in:
parent
f9242452f2
commit
b45371d06d
9 changed files with 254 additions and 14 deletions
21
api/Sequence.Infix.html
Normal file
21
api/Sequence.Infix.html
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
|
||||
<link rel="Start" href="index.html">
|
||||
<link rel="previous" href="Sequence.TypeClass.html">
|
||||
<link rel="Up" href="Sequence.html">
|
||||
<link title="Index of types" rel=Appendix href="index_types.html">
|
||||
<link title="Index of values" rel=Appendix href="index_values.html">
|
||||
<link title="Index of modules" rel=Appendix href="index_modules.html">
|
||||
<link title="Index of module types" rel=Appendix href="index_module_types.html">
|
||||
<link title="Sequence" rel="Chapter" href="Sequence.html"><title>Sequence.Infix</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="navbar"><a class="pre" href="Sequence.TypeClass.html" title="Sequence.TypeClass">Previous</a>
|
||||
<a class="up" href="Sequence.html" title="Sequence">Up</a>
|
||||
</div>
|
||||
<h1>Module <a href="type_Sequence.Infix.html">Sequence.Infix</a></h1>
|
||||
<pre><span class="keyword">module</span> Infix: <code class="code">sig</code> <a href="Sequence.Infix.html">..</a> <code class="code">end</code></pre><hr width="100%">
|
||||
<pre><span id="VAL(--)"><span class="keyword">val</span> (--)</span> : <code class="type">int -> int -> int <a href="Sequence.html#TYPEt">Sequence.t</a></code></pre><pre><span id="VAL(|>)"><span class="keyword">val</span> (|>)</span> : <code class="type">'a -> ('a -> 'b) -> 'b</code></pre><pre><span id="VAL(@@)"><span class="keyword">val</span> (@@)</span> : <code class="type">'a <a href="Sequence.html#TYPEt">Sequence.t</a> -> 'a <a href="Sequence.html#TYPEt">Sequence.t</a> -> 'a <a href="Sequence.html#TYPEt">Sequence.t</a></code></pre></body></html>
|
||||
|
|
@ -5,6 +5,7 @@
|
|||
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
|
||||
<link rel="Start" href="index.html">
|
||||
<link rel="previous" href="Sequence.Map.html">
|
||||
<link rel="next" href="Sequence.Infix.html">
|
||||
<link rel="Up" href="Sequence.html">
|
||||
<link title="Index of types" rel=Appendix href="index_types.html">
|
||||
<link title="Index of values" rel=Appendix href="index_values.html">
|
||||
|
|
@ -17,7 +18,8 @@
|
|||
<body>
|
||||
<div class="navbar"><a class="pre" href="Sequence.Map.html" title="Sequence.Map">Previous</a>
|
||||
<a class="up" href="Sequence.html" title="Sequence">Up</a>
|
||||
</div>
|
||||
<a class="post" href="Sequence.Infix.html" title="Sequence.Infix">Next</a>
|
||||
</div>
|
||||
<h1>Module <a href="type_Sequence.TypeClass.html">Sequence.TypeClass</a></h1>
|
||||
<pre><span class="keyword">module</span> TypeClass: <code class="code">sig</code> <a href="Sequence.TypeClass.html">..</a> <code class="code">end</code></pre><hr width="100%">
|
||||
<pre><code><span id="TYPEsequenceable"><span class="keyword">type</span> <code class="type">('a, 'b)</code> sequenceable</span> = {</code></pre><table class="typetable">
|
||||
|
|
|
|||
|
|
@ -12,11 +12,13 @@
|
|||
<link title="Sequence" rel="Chapter" href="Sequence.html"><link title="Build a sequence" rel="Section" href="#2_Buildasequence">
|
||||
<link title="Consume a sequence" rel="Section" href="#2_Consumeasequence">
|
||||
<link title="Transform a sequence" rel="Section" href="#2_Transformasequence">
|
||||
<link title="Binary sequences" rel="Section" href="#2_Binarysequences">
|
||||
<link title="Basic data structures converters" rel="Section" href="#2_Basicdatastructuresconverters">
|
||||
<link title="Functorial conversions between sets and sequences" rel="Section" href="#2_Functorialconversionsbetweensetsandsequences">
|
||||
<link title="Conversion between maps and sequences." rel="Section" href="#2_Conversionbetweenmapsandsequences">
|
||||
<link title="Infinite sequences of random values" rel="Section" href="#2_Infinitesequencesofrandomvalues">
|
||||
<link title="Type-classes" rel="Section" href="#2_Typeclasses">
|
||||
<link title="Infix functions" rel="Section" href="#2_Infixfunctions">
|
||||
<link title="Pretty printing of sequences" rel="Section" href="#2_Prettyprintingofsequences">
|
||||
<title>Sequence</title>
|
||||
</head>
|
||||
|
|
@ -25,22 +27,43 @@
|
|||
</div>
|
||||
<h1>Module <a href="type_Sequence.html">Sequence</a></h1>
|
||||
<pre><span class="keyword">module</span> Sequence: <code class="code">sig</code> <a href="Sequence.html">..</a> <code class="code">end</code></pre><div class="info">
|
||||
Transient iterators, that abstract on a finite sequence of elements. They
|
||||
are designed to allow easy transfer (mappings) between data structures,
|
||||
without defining n^2 conversions between the n types.<br>
|
||||
<h1 id="1_Transientiteratorsthatabstractonafinitesequenceofelements">Transient iterators, that abstract on a finite sequence of elements.</h1><br>
|
||||
</div>
|
||||
<hr width="100%">
|
||||
<pre><span id="TYPEt"><span class="keyword">type</span> <code class="type">+'a</code> t</span> </pre>
|
||||
<br>
|
||||
The iterators are designed to allow easy transfer (mappings) between data
|
||||
structures, without defining n^2 conversions between the n types. The
|
||||
implementation relies on the assumption that a sequence can be iterated
|
||||
on as many times as needed; this choice allows for high performance
|
||||
of many combinators. However, for transient iterators, the <a href="Sequence.html#VALpersistent"><code class="code">Sequence.persistent</code></a>
|
||||
function is provided, storing elements of a transient iterator
|
||||
in memory; the iterator can then be used several times.
|
||||
<p>
|
||||
|
||||
Note that some combinators also return sequences (e.g. <a href="Sequence.html#VALgroup"><code class="code">Sequence.group</code></a>). The
|
||||
transformation is computed on the fly every time one iterates over
|
||||
the resulting sequence. If a transformation performs heavy computation,
|
||||
<a href="Sequence.html#VALpersistent"><code class="code">Sequence.persistent</code></a> can also be used as intermediate storage.<br>
|
||||
<pre><span id="TYPEt"><span class="keyword">type</span> <code class="type">'a</code> t</span> = <code class="type">('a -> unit) -> unit</code> </pre>
|
||||
<div class="info">
|
||||
Sequence abstract iterator type, representing a finite sequence of
|
||||
values of type <code class="code">'a</code>.<br>
|
||||
</div>
|
||||
|
||||
<pre><span id="TYPEt2"><span class="keyword">type</span> <code class="type">('a, 'b)</code> t2</span> = <code class="type">('a -> 'b -> unit) -> unit</code> </pre>
|
||||
<div class="info">
|
||||
Sequence of pairs of values of type <code class="code">'a</code> and <code class="code">'b</code>.<br>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<h2 id="2_Buildasequence">Build a sequence</h2><br>
|
||||
<pre><span id="VALfrom_iter"><span class="keyword">val</span> from_iter</span> : <code class="type">(('a -> unit) -> unit) -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Build a sequence from a iter function<br>
|
||||
</div>
|
||||
<pre><span id="VALfrom_fun"><span class="keyword">val</span> from_fun</span> : <code class="type">(unit -> 'a option) -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Call the function repeatedly until it returns None. This
|
||||
sequence is transient, use <a href="Sequence.html#VALpersistent"><code class="code">Sequence.persistent</code></a> if needed!<br>
|
||||
</div>
|
||||
<pre><span id="VALempty"><span class="keyword">val</span> empty</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Empty sequence<br>
|
||||
</div>
|
||||
|
|
@ -57,8 +80,7 @@ Infinite sequence of the same element<br>
|
|||
Sequence that calls the given function to produce elements<br>
|
||||
</div>
|
||||
<pre><span id="VALcycle"><span class="keyword">val</span> cycle</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a> -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Cycle forever through the given sequence. Assume the
|
||||
given sequence can be traversed any amount of times (not transient).<br>
|
||||
Cycle forever through the given sequence.<br>
|
||||
</div>
|
||||
<br>
|
||||
<h2 id="2_Consumeasequence">Consume a sequence</h2><br>
|
||||
|
|
@ -103,27 +125,52 @@ Append two sequences<br>
|
|||
<pre><span id="VALconcat"><span class="keyword">val</span> concat</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a> <a href="Sequence.html#TYPEt">t</a> -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Concatenate a sequence of sequences into one sequence<br>
|
||||
</div>
|
||||
<pre><span id="VALflatten"><span class="keyword">val</span> flatten</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a> <a href="Sequence.html#TYPEt">t</a> -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Alias for <a href="Sequence.html#VALconcat"><code class="code">Sequence.concat</code></a><br>
|
||||
</div>
|
||||
<pre><span id="VALflatMap"><span class="keyword">val</span> flatMap</span> : <code class="type">('a -> 'b <a href="Sequence.html#TYPEt">t</a>) -> 'a <a href="Sequence.html#TYPEt">t</a> -> 'b <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Monadic bind. It applies the function to every element of the
|
||||
initial sequence, and calls <code class="code">concat</code>.<br>
|
||||
</div>
|
||||
<pre><span id="VALintersperse"><span class="keyword">val</span> intersperse</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a> -> 'a -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
<pre><span id="VALintersperse"><span class="keyword">val</span> intersperse</span> : <code class="type">'a -> 'a <a href="Sequence.html#TYPEt">t</a> -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Insert the second element between every element of the sequence<br>
|
||||
</div>
|
||||
<pre><span id="VALpersistent"><span class="keyword">val</span> persistent</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a> -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Iterate on the sequence, storing elements in a data structure.
|
||||
The resulting sequence can be iterated on as many times as needed.<br>
|
||||
</div>
|
||||
<pre><span id="VALsort"><span class="keyword">val</span> sort</span> : <code class="type">?cmp:('a -> 'a -> int) -> 'a <a href="Sequence.html#TYPEt">t</a> -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Sort the sequence. Eager, O(n) ram and O(n ln(n)) time.<br>
|
||||
</div>
|
||||
<pre><span id="VALsort_uniq"><span class="keyword">val</span> sort_uniq</span> : <code class="type">?cmp:('a -> 'a -> int) -> 'a <a href="Sequence.html#TYPEt">t</a> -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Sort the sequence and remove duplicates. Eager, same as <code class="code">sort</code><br>
|
||||
</div>
|
||||
<pre><span id="VALgroup"><span class="keyword">val</span> group</span> : <code class="type">?eq:('a -> 'a -> bool) -> 'a <a href="Sequence.html#TYPEt">t</a> -> 'a list <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Group equal consecutive elements.<br>
|
||||
</div>
|
||||
<pre><span id="VALuniq"><span class="keyword">val</span> uniq</span> : <code class="type">?eq:('a -> 'a -> bool) -> 'a <a href="Sequence.html#TYPEt">t</a> -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Remove consecutive duplicate elements. Basically this is
|
||||
like <code class="code">fun seq -> map List.hd (group seq)</code>.<br>
|
||||
</div>
|
||||
<pre><span id="VALproduct"><span class="keyword">val</span> product</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a> -> 'b <a href="Sequence.html#TYPEt">t</a> -> ('a * 'b) <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Cartesian product of the sequences. The first one is transformed
|
||||
by calling <code class="code">persistent</code> on it, so that it can be traversed
|
||||
several times (outer loop of the product)<br>
|
||||
</div>
|
||||
<pre><span id="VALjoin"><span class="keyword">val</span> join</span> : <code class="type">join_row:('a -> 'b -> 'c option) -><br> 'a <a href="Sequence.html#TYPEt">t</a> -> 'b <a href="Sequence.html#TYPEt">t</a> -> 'c <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
<code class="code">join ~join_row a b</code> combines every element of <code class="code">a</code> with every
|
||||
element of <code class="code">b</code> using <code class="code">join_row</code>. If <code class="code">join_row</code> returns None, then
|
||||
the two elements do not combine. Assume that <code class="code">b</code> allows for multiple
|
||||
iterations.<br>
|
||||
</div>
|
||||
<pre><span id="VALunfoldr"><span class="keyword">val</span> unfoldr</span> : <code class="type">('b -> ('a * 'b) option) -> 'b -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
<code class="code">unfoldr f b</code> will apply <code class="code">f</code> to <code class="code">b</code>. If it
|
||||
yields <code class="code">Some (x,b')</code> then <code class="code">x</code> is returned
|
||||
and unfoldr recurses with <code class="code">b'</code>.<br>
|
||||
</div>
|
||||
<pre><span id="VALscan"><span class="keyword">val</span> scan</span> : <code class="type">('b -> 'a -> 'b) -> 'b -> 'a <a href="Sequence.html#TYPEt">t</a> -> 'b <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Sequence of intermediate results<br>
|
||||
</div>
|
||||
<pre><span id="VALmax"><span class="keyword">val</span> max</span> : <code class="type">?lt:('a -> 'a -> bool) -> 'a <a href="Sequence.html#TYPEt">t</a> -> 'a -> 'a</code></pre><div class="info">
|
||||
Max element of the sequence, using the given comparison
|
||||
function. A default element has to be provided.<br>
|
||||
|
|
@ -141,6 +188,14 @@ Drop the <code class="code">n</code> first elements of the sequence<br>
|
|||
Reverse the sequence. O(n) memory and time.<br>
|
||||
</div>
|
||||
<br>
|
||||
<h2 id="2_Binarysequences">Binary sequences</h2><br>
|
||||
<pre><span id="VALempty2"><span class="keyword">val</span> empty2</span> : <code class="type">('a, 'b) <a href="Sequence.html#TYPEt2">t2</a></code></pre><pre><span id="VALis_empty2"><span class="keyword">val</span> is_empty2</span> : <code class="type">('a, 'b) <a href="Sequence.html#TYPEt2">t2</a> -> bool</code></pre><pre><span id="VALlength2"><span class="keyword">val</span> length2</span> : <code class="type">('a, 'b) <a href="Sequence.html#TYPEt2">t2</a> -> int</code></pre><pre><span id="VALzip"><span class="keyword">val</span> zip</span> : <code class="type">('a, 'b) <a href="Sequence.html#TYPEt2">t2</a> -> ('a * 'b) <a href="Sequence.html#TYPEt">t</a></code></pre><pre><span id="VALunzip"><span class="keyword">val</span> unzip</span> : <code class="type">('a * 'b) <a href="Sequence.html#TYPEt">t</a> -> ('a, 'b) <a href="Sequence.html#TYPEt2">t2</a></code></pre><pre><span id="VALzip_i"><span class="keyword">val</span> zip_i</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a> -> (int, 'a) <a href="Sequence.html#TYPEt2">t2</a></code></pre><div class="info">
|
||||
Zip elements of the sequence with their index in the sequence<br>
|
||||
</div>
|
||||
<pre><span id="VALfold2"><span class="keyword">val</span> fold2</span> : <code class="type">('c -> 'a -> 'b -> 'c) -> 'c -> ('a, 'b) <a href="Sequence.html#TYPEt2">t2</a> -> 'c</code></pre><pre><span id="VALiter2"><span class="keyword">val</span> iter2</span> : <code class="type">('a -> 'b -> unit) -> ('a, 'b) <a href="Sequence.html#TYPEt2">t2</a> -> unit</code></pre><pre><span id="VALmap2"><span class="keyword">val</span> map2</span> : <code class="type">('a -> 'b -> 'c) -> ('a, 'b) <a href="Sequence.html#TYPEt2">t2</a> -> 'c <a href="Sequence.html#TYPEt">t</a></code></pre><pre><span id="VALmap2_2"><span class="keyword">val</span> map2_2</span> : <code class="type">('a -> 'b -> 'c) -><br> ('a -> 'b -> 'd) -> ('a, 'b) <a href="Sequence.html#TYPEt2">t2</a> -> ('c, 'd) <a href="Sequence.html#TYPEt2">t2</a></code></pre><div class="info">
|
||||
<code class="code">map2_2 f g seq2</code> maps each <code class="code">x, y</code> of seq2 into <code class="code">f x y, g x y</code><br>
|
||||
</div>
|
||||
<br>
|
||||
<h2 id="2_Basicdatastructuresconverters">Basic data structures converters</h2><br>
|
||||
<pre><span id="VALto_list"><span class="keyword">val</span> to_list</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a> -> 'a list</code></pre><pre><span id="VALto_rev_list"><span class="keyword">val</span> to_rev_list</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a> -> 'a list</code></pre><div class="info">
|
||||
Get the list of the reversed sequence (more efficient)<br>
|
||||
|
|
@ -152,12 +207,15 @@ Convert to an array. Currently not very efficient because
|
|||
<pre><span id="VALof_array"><span class="keyword">val</span> of_array</span> : <code class="type">'a array -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><pre><span id="VALof_array_i"><span class="keyword">val</span> of_array_i</span> : <code class="type">'a array -> (int * 'a) <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Elements of the array, with their index<br>
|
||||
</div>
|
||||
<pre><span id="VALarray_slice"><span class="keyword">val</span> array_slice</span> : <code class="type">'a array -> int -> int -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
<pre><span id="VALof_array2"><span class="keyword">val</span> of_array2</span> : <code class="type">'a array -> (int, 'a) <a href="Sequence.html#TYPEt2">t2</a></code></pre><pre><span id="VALarray_slice"><span class="keyword">val</span> array_slice</span> : <code class="type">'a array -> int -> int -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
<code class="code">array_slice a i j</code> Sequence of elements whose indexes range
|
||||
from <code class="code">i</code> to <code class="code">j</code><br>
|
||||
</div>
|
||||
<pre><span id="VALof_stream"><span class="keyword">val</span> of_stream</span> : <code class="type">'a Stream.t -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Sequence of elements of a stream<br>
|
||||
Sequence of elements of a stream (usable only once)<br>
|
||||
</div>
|
||||
<pre><span id="VALto_stream"><span class="keyword">val</span> to_stream</span> : <code class="type">'a <a href="Sequence.html#TYPEt">t</a> -> 'a Stream.t</code></pre><div class="info">
|
||||
Convert to a stream. linear in memory and time (a copy is made in memory)<br>
|
||||
</div>
|
||||
<pre><span id="VALto_stack"><span class="keyword">val</span> to_stack</span> : <code class="type">'a Stack.t -> 'a <a href="Sequence.html#TYPEt">t</a> -> unit</code></pre><div class="info">
|
||||
Push elements of the sequence on the stack<br>
|
||||
|
|
@ -182,9 +240,15 @@ Add elements of the sequence to the hashtable, with
|
|||
<pre><span id="VALto_hashtbl"><span class="keyword">val</span> to_hashtbl</span> : <code class="type">('a * 'b) <a href="Sequence.html#TYPEt">t</a> -> ('a, 'b) Hashtbl.t</code></pre><div class="info">
|
||||
Build a hashtable from a sequence of key/value pairs<br>
|
||||
</div>
|
||||
<pre><span id="VALto_hashtbl2"><span class="keyword">val</span> to_hashtbl2</span> : <code class="type">('a, 'b) <a href="Sequence.html#TYPEt2">t2</a> -> ('a, 'b) Hashtbl.t</code></pre><div class="info">
|
||||
Build a hashtable from a sequence of key/value pairs<br>
|
||||
</div>
|
||||
<pre><span id="VALof_hashtbl"><span class="keyword">val</span> of_hashtbl</span> : <code class="type">('a, 'b) Hashtbl.t -> ('a * 'b) <a href="Sequence.html#TYPEt">t</a></code></pre><div class="info">
|
||||
Sequence of key/value pairs from the hashtable<br>
|
||||
</div>
|
||||
<pre><span id="VALof_hashtbl2"><span class="keyword">val</span> of_hashtbl2</span> : <code class="type">('a, 'b) Hashtbl.t -> ('a, 'b) <a href="Sequence.html#TYPEt2">t2</a></code></pre><div class="info">
|
||||
Sequence of key/value pairs from the hashtable<br>
|
||||
</div>
|
||||
<pre><span id="VALhashtbl_keys"><span class="keyword">val</span> hashtbl_keys</span> : <code class="type">('a, 'b) Hashtbl.t -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><pre><span id="VALhashtbl_values"><span class="keyword">val</span> hashtbl_values</span> : <code class="type">('a, 'b) Hashtbl.t -> 'b <a href="Sequence.html#TYPEt">t</a></code></pre><pre><span id="VALof_str"><span class="keyword">val</span> of_str</span> : <code class="type">string -> char <a href="Sequence.html#TYPEt">t</a></code></pre><pre><span id="VALto_str"><span class="keyword">val</span> to_str</span> : <code class="type">char <a href="Sequence.html#TYPEt">t</a> -> string</code></pre><pre><span id="VALof_in_channel"><span class="keyword">val</span> of_in_channel</span> : <code class="type">Pervasives.in_channel -> char <a href="Sequence.html#TYPEt">t</a></code></pre><pre><span id="VALto_buffer"><span class="keyword">val</span> to_buffer</span> : <code class="type">char <a href="Sequence.html#TYPEt">t</a> -> Buffer.t -> unit</code></pre><div class="info">
|
||||
Copy content of the sequence into the buffer<br>
|
||||
</div>
|
||||
|
|
@ -209,6 +273,8 @@ Sequence of choices of an element in the array<br>
|
|||
<pre><span id="VALrandom_list"><span class="keyword">val</span> random_list</span> : <code class="type">'a list -> 'a <a href="Sequence.html#TYPEt">t</a></code></pre><br>
|
||||
<h2 id="2_Typeclasses">Type-classes</h2><br>
|
||||
<pre><span class="keyword">module</span> <a href="Sequence.TypeClass.html">TypeClass</a>: <code class="code">sig</code> <a href="Sequence.TypeClass.html">..</a> <code class="code">end</code></pre><br>
|
||||
<h2 id="2_Infixfunctions">Infix functions</h2><br>
|
||||
<pre><span class="keyword">module</span> <a href="Sequence.Infix.html">Infix</a>: <code class="code">sig</code> <a href="Sequence.Infix.html">..</a> <code class="code">end</code></pre><br>
|
||||
<h2 id="2_Prettyprintingofsequences">Pretty printing of sequences</h2><br>
|
||||
<pre><span id="VALpp_seq"><span class="keyword">val</span> pp_seq</span> : <code class="type">?sep:string -><br> (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a <a href="Sequence.html#TYPEt">t</a> -> unit</code></pre><div class="info">
|
||||
Pretty print a sequence of <code class="code">'a</code>, using the given pretty printer
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
262ceaccb53cec41f6a06ae2253f2193
|
||||
8860b0ecfcc48b9b2fb5adef35908225
|
||||
|
|
@ -25,6 +25,9 @@ Adapt a pre-existing Map module to make it sequence-aware
|
|||
Create an enriched Set module from the given one
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td align="left"><br>I</td></tr>
|
||||
<tr><td><a href="Sequence.Infix.html">Infix</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td align="left"><br>M</td></tr>
|
||||
<tr><td><a href="Sequence.Map.Make.html">Make</a> [<a href="Sequence.Map.html">Sequence.Map</a>]</td>
|
||||
<td><div class="info">
|
||||
|
|
|
|||
|
|
@ -40,6 +40,11 @@ Sequence abstract iterator type, representing a finite sequence of
|
|||
values of type <code class="code">'a</code>.
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#TYPEt2">t2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Sequence of pairs of values of type <code class="code">'a</code> and <code class="code">'b</code>.
|
||||
</div>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -14,6 +14,13 @@
|
|||
</div>
|
||||
<h1>Index of values</h1>
|
||||
<table>
|
||||
<tr><td align="left"><br></td></tr>
|
||||
<tr><td><a href="Sequence.Infix.html#VAL(--)">(--)</a> [<a href="Sequence.Infix.html">Sequence.Infix</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.Infix.html#VAL(@@)">(@@)</a> [<a href="Sequence.Infix.html">Sequence.Infix</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.Infix.html#VAL(|>)">(|>)</a> [<a href="Sequence.Infix.html">Sequence.Infix</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td align="left"><br>A</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALappend">append</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
|
|
@ -49,6 +56,8 @@ Drop the <code class="code">n</code> first elements of the sequence
|
|||
Empty sequence
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALempty2">empty2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALexists">exists</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Exists there some element satisfying the predicate?
|
||||
|
|
@ -65,11 +74,18 @@ Filter on elements of the sequence
|
|||
Monadic bind.
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALflatten">flatten</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Alias for <a href="Sequence.html#VALconcat"><code class="code">Sequence.concat</code></a>
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALfold">fold</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Fold over elements of the sequence, consuming it
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALfold2">fold2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALfoldi">foldi</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Fold over elements of the sequence and their index, consuming it
|
||||
|
|
@ -85,11 +101,22 @@ Do all elements satisfy the predicate?
|
|||
Sequence that calls the given function to produce elements
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALfrom_fun">from_fun</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Call the function repeatedly until it returns None.
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALfrom_iter">from_iter</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Build a sequence from a iter function
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td align="left"><br>G</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALgroup">group</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Group equal consecutive elements.
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td align="left"><br>H</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALhashtbl_add">hashtbl_add</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
|
|
@ -123,11 +150,15 @@ Insert the second element between every element of the sequence
|
|||
Is the sequence empty?
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALis_empty2">is_empty2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALiter">iter</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Consume the sequence, passing all its arguments to the function
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALiter2">iter2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.TypeClass.html#VALiterable">iterable</a> [<a href="Sequence.TypeClass.html">Sequence.TypeClass</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALiterate">iterate</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
|
|
@ -140,6 +171,13 @@ Consume the sequence, passing all its arguments to the function
|
|||
Iterate on elements and their index in the sequence
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td align="left"><br>J</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALjoin">join</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
<code class="code">join ~join_row a b</code> combines every element of <code class="code">a</code> with every
|
||||
element of <code class="code">b</code> using <code class="code">join_row</code>.
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td align="left"><br>K</td></tr>
|
||||
<tr><td><a href="Sequence.Map.S.html#VALkeys">keys</a> [<a href="Sequence.Map.S.html">Sequence.Map.S</a>]</td>
|
||||
<td></td></tr>
|
||||
|
|
@ -149,12 +187,21 @@ Iterate on elements and their index in the sequence
|
|||
How long is the sequence?
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALlength2">length2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td align="left"><br>M</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALmap">map</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Map objects of the sequence into other elements, lazily
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALmap2">map2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALmap2_2">map2_2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
<code class="code">map2_2 f g seq2</code> maps each <code class="code">x, y</code> of seq2 into <code class="code">f x y, g x y</code>
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALmapi">mapi</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Map objects, along with their index in the sequence
|
||||
|
|
@ -176,6 +223,8 @@ Min element of the sequence, using the given comparison function
|
|||
<tr><td align="left"><br>O</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALof_array">of_array</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALof_array2">of_array2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALof_array_i">of_array_i</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Elements of the array, with their index
|
||||
|
|
@ -186,6 +235,11 @@ Elements of the array, with their index
|
|||
Sequence of key/value pairs from the hashtable
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALof_hashtbl2">of_hashtbl2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Sequence of key/value pairs from the hashtable
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALof_in_channel">of_in_channel</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.TypeClass.html#VALof_iterable">of_iterable</a> [<a href="Sequence.TypeClass.html">Sequence.TypeClass</a>]</td>
|
||||
|
|
@ -215,7 +269,7 @@ Sequence of elements of the stack (same order as <code class="code">Stack.iter</
|
|||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALof_stream">of_stream</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Sequence of elements of a stream
|
||||
Sequence of elements of a stream (usable only once)
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td align="left"><br>P</td></tr>
|
||||
|
|
@ -260,6 +314,11 @@ Reverse the sequence.
|
|||
</div>
|
||||
</td></tr>
|
||||
<tr><td align="left"><br>S</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALscan">scan</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Sequence of intermediate results
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.TypeClass.html#VALsequenceable">sequenceable</a> [<a href="Sequence.TypeClass.html">Sequence.TypeClass</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALsingleton">singleton</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
|
|
@ -267,6 +326,16 @@ Reverse the sequence.
|
|||
Singleton sequence
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALsort">sort</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Sort the sequence.
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALsort_uniq">sort_uniq</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Sort the sequence and remove duplicates.
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td align="left"><br>T</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALtake">take</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
|
|
@ -290,6 +359,11 @@ Copy content of the sequence into the buffer
|
|||
Build a hashtable from a sequence of key/value pairs
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALto_hashtbl2">to_hashtbl2</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Build a hashtable from a sequence of key/value pairs
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALto_list">to_list</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALto_queue">to_queue</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
|
|
@ -318,15 +392,35 @@ Push elements of the sequence on the stack
|
|||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALto_str">to_str</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALto_stream">to_stream</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Convert to a stream.
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td align="left"><br>U</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALunfoldr">unfoldr</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
<code class="code">unfoldr f b</code> will apply <code class="code">f</code> to <code class="code">b</code>.
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALuniq">uniq</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Remove consecutive duplicate elements.
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALunzip">unzip</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td align="left"><br>V</td></tr>
|
||||
<tr><td><a href="Sequence.Map.S.html#VALvalues">values</a> [<a href="Sequence.Map.S.html">Sequence.Map.S</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td align="left"><br>Z</td></tr>
|
||||
<tr><td><a href="Sequence.html#VALzip">zip</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td></td></tr>
|
||||
<tr><td><a href="Sequence.html#VALzip_i">zip_i</a> [<a href="Sequence.html">Sequence</a>]</td>
|
||||
<td><div class="info">
|
||||
Zip elements of the sequence with their index in the sequence
|
||||
</div>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
16
api/type_Sequence.Infix.html
Normal file
16
api/type_Sequence.Infix.html
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<html><head>
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
|
||||
<link rel="Start" href="index.html">
|
||||
<link title="Index of types" rel=Appendix href="index_types.html">
|
||||
<link title="Index of values" rel=Appendix href="index_values.html">
|
||||
<link title="Index of modules" rel=Appendix href="index_modules.html">
|
||||
<link title="Index of module types" rel=Appendix href="index_module_types.html">
|
||||
<link title="Sequence" rel="Chapter" href="Sequence.html"><title>Sequence.Infix</title>
|
||||
</head>
|
||||
<body>
|
||||
<code class="code"><span class="keyword">sig</span><br>
|
||||
<span class="keyword">val</span> ( -- ) : int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> ( |> ) : <span class="keywordsign">'</span>a <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br>
|
||||
<span class="keyword">val</span> ( @@ ) : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">end</span></code></body></html>
|
||||
|
|
@ -10,8 +10,10 @@
|
|||
</head>
|
||||
<body>
|
||||
<code class="code"><span class="keyword">sig</span><br>
|
||||
<span class="keyword">type</span> +<span class="keywordsign">'</span>a t<br>
|
||||
<span class="keyword">type</span> <span class="keywordsign">'</span>a t = (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br>
|
||||
<span class="keyword">type</span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) t2 = (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br>
|
||||
<span class="keyword">val</span> from_iter : ((<span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> from_fun : (unit <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> empty : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> singleton : <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> repeat : <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
|
|
@ -31,24 +33,47 @@
|
|||
<span class="keyword">val</span> filter : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> append : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> concat : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> flatten : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> flatMap : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Sequence</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> intersperse : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> intersperse : <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> persistent : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> sort : ?cmp:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> int) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> sort_uniq : ?cmp:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> int) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> group : ?eq:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> uniq : ?eq:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> product : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> join :<br>
|
||||
join_row:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>c option) <span class="keywordsign">-></span><br>
|
||||
<span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>c <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> unfoldr : (<span class="keywordsign">'</span>b <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b) option) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> scan : (<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> max : ?lt:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br>
|
||||
<span class="keyword">val</span> min : ?lt:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br>
|
||||
<span class="keyword">val</span> take : int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> drop : int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> rev : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> empty2 : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2<br>
|
||||
<span class="keyword">val</span> is_empty2 : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2 <span class="keywordsign">-></span> bool<br>
|
||||
<span class="keyword">val</span> length2 : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2 <span class="keywordsign">-></span> int<br>
|
||||
<span class="keyword">val</span> zip : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2 <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> unzip : (<span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2<br>
|
||||
<span class="keyword">val</span> zip_i : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> (int, <span class="keywordsign">'</span>a) <span class="constructor">Sequence</span>.t2<br>
|
||||
<span class="keyword">val</span> fold2 : (<span class="keywordsign">'</span>c <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>c) <span class="keywordsign">-></span> <span class="keywordsign">'</span>c <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2 <span class="keywordsign">-></span> <span class="keywordsign">'</span>c<br>
|
||||
<span class="keyword">val</span> iter2 : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2 <span class="keywordsign">-></span> unit<br>
|
||||
<span class="keyword">val</span> map2 : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>c) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2 <span class="keywordsign">-></span> <span class="keywordsign">'</span>c <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> map2_2 :<br>
|
||||
(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>c) <span class="keywordsign">-></span><br>
|
||||
(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>d) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2 <span class="keywordsign">-></span> (<span class="keywordsign">'</span>c, <span class="keywordsign">'</span>d) <span class="constructor">Sequence</span>.t2<br>
|
||||
<span class="keyword">val</span> to_list : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list<br>
|
||||
<span class="keyword">val</span> to_rev_list : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list<br>
|
||||
<span class="keyword">val</span> of_list : <span class="keywordsign">'</span>a list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> to_array : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a array<br>
|
||||
<span class="keyword">val</span> of_array : <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> of_array_i : <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> (int * <span class="keywordsign">'</span>a) <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> of_array2 : <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> (int, <span class="keywordsign">'</span>a) <span class="constructor">Sequence</span>.t2<br>
|
||||
<span class="keyword">val</span> array_slice : <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> of_stream : <span class="keywordsign">'</span>a <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> to_stream : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Stream</span>.t<br>
|
||||
<span class="keyword">val</span> to_stack : <span class="keywordsign">'</span>a <span class="constructor">Stack</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> unit<br>
|
||||
<span class="keyword">val</span> of_stack : <span class="keywordsign">'</span>a <span class="constructor">Stack</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> to_queue : <span class="keywordsign">'</span>a <span class="constructor">Queue</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> unit<br>
|
||||
|
|
@ -56,7 +81,9 @@
|
|||
<span class="keyword">val</span> hashtbl_add : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Hashtbl</span>.t <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> unit<br>
|
||||
<span class="keyword">val</span> hashtbl_replace : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Hashtbl</span>.t <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> unit<br>
|
||||
<span class="keyword">val</span> to_hashtbl : (<span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Hashtbl</span>.t<br>
|
||||
<span class="keyword">val</span> to_hashtbl2 : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2 <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Hashtbl</span>.t<br>
|
||||
<span class="keyword">val</span> of_hashtbl : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Hashtbl</span>.t <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> of_hashtbl2 : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Hashtbl</span>.t <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.t2<br>
|
||||
<span class="keyword">val</span> hashtbl_keys : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Hashtbl</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> hashtbl_values : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Hashtbl</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> of_str : string <span class="keywordsign">-></span> char <span class="constructor">Sequence</span>.t<br>
|
||||
|
|
@ -298,6 +325,12 @@
|
|||
<span class="keyword">val</span> to_addable :<br>
|
||||
(<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Sequence</span>.<span class="constructor">TypeClass</span>.addable <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br>
|
||||
<span class="keyword">end</span><br>
|
||||
<span class="keyword">module</span> <span class="constructor">Infix</span> :<br>
|
||||
<span class="keyword">sig</span><br>
|
||||
<span class="keyword">val</span> ( -- ) : int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">val</span> ( |> ) : <span class="keywordsign">'</span>a <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br>
|
||||
<span class="keyword">val</span> ( @@ ) : <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Sequence</span>.t<br>
|
||||
<span class="keyword">end</span><br>
|
||||
<span class="keyword">val</span> pp_seq :<br>
|
||||
?sep:string <span class="keywordsign">-></span><br>
|
||||
(<span class="constructor">Format</span>.formatter <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue