mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-09 12:45:48 -05:00
2 lines
No EOL
8.8 KiB
HTML
2 lines
No EOL
8.8 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Ty (sidekick-bin.Sidekick_smtlib.Ast.Ty)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> – <a href="../../../index.html">sidekick-bin</a> » <a href="../../index.html">Sidekick_smtlib</a> » <a href="../index.html">Ast</a> » Ty</nav><h1>Module <code>Ast.Ty</code></h1><nav class="toc"><ul><li><a href="#datatypes">Datatypes</a></li><li><a href="#error-handling">Error Handling</a></li></ul></nav></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = </code><table class="variant"><tr id="type-t.Prop" class="anchored"><td class="def constructor"><a href="#type-t.Prop" class="anchor"></a><code>| </code><code><span class="constructor">Prop</span></code></td></tr><tr id="type-t.App" class="anchored"><td class="def constructor"><a href="#type-t.App" class="anchor"></a><code>| </code><code><span class="constructor">App</span> <span class="keyword">of</span> <a href="../../../../sidekick/Sidekick_base_term/ID/index.html#type-t">Sidekick_base_term.ID.t</a> * <a href="index.html#type-t">t</a> list</code></td></tr><tr id="type-t.Arrow" class="anchored"><td class="def constructor"><a href="#type-t.Arrow" class="anchor"></a><code>| </code><code><span class="constructor">Arrow</span> <span class="keyword">of</span> <a href="index.html#type-t">t</a> * <a href="index.html#type-t">t</a></code></td></tr></table></dt></dl><dl><dt class="spec value" id="val-prop"><a href="#val-prop" class="anchor"></a><code><span class="keyword">val</span> prop : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-const"><a href="#val-const" class="anchor"></a><code><span class="keyword">val</span> const : <a href="../../../../sidekick/Sidekick_base_term/ID/index.html#type-t">Sidekick_base_term.ID.t</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-app"><a href="#val-app" class="anchor"></a><code><span class="keyword">val</span> app : <a href="../../../../sidekick/Sidekick_base_term/ID/index.html#type-t">Sidekick_base_term.ID.t</a> <span>-></span> <a href="index.html#type-t">t</a> list <span>-></span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-arrow"><a href="#val-arrow" class="anchor"></a><code><span class="keyword">val</span> arrow : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-arrow_l"><a href="#val-arrow_l" class="anchor"></a><code><span class="keyword">val</span> arrow_l : <a href="index.html#type-t">t</a> list <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-rat"><a href="#val-rat" class="anchor"></a><code><span class="keyword">val</span> rat : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-int"><a href="#val-int" class="anchor"></a><code><span class="keyword">val</span> int : <a href="index.html#type-t">t</a></code></dt></dl><div><div class="spec include"><div class="doc"><details open="open"><summary><span class="def"><code><span class="keyword">include</span> <a href="../../../../sidekick/Sidekick_util/Intf/index.html#module-type-EQ">Sidekick_util.Intf.EQ</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="../../../../sidekick/Sidekick_util/Intf/module-type-EQ/index.html#type-t">t</a> := <a href="index.html#type-t">t</a></code></span></summary><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> bool</code></dt></dl></details></div></div></div><div><div class="spec include"><div class="doc"><details open="open"><summary><span class="def"><code><span class="keyword">include</span> <a href="../../../../sidekick/Sidekick_util/Intf/index.html#module-type-ORD">Sidekick_util.Intf.ORD</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="../../../../sidekick/Sidekick_util/Intf/module-type-ORD/index.html#type-t">t</a> := <a href="index.html#type-t">t</a></code></span></summary><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> int</code></dt></dl></details></div></div></div><div><div class="spec include"><div class="doc"><details open="open"><summary><span class="def"><code><span class="keyword">include</span> <a href="../../../../sidekick/Sidekick_util/Intf/index.html#module-type-HASH">Sidekick_util.Intf.HASH</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="../../../../sidekick/Sidekick_util/Intf/module-type-HASH/index.html#type-t">t</a> := <a href="index.html#type-t">t</a></code></span></summary><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-hash"><a href="#val-hash" class="anchor"></a><code><span class="keyword">val</span> hash : <a href="index.html#type-t">t</a> <span>-></span> int</code></dt></dl></details></div></div></div><div><div class="spec include"><div class="doc"><details open="open"><summary><span class="def"><code><span class="keyword">include</span> <a href="../../../../sidekick/Sidekick_util/Intf/index.html#module-type-PRINT">Sidekick_util.Intf.PRINT</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="../../../../sidekick/Sidekick_util/Intf/module-type-PRINT/index.html#type-t">t</a> := <a href="index.html#type-t">t</a></code></span></summary><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <a href="index.html#type-t">t</a> CCFormat.printer</code></dt></dl></details></div></div></div><dl><dt class="spec value" id="val-unfold"><a href="#val-unfold" class="anchor"></a><code><span class="keyword">val</span> unfold : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> list * <a href="index.html#type-t">t</a></code></dt><dd><p><code>unfold ty</code> will get the list of arguments, and the return type of any function. An atomic type is just a function with no arguments</p></dd></dl><section><header><h3 id="datatypes"><a href="#datatypes" class="anchor"></a>Datatypes</h3></header><dl><dt class="spec type" id="type-data"><a href="#type-data" class="anchor"></a><code><span class="keyword">type</span> data</code><code> = </code><code>{</code><table class="record"><tr id="type-data.data_id" class="anchored"><td class="def field"><a href="#type-data.data_id" class="anchor"></a><code>data_id : <a href="../../../../sidekick/Sidekick_base_term/ID/index.html#type-t">Sidekick_base_term.ID.t</a>;</code></td></tr><tr id="type-data.data_cstors" class="anchored"><td class="def field"><a href="#type-data.data_cstors" class="anchor"></a><code>data_cstors : <a href="index.html#type-t">t</a> <a href="../../../../sidekick/Sidekick_base_term__ID/index.html#module-Map">Sidekick_base_term.ID.Map</a>.t;</code></td></tr></table><code>}</code></dt><dd><p>Mutually recursive datatypes</p></dd></dl><div class="spec module" id="module-Map"><a href="#module-Map" class="anchor"></a><code><span class="keyword">module</span> Map : CCMap.S <span class="keyword">with</span> <span class="keyword">type</span> <a href="index.html#module-Map">Map</a>.key = <a href="index.html#type-t">t</a></code></div></section><section><header><h3 id="error-handling"><a href="#error-handling" class="anchor"></a>Error Handling</h3></header><dl><dt class="spec value" id="val-ill_typed"><a href="#val-ill_typed" class="anchor"></a><code><span class="keyword">val</span> ill_typed : (<span class="type-var">'a</span>, Format.formatter, unit, <span class="type-var">'b</span>) Pervasives.format4 <span>-></span> <span class="type-var">'a</span></code></dt></dl></section></div></body></html> |