Skip to content

OCaml 4.14.0 release #1623

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 29, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Prev Previous commit
Next Next commit
OCaml 4.14 manual
  • Loading branch information
Octachron committed Mar 28, 2022
commit 342f9180f37eb4080c9a46c54ecb351a516e753f
556 changes: 556 additions & 0 deletions site/releases/4.14/api/Arg.html

Large diffs are not rendered by default.

565 changes: 565 additions & 0 deletions site/releases/4.14/api/Array.html

Large diffs are not rendered by default.

565 changes: 565 additions & 0 deletions site/releases/4.14/api/ArrayLabels.html

Large diffs are not rendered by default.

177 changes: 177 additions & 0 deletions site/releases/4.14/api/Atomic.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
<!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=utf8" http-equiv="Content-Type">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="Start" href="index.html">
<link rel="previous" href="Arg.html">
<link rel="next" href="Printexc.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel="Appendix" href="index_types.html">
<link title="Index of extensions" rel="Appendix" href="index_extensions.html">
<link title="Index of exceptions" rel="Appendix" href="index_exceptions.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="Ocaml_operators" rel="Chapter" href="Ocaml_operators.html">
<link title="Format_tutorial" rel="Chapter" href="Format_tutorial.html">
<link title="CamlinternalFormatBasics" rel="Chapter" href="CamlinternalFormatBasics.html">
<link title="CamlinternalAtomic" rel="Chapter" href="CamlinternalAtomic.html">
<link title="Stdlib" rel="Chapter" href="Stdlib.html">
<link title="Either" rel="Chapter" href="Either.html">
<link title="Sys" rel="Chapter" href="Sys.html">
<link title="Obj" rel="Chapter" href="Obj.html">
<link title="CamlinternalLazy" rel="Chapter" href="CamlinternalLazy.html">
<link title="Lazy" rel="Chapter" href="Lazy.html">
<link title="Seq" rel="Chapter" href="Seq.html">
<link title="Option" rel="Chapter" href="Option.html">
<link title="Result" rel="Chapter" href="Result.html">
<link title="Bool" rel="Chapter" href="Bool.html">
<link title="Char" rel="Chapter" href="Char.html">
<link title="Uchar" rel="Chapter" href="Uchar.html">
<link title="List" rel="Chapter" href="List.html">
<link title="Int" rel="Chapter" href="Int.html">
<link title="Bytes" rel="Chapter" href="Bytes.html">
<link title="String" rel="Chapter" href="String.html">
<link title="Unit" rel="Chapter" href="Unit.html">
<link title="Marshal" rel="Chapter" href="Marshal.html">
<link title="Array" rel="Chapter" href="Array.html">
<link title="Float" rel="Chapter" href="Float.html">
<link title="Int32" rel="Chapter" href="Int32.html">
<link title="Int64" rel="Chapter" href="Int64.html">
<link title="Nativeint" rel="Chapter" href="Nativeint.html">
<link title="Lexing" rel="Chapter" href="Lexing.html">
<link title="Parsing" rel="Chapter" href="Parsing.html">
<link title="Set" rel="Chapter" href="Set.html">
<link title="Map" rel="Chapter" href="Map.html">
<link title="Stack" rel="Chapter" href="Stack.html">
<link title="Queue" rel="Chapter" href="Queue.html">
<link title="Stream" rel="Chapter" href="Stream.html">
<link title="Buffer" rel="Chapter" href="Buffer.html">
<link title="CamlinternalFormat" rel="Chapter" href="CamlinternalFormat.html">
<link title="Printf" rel="Chapter" href="Printf.html">
<link title="Arg" rel="Chapter" href="Arg.html">
<link title="Atomic" rel="Chapter" href="Atomic.html">
<link title="Printexc" rel="Chapter" href="Printexc.html">
<link title="Fun" rel="Chapter" href="Fun.html">
<link title="Gc" rel="Chapter" href="Gc.html">
<link title="Digest" rel="Chapter" href="Digest.html">
<link title="Random" rel="Chapter" href="Random.html">
<link title="Hashtbl" rel="Chapter" href="Hashtbl.html">
<link title="Weak" rel="Chapter" href="Weak.html">
<link title="Format" rel="Chapter" href="Format.html">
<link title="Scanf" rel="Chapter" href="Scanf.html">
<link title="Callback" rel="Chapter" href="Callback.html">
<link title="CamlinternalOO" rel="Chapter" href="CamlinternalOO.html">
<link title="Oo" rel="Chapter" href="Oo.html">
<link title="CamlinternalMod" rel="Chapter" href="CamlinternalMod.html">
<link title="Genlex" rel="Chapter" href="Genlex.html">
<link title="Ephemeron" rel="Chapter" href="Ephemeron.html">
<link title="Filename" rel="Chapter" href="Filename.html">
<link title="Complex" rel="Chapter" href="Complex.html">
<link title="ArrayLabels" rel="Chapter" href="ArrayLabels.html">
<link title="ListLabels" rel="Chapter" href="ListLabels.html">
<link title="BytesLabels" rel="Chapter" href="BytesLabels.html">
<link title="StringLabels" rel="Chapter" href="StringLabels.html">
<link title="MoreLabels" rel="Chapter" href="MoreLabels.html">
<link title="StdLabels" rel="Chapter" href="StdLabels.html">
<link title="Bigarray" rel="Chapter" href="Bigarray.html">
<link title="In_channel" rel="Chapter" href="In_channel.html">
<link title="Out_channel" rel="Chapter" href="Out_channel.html">
<link title="Dynlink" rel="Chapter" href="Dynlink.html">
<link title="Str" rel="Chapter" href="Str.html">
<link title="Unix" rel="Chapter" href="Unix.html">
<link title="UnixLabels" rel="Chapter" href="UnixLabels.html">
<link title="Thread" rel="Chapter" href="Thread.html">
<link title="Condition" rel="Chapter" href="Condition.html">
<link title="Mutex" rel="Chapter" href="Mutex.html">
<link title="Event" rel="Chapter" href="Event.html">
<link title="ThreadUnix" rel="Chapter" href="ThreadUnix.html">
<link title="Semaphore" rel="Chapter" href="Semaphore.html"><title>OCaml library : Atomic</title>
<script src="search.js"></script><script src="scroll.js"></script><script src="navigation.js"></script><link rel="shortcut icon" type="image/x-icon" href="favicon.ico"></head>
<body><div class="api"><div id="sidebar-button"><span>☰</span></div><header id="sidebar"><nav class="toc brand"><a class="brand" href="../manual/index.html"><img src="colour-logo.svg" class="svg" alt="OCaml"></a></nav><nav class="toc"><div class="toc_version"><a id="version-select" href="https://ocaml.org/releases/">API Version 4.14</a></div><a href="index.html">&lt; General Index</a><div class="api_search"><input type="text" name="apisearch" id="api_search" class="api_search" oninput="mySearch(false);" onkeypress="this.oninput();" onclick="this.oninput();" onpaste="this.oninput();">
<img src="search_icon.svg" alt="Search" class="api_search svg" onclick="mySearch(false)"></div>
<div id="search_results"></div><div class="toc_title"><a href="#top">OCaml library : Atomic</a></div><ul></ul></nav></header>
<h1>Module <a href="type_Atomic.html">Atomic</a></h1>

