mirror of
https://github.com/ocaml-tracing/ocaml-trace.git
synced 2026-03-09 04:17:56 -04:00
44 lines
58 KiB
HTML
44 lines
58 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Stdppx (ppxlib.Stdppx)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 3.1.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../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">Index</a> » <a href="../index.html">ppxlib</a> » Stdppx</nav><header class="odoc-preamble"><h1>Module <code><span>Stdppx</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module anchored" id="module-Caml"><a href="#module-Caml" class="anchor"></a><code><span><span class="keyword">module</span> Caml</span><span> = <a href="../../ocaml/Stdlib/index.html">Stdlib</a></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Sexp"><a href="#module-Sexp" class="anchor"></a><code><span><span class="keyword">module</span> Sexp</span><span> = <a href="../../sexplib0/Sexplib0/Sexp/index.html">Sexplib0.Sexp</a></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Sexpable"><a href="#module-Sexpable" class="anchor"></a><code><span><span class="keyword">module</span> Sexpable</span><span> = <a href="../../sexplib0/Sexplib0/Sexpable/index.html">Sexplib0.Sexpable</a></span></code></div></div><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="keyword">module</span> <span class="keyword">type</span> <span class="keyword">of</span> <span class="keyword">struct</span> <span class="keyword">include</span> <a href="../../sexplib0/Sexplib0/Sexp_conv/index.html">Sexplib0.Sexp_conv</a> <span class="keyword">end</span></span></code></summary><h6 id="conversion-of-ocaml-values-to-s-expressions"><a href="#conversion-of-ocaml-values-to-s-expressions" class="anchor"></a>Conversion of OCaml-values to S-expressions</h6><div class="odoc-spec"><div class="spec value anchored" id="val-default_string_of_float"><a href="#val-default_string_of_float" class="anchor"></a><code><span><span class="keyword">val</span> default_string_of_float : <span><span>(<span>float <span class="arrow">-></span></span> string)</span> <a href="../../ocaml/Stdlib/index.html#type-ref">ref</a></span></span></code></div><div class="spec-doc"><p><code>default_string_of_float</code> reference to the default function used to convert floats to strings.</p><p>Initially set to <code>fun n -> sprintf "%.20G" n</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write_old_option_format"><a href="#val-write_old_option_format" class="anchor"></a><code><span><span class="keyword">val</span> write_old_option_format : <span>bool <a href="../../ocaml/Stdlib/index.html#type-ref">ref</a></span></span></code></div><div class="spec-doc"><p><code>write_old_option_format</code> reference for the default option format used to write option values. If set to <code>true</code>, the old-style option format will be used, the new-style one otherwise.</p><p>Initially set to <code>true</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-read_old_option_format"><a href="#val-read_old_option_format" class="anchor"></a><code><span><span class="keyword">val</span> read_old_option_format : <span>bool <a href="../../ocaml/Stdlib/index.html#type-ref">ref</a></span></span></code></div><div class="spec-doc"><p><code>read_old_option_format</code> reference for the default option format used to read option values. <code>Of_sexp_error</code> will be raised with old-style option values if this reference is set to <code>false</code>. Reading new-style option values is always supported. Using a global reference instead of changing the converter calling conventions is the only way to avoid breaking old code with the standard macros.</p><p>Initially set to <code>true</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-list_map"><a href="#val-list_map" class="anchor"></a><code><span><span class="keyword">val</span> list_map : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> list</span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> list</span></span></code></div><div class="spec-doc"><p>We re-export a tail recursive map function, because some modules override the standard library functions (e.g. <code>StdLabels</code>) which wrecks havoc with the camlp4 extension.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_unit"><a href="#val-sexp_of_unit" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_unit : <span>unit <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_unit ()</code> converts a value of type <code>unit</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_bool"><a href="#val-sexp_of_bool" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_bool : <span>bool <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_bool b</code> converts the value <code>x</code> of type <code>bool</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_string"><a href="#val-sexp_of_string" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_string : <span>string <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_string str</code> converts the value <code>str</code> of type <code>string</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_bytes"><a href="#val-sexp_of_bytes" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_bytes : <span>bytes <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_bytes str</code> converts the value <code>str</code> of type <code>bytes</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_char"><a href="#val-sexp_of_char" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_char : <span>char <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_char c</code> converts the value <code>c</code> of type <code>char</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_int"><a href="#val-sexp_of_int" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_int : <span>int <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_int n</code> converts the value <code>n</code> of type <code>int</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_float"><a href="#val-sexp_of_float" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_float : <span>float <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_float n</code> converts the value <code>n</code> of type <code>float</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_int32"><a href="#val-sexp_of_int32" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_int32 : <span>int32 <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_int32 n</code> converts the value <code>n</code> of type <code>int32</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_int64"><a href="#val-sexp_of_int64" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_int64 : <span>int64 <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_int64 n</code> converts the value <code>n</code> of type <code>int64</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_nativeint"><a href="#val-sexp_of_nativeint" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_nativeint : <span>nativeint <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_nativeint n</code> converts the value <code>n</code> of type <code>nativeint</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_ref"><a href="#val-sexp_of_ref" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_ref : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="../../ocaml/Stdlib/index.html#type-ref">ref</a></span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_ref conv r</code> converts the value <code>r</code> of type <code>'a ref</code> to an S-expression. Uses <code>conv</code> to convert values of type <code>'a</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_lazy_t"><a href="#val-sexp_of_lazy_t" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_lazy_t : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> lazy_t</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_lazy_t conv l</code> converts the value <code>l</code> of type <code>'a lazy_t</code> to an S-expression. Uses <code>conv</code> to convert values of type <code>'a</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_option"><a href="#val-sexp_of_option" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_option : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> option</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_option conv opt</code> converts the value <code>opt</code> of type <code>'a option</code> to an S-expression. Uses <code>conv</code> to convert values of type <code>'a</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_pair"><a href="#val-sexp_of_pair" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_pair :
|
||
<span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><span class="type-var">'b</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span>
|
||
<a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_pair conv1 conv2 pair</code> converts a pair to an S-expression. It uses its first argument to convert the first element of the pair, and its second argument to convert the second element of the pair.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_triple"><a href="#val-sexp_of_triple" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_triple :
|
||
<span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><span class="type-var">'b</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><span class="type-var">'c</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span> * <span class="type-var">'c</span>)</span> <span class="arrow">-></span></span>
|
||
<a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_triple conv1 conv2 conv3 triple</code> converts a triple to an S-expression using <code>conv1</code>, <code>conv2</code>, and <code>conv3</code> to convert its elements.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_list"><a href="#val-sexp_of_list" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_list : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> list</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_list conv lst</code> converts the value <code>lst</code> of type <code>'a list</code> to an S-expression. Uses <code>conv</code> to convert values of type <code>'a</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_array"><a href="#val-sexp_of_array" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_array : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> array</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_array conv ar</code> converts the value <code>ar</code> of type <code>'a array</code> to an S-expression. Uses <code>conv</code> to convert values of type <code>'a</code> to an S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_hashtbl"><a href="#val-sexp_of_hashtbl" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_hashtbl :
|
||
<span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><span class="type-var">'b</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> <span class="arrow">-></span></span>
|
||
<span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>)</span> <a href="../../ocaml/Stdlib/Hashtbl/index.html#type-t">Stdlib.Hashtbl.t</a></span> <span class="arrow">-></span></span>
|
||
<a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_hashtbl conv_key conv_value htbl</code> converts the value <code>htbl</code> of type <code>('a, 'b) Hashtbl.t</code> to an S-expression. Uses <code>conv_key</code> to convert the hashtable keys of type <code>'a</code>, and <code>conv_value</code> to convert hashtable values of type <code>'b</code> to S-expressions.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_opaque"><a href="#val-sexp_of_opaque" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_opaque : <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_opaque x</code> converts the value <code>x</code> of opaque type to an S-expression. This means the user need not provide converters, but the result cannot be interpreted.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_fun"><a href="#val-sexp_of_fun" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_fun : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_fun f</code> converts the value <code>f</code> of function type to a dummy S-expression. Functions cannot be serialized as S-expressions, but at least a placeholder can be generated for pretty-printing.</p></div></div><h6 id="conversion-of-s-expressions-to-ocaml-values"><a href="#conversion-of-s-expressions-to-ocaml-values" class="anchor"></a>Conversion of S-expressions to OCaml-values</h6><div class="odoc-spec"><div class="spec exception anchored" id="exception-Of_sexp_error"><a href="#exception-Of_sexp_error" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Of_sexp_error</span> <span class="keyword">of</span> exn * <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>Of_sexp_error (exn, sexp)</code> the exception raised when an S-expression could not be successfully converted to an OCaml-value.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-record_check_extra_fields"><a href="#val-record_check_extra_fields" class="anchor"></a><code><span><span class="keyword">val</span> record_check_extra_fields : <span>bool <a href="../../ocaml/Stdlib/index.html#type-ref">ref</a></span></span></code></div><div class="spec-doc"><p><code>record_check_extra_fields</code> checks for extra (= unknown) fields in record S-expressions.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_sexp_error"><a href="#val-of_sexp_error" class="anchor"></a><code><span><span class="keyword">val</span> of_sexp_error : <span>string <span class="arrow">-></span></span> <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p><code>of_sexp_error reason sexp</code> </p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <a href="#exception-Of_sexp_error"><code>Of_sexp_error</code></a> <p>(Failure reason, sexp).</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_sexp_error_exn"><a href="#val-of_sexp_error_exn" class="anchor"></a><code><span><span class="keyword">val</span> of_sexp_error_exn : <span>exn <span class="arrow">-></span></span> <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p><code>of_sexp_error exc sexp</code> </p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <a href="#exception-Of_sexp_error"><code>Of_sexp_error</code></a> <p>(exc, sexp).</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-unit_of_sexp"><a href="#val-unit_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> unit_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>unit_of_sexp sexp</code> converts S-expression <code>sexp</code> to a value of type <code>unit</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-bool_of_sexp"><a href="#val-bool_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> bool_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>bool_of_sexp sexp</code> converts S-expression <code>sexp</code> to a value of type <code>bool</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-string_of_sexp"><a href="#val-string_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> string_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> string</span></code></div><div class="spec-doc"><p><code>string_of_sexp sexp</code> converts S-expression <code>sexp</code> to a value of type <code>string</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-bytes_of_sexp"><a href="#val-bytes_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> bytes_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> bytes</span></code></div><div class="spec-doc"><p><code>bytes_of_sexp sexp</code> converts S-expression <code>sexp</code> to a value of type <code>bytes</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-char_of_sexp"><a href="#val-char_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> char_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> char</span></code></div><div class="spec-doc"><p><code>char_of_sexp sexp</code> converts S-expression <code>sexp</code> to a value of type <code>char</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-int_of_sexp"><a href="#val-int_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> int_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p><code>int_of_sexp sexp</code> converts S-expression <code>sexp</code> to a value of type <code>int</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-float_of_sexp"><a href="#val-float_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> float_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> float</span></code></div><div class="spec-doc"><p><code>float_of_sexp sexp</code> converts S-expression <code>sexp</code> to a value of type <code>float</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-int32_of_sexp"><a href="#val-int32_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> int32_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> int32</span></code></div><div class="spec-doc"><p><code>int32_of_sexp sexp</code> converts S-expression <code>sexp</code> to a value of type <code>int32</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-int64_of_sexp"><a href="#val-int64_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> int64_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> int64</span></code></div><div class="spec-doc"><p><code>int64_of_sexp sexp</code> converts S-expression <code>sexp</code> to a value of type <code>int64</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-nativeint_of_sexp"><a href="#val-nativeint_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> nativeint_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> nativeint</span></code></div><div class="spec-doc"><p><code>nativeint_of_sexp sexp</code> converts S-expression <code>sexp</code> to a value of type <code>nativeint</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-ref_of_sexp"><a href="#val-ref_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> ref_of_sexp : <span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span> <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="../../ocaml/Stdlib/index.html#type-ref">ref</a></span></span></code></div><div class="spec-doc"><p><code>ref_of_sexp conv sexp</code> converts S-expression <code>sexp</code> to a value of type <code>'a ref</code> using conversion function <code>conv</code>, which converts an S-expression to a value of type <code>'a</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-lazy_t_of_sexp"><a href="#val-lazy_t_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> lazy_t_of_sexp : <span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span> <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> lazy_t</span></span></code></div><div class="spec-doc"><p><code>lazy_t_of_sexp conv sexp</code> converts S-expression <code>sexp</code> to a value of type <code>'a lazy_t</code> using conversion function <code>conv</code>, which converts an S-expression to a value of type <code>'a</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-option_of_sexp"><a href="#val-option_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> option_of_sexp : <span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span> <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> option</span></span></code></div><div class="spec-doc"><p><code>option_of_sexp conv sexp</code> converts S-expression <code>sexp</code> to a value of type <code>'a option</code> using conversion function <code>conv</code>, which converts an S-expression to a value of type <code>'a</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pair_of_sexp"><a href="#val-pair_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> pair_of_sexp :
|
||
<span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span>
|
||
<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span>
|
||
<span class="type-var">'a</span> * <span class="type-var">'b</span></span></code></div><div class="spec-doc"><p><code>pair_of_sexp conv1 conv2 sexp</code> converts S-expression <code>sexp</code> to a pair of type <code>'a * 'b</code> using conversion functions <code>conv1</code> and <code>conv2</code>, which convert S-expressions to values of type <code>'a</code> and <code>'b</code> respectively.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-triple_of_sexp"><a href="#val-triple_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> triple_of_sexp :
|
||
<span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'c</span>)</span> <span class="arrow">-></span></span>
|
||
<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span>
|
||
<span class="type-var">'a</span> * <span class="type-var">'b</span> * <span class="type-var">'c</span></span></code></div><div class="spec-doc"><p><code>triple_of_sexp conv1 conv2 conv3 sexp</code> converts S-expression <code>sexp</code> to a triple of type <code>'a * 'b * 'c</code> using conversion functions <code>conv1</code>, <code>conv2</code>, and <code>conv3</code>, which convert S-expressions to values of type <code>'a</code>, <code>'b</code>, and <code>'c</code> respectively.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-list_of_sexp"><a href="#val-list_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> list_of_sexp : <span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span> <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> list</span></span></code></div><div class="spec-doc"><p><code>list_of_sexp conv sexp</code> converts S-expression <code>sexp</code> to a value of type <code>'a list</code> using conversion function <code>conv</code>, which converts an S-expression to a value of type <code>'a</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-array_of_sexp"><a href="#val-array_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> array_of_sexp : <span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span> <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> array</span></span></code></div><div class="spec-doc"><p><code>array_of_sexp conv sexp</code> converts S-expression <code>sexp</code> to a value of type <code>'a array</code> using conversion function <code>conv</code>, which converts an S-expression to a value of type <code>'a</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-hashtbl_of_sexp"><a href="#val-hashtbl_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> hashtbl_of_sexp :
|
||
<span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span>
|
||
<span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span>
|
||
<span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>)</span> <a href="../../ocaml/Stdlib/Hashtbl/index.html#type-t">Stdlib.Hashtbl.t</a></span></span></code></div><div class="spec-doc"><p><code>hashtbl_of_sexp conv_key conv_value sexp</code> converts S-expression <code>sexp</code> to a value of type <code>('a, 'b) Hashtbl.t</code> using conversion function <code>conv_key</code>, which converts an S-expression to hashtable key of type <code>'a</code>, and function <code>conv_value</code>, which converts an S-expression to hashtable value of type <code>'b</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-opaque_of_sexp"><a href="#val-opaque_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> opaque_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p><code>opaque_of_sexp sexp</code> </p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <a href="#exception-Of_sexp_error"><code>Of_sexp_error</code></a> <p>when attempting to convert an S-expression to an opaque value.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-fun_of_sexp"><a href="#val-fun_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> fun_of_sexp : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p><code>fun_of_sexp sexp</code> </p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <a href="#exception-Of_sexp_error"><code>Of_sexp_error</code></a> <p>when attempting to convert an S-expression to a function.</p></li></ul></div></div><p>Sexp Grammars</p><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_grammar_with_tags"><a href="#val-sexp_grammar_with_tags" class="anchor"></a><code><span><span class="keyword">val</span> sexp_grammar_with_tags :
|
||
<span><a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-grammar">Sexplib0.Sexp_grammar.grammar</a> <span class="arrow">-></span></span>
|
||
<span><span class="label">tags</span>:<span><span>(string * <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> list</span> <span class="arrow">-></span></span>
|
||
<a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-grammar">Sexplib0.Sexp_grammar.grammar</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_grammar_with_tag_list"><a href="#val-sexp_grammar_with_tag_list" class="anchor"></a><code><span><span class="keyword">val</span> sexp_grammar_with_tag_list :
|
||
<span><span><span class="type-var">'a</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-with_tag_list">Sexplib0.Sexp_grammar.with_tag_list</a></span> <span class="arrow">-></span></span>
|
||
<span><span class="label">tags</span>:<span><span>(string * <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a>)</span> list</span> <span class="arrow">-></span></span>
|
||
<span><span class="type-var">'a</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-with_tag_list">Sexplib0.Sexp_grammar.with_tag_list</a></span></span></code></div></div><p>Sexp grammar definitions.</p><div class="odoc-spec"><div class="spec value anchored" id="val-unit_sexp_grammar"><a href="#val-unit_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> unit_sexp_grammar : <span>unit <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-bool_sexp_grammar"><a href="#val-bool_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> bool_sexp_grammar : <span>bool <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-string_sexp_grammar"><a href="#val-string_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> string_sexp_grammar : <span>string <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-bytes_sexp_grammar"><a href="#val-bytes_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> bytes_sexp_grammar : <span>bytes <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-char_sexp_grammar"><a href="#val-char_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> char_sexp_grammar : <span>char <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-int_sexp_grammar"><a href="#val-int_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> int_sexp_grammar : <span>int <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-float_sexp_grammar"><a href="#val-float_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> float_sexp_grammar : <span>float <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-int32_sexp_grammar"><a href="#val-int32_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> int32_sexp_grammar : <span>int32 <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-int64_sexp_grammar"><a href="#val-int64_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> int64_sexp_grammar : <span>int64 <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-nativeint_sexp_grammar"><a href="#val-nativeint_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> nativeint_sexp_grammar : <span>nativeint <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_t_sexp_grammar"><a href="#val-sexp_t_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> sexp_t_sexp_grammar : <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-ref_sexp_grammar"><a href="#val-ref_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> ref_sexp_grammar :
|
||
<span><span><span class="type-var">'a</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span> <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">'a</span> <a href="../../ocaml/Stdlib/index.html#type-ref">ref</a></span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-lazy_t_sexp_grammar"><a href="#val-lazy_t_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> lazy_t_sexp_grammar :
|
||
<span><span><span class="type-var">'a</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span> <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">'a</span> lazy_t</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-option_sexp_grammar"><a href="#val-option_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> option_sexp_grammar :
|
||
<span><span><span class="type-var">'a</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span> <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">'a</span> option</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-list_sexp_grammar"><a href="#val-list_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> list_sexp_grammar :
|
||
<span><span><span class="type-var">'a</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span> <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">'a</span> list</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-array_sexp_grammar"><a href="#val-array_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> array_sexp_grammar :
|
||
<span><span><span class="type-var">'a</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span> <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">'a</span> array</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-opaque_sexp_grammar"><a href="#val-opaque_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> opaque_sexp_grammar : <span><span class="type-var">'a</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-fun_sexp_grammar"><a href="#val-fun_sexp_grammar" class="anchor"></a><code><span><span class="keyword">val</span> fun_sexp_grammar : <span><span class="type-var">'a</span> <a href="../../sexplib0/Sexplib0/Sexp_grammar/index.html#type-t">Sexplib0.Sexp_grammar.t</a></span></span></code></div></div><p>Exception converters</p><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_exn"><a href="#val-sexp_of_exn" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_exn : <span>exn <span class="arrow">-></span></span> <a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div><div class="spec-doc"><p><code>sexp_of_exn exc</code> converts exception <code>exc</code> to an S-expression. If no suitable converter is found, the standard converter in <code>Printexc</code> will be used to generate an atomic S-expression.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-printexc_prefer_sexp"><a href="#val-printexc_prefer_sexp" class="anchor"></a><code><span><span class="keyword">val</span> printexc_prefer_sexp : <span>exn <span class="arrow">-></span></span> string</span></code></div><div class="spec-doc"><p>Converts an exception to a string via sexp, falling back to <code>Printexc.to_string</code> if no sexp conversion is registered for this exception.</p><p>This is different from <code>Printexc.to_string</code> in that it additionally uses the sexp converters registered with <code>~printexc:false</code>. Another difference is that the behavior of <code>Printexc</code> can be overridden with <code>Printexc.register</code>, but here we always try sexp conversion first.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_exn_opt"><a href="#val-sexp_of_exn_opt" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_exn_opt : <span>exn <span class="arrow">-></span></span> <span><a href="../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> option</span></span></code></div><div class="spec-doc"><p><code>sexp_of_exn_opt exc</code> converts exception <code>exc</code> to <code>Some sexp</code>. If no suitable converter is found, <code>None</code> is returned instead.</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Exn_converter"><a href="#module-Exn_converter" class="anchor"></a><code><span><span class="keyword">module</span> Exn_converter</span><span> = <a href="../../sexplib0/Sexplib0/Sexp_conv/Exn_converter/index.html">Sexplib0.Sexp_conv.Exn_converter</a></span></code></div></div></details></div><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-Comparisons"><a href="#module-type-Comparisons" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-Comparisons/index.html">Comparisons</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-Poly"><a href="#module-Poly" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Poly/index.html">Poly</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <a href="module-type-Comparisons/index.html">Comparisons</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-Comparisons/index.html#type-t">t</a> := int</span></span></code></summary><div class="odoc-spec"><div class="spec value anchored" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-(=)"><a href="#val-(=)" class="anchor"></a><code><span><span class="keyword">val</span> (=) : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-(<)"><a href="#val-(<)" class="anchor"></a><code><span><span class="keyword">val</span> (<) : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-(>)"><a href="#val-(>)" class="anchor"></a><code><span><span class="keyword">val</span> (>) : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-(<>)"><a href="#val-(<>)" class="anchor"></a><code><span><span class="keyword">val</span> (<>) : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-(<=)"><a href="#val-(<=)" class="anchor"></a><code><span><span class="keyword">val</span> (<=) : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-(>=)"><a href="#val-(>=)" class="anchor"></a><code><span><span class="keyword">val</span> (>=) : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-min"><a href="#val-min" class="anchor"></a><code><span><span class="keyword">val</span> min : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-max"><a href="#val-max" class="anchor"></a><code><span><span class="keyword">val</span> max : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> int</span></code></div></div></details></div><div class="odoc-spec"><div class="spec module anchored" id="module-Array"><a href="#module-Array" class="anchor"></a><code><span><span class="keyword">module</span> Array</span><span> = <a href="../../ocaml/Stdlib/ArrayLabels/index.html">StdLabels.Array</a></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Bool"><a href="#module-Bool" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Bool/index.html">Bool</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-Bytes"><a href="#module-Bytes" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Bytes/index.html">Bytes</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-Char"><a href="#module-Char" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Char/index.html">Char</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-Exn"><a href="#module-Exn" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Exn/index.html">Exn</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-Float"><a href="#module-Float" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Float/index.html">Float</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-Fn"><a href="#module-Fn" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Fn/index.html">Fn</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-Hashtbl"><a href="#module-Hashtbl" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Hashtbl/index.html">Hashtbl</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-In_channel"><a href="#module-In_channel" class="anchor"></a><code><span><span class="keyword">module</span> <a href="In_channel/index.html">In_channel</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-Int"><a href="#module-Int" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Int/index.html">Int</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-Either"><a href="#module-Either" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Either/index.html">Either</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-List"><a href="#module-List" class="anchor"></a><code><span><span class="keyword">module</span> <a href="List/index.html">List</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-Option"><a href="#module-Option" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Option/index.html">Option</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-Result"><a href="#module-Result" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Result/index.html">Result</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-NonEmptyList"><a href="#module-NonEmptyList" class="anchor"></a><code><span><span class="keyword">module</span> <a href="NonEmptyList/index.html">NonEmptyList</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-Out_channel"><a href="#module-Out_channel" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Out_channel/index.html">Out_channel</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-String"><a href="#module-String" class="anchor"></a><code><span><span class="keyword">module</span> <a href="String/index.html">String</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-(@)"><a href="#val-(@)" class="anchor"></a><code><span><span class="keyword">val</span> (@) : <span><span><span class="type-var">'a</span> list</span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> list</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-output"><a href="#val-output" class="anchor"></a><code><span><span class="keyword">val</span> output : <span><a href="../../ocaml/Stdlib/index.html#type-out_channel">out_channel</a> <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <span><span class="label">pos</span>:int <span class="arrow">-></span></span> <span><span class="label">len</span>:int <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-output_substring"><a href="#val-output_substring" class="anchor"></a><code><span><span class="keyword">val</span> output_substring : <span><a href="../../ocaml/Stdlib/index.html#type-out_channel">out_channel</a> <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> <span><span class="label">pos</span>:int <span class="arrow">-></span></span> <span><span class="label">len</span>:int <span class="arrow">-></span></span> unit</span></code></div></div></div></body></html>
|