<pre><span id="MODULEAtomic"><span class="keyword">module</span> Atomic</span>: <code class="code"><span class="keyword">sig</span></code> <a href="Atomic.html">..</a> <code class="code"><span class="keyword">end</span></code></pre><div class="info module top">
<div class="info-desc">
<p>This module provides a purely sequential implementation of the
concurrent atomic references provided by the Multicore OCaml
standard library:</p>

<p>https://github.com/ocaml-multicore/ocaml-multicore/blob/parallel_minor_gc/stdlib/atomic.mli</p>

<p>This sequential implementation is provided in the interest of
compatibility: when people will start writing code to run on
Multicore, it would be nice if their use of Atomic was
backward-compatible with older versions of OCaml without having to
import additional compatibility layers.</p>
</div>
<ul class="info-attributes">
<li><b>Since</b> 4.12</li>
</ul>
</div>
<hr width="100%">

<pre><span id="TYPEt"><span class="keyword">type</span> <code class="type">'a</code> t</span> </pre>
<div class="info ">
<div class="info-desc">
<p>An atomic (mutable) reference to a value of type <code class="code"><span class="keywordsign">'</span>a</code>.</p>
</div>
</div>


<pre><span id="VALmake"><span class="keyword">val</span> make</span> : <code class="type">'a -&gt; 'a <a href="Atomic.html#TYPEt">t</a></code></pre><div class="info ">
<div class="info-desc">
<p>Create an atomic reference.</p>
</div>
</div>

<pre><span id="VALget"><span class="keyword">val</span> get</span> : <code class="type">'a <a href="Atomic.html#TYPEt">t</a> -&gt; 'a</code></pre><div class="info ">
<div class="info-desc">
<p>Get the current value of the atomic reference.</p>
</div>
</div>

<pre><span id="VALset"><span class="keyword">val</span> set</span> : <code class="type">'a <a href="Atomic.html#TYPEt">t</a> -&gt; 'a -&gt; unit</code></pre><div class="info ">
<div class="info-desc">
<p>Set a new value for the atomic reference.</p>
</div>
</div>

<pre><span id="VALexchange"><span class="keyword">val</span> exchange</span> : <code class="type">'a <a href="Atomic.html#TYPEt">t</a> -&gt; 'a -&gt; 'a</code></pre><div class="info ">
<div class="info-desc">
<p>Set a new value for the atomic reference, and return the current value.</p>
</div>
</div>

<pre><span id="VALcompare_and_set"><span class="keyword">val</span> compare_and_set</span> : <code class="type">'a <a href="Atomic.html#TYPEt">t</a> -&gt; 'a -&gt; 'a -&gt; bool</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">compare_and_set&nbsp;r&nbsp;seen&nbsp;v</code> sets the new value of <code class="code">r</code> to <code class="code">v</code> only
if its current value is physically equal to <code class="code">seen</code> -- the
comparison and the set occur atomically. Returns <code class="code"><span class="keyword">true</span></code> if the
comparison succeeded (so the set happened) and <code class="code"><span class="keyword">false</span></code>
otherwise.</p>
</div>
</div>

<pre><span id="VALfetch_and_add"><span class="keyword">val</span> fetch_and_add</span> : <code class="type">int <a href="Atomic.html#TYPEt">t</a> -&gt; int -&gt; int</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">fetch_and_add&nbsp;r&nbsp;n</code> atomically increments the value of <code class="code">r</code> by <code class="code">n</code>,
and returns the current value (before the increment).</p>
</div>
</div>

<pre><span id="VALincr"><span class="keyword">val</span> incr</span> : <code class="type">int <a href="Atomic.html#TYPEt">t</a> -&gt; unit</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">incr&nbsp;r</code> atomically increments the value of <code class="code">r</code> by <code class="code">1</code>.</p>
</div>
</div>

<pre><span id="VALdecr"><span class="keyword">val</span> decr</span> : <code class="type">int <a href="Atomic.html#TYPEt">t</a> -&gt; unit</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">decr&nbsp;r</code> atomically decrements the value of <code class="code">r</code> by <code class="code">1</code>.</p>
</div>
</div>

</div></body></html>
Loading