mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-16 23:56:49 -05:00
11 lines
No EOL
27 KiB
HTML
11 lines
No EOL
27 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Errortrace (ocaml.Errortrace)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../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">ocaml</a> » Errortrace</nav><header class="odoc-preamble"><h1>Module <code><span>Errortrace</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-position"><a href="#type-position" class="anchor"></a><code><span><span class="keyword">type</span> position</span><span> = </span></code><ol><li id="type-position.First" class="def variant constructor anchored"><a href="#type-position.First" class="anchor"></a><code><span>| </span><span><span class="constructor">First</span></span></code></li><li id="type-position.Second" class="def variant constructor anchored"><a href="#type-position.Second" class="anchor"></a><code><span>| </span><span><span class="constructor">Second</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-swap_position"><a href="#val-swap_position" class="anchor"></a><code><span><span class="keyword">val</span> swap_position : <span><a href="#type-position">position</a> <span class="arrow">-></span></span> <a href="#type-position">position</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-print_pos"><a href="#val-print_pos" class="anchor"></a><code><span><span class="keyword">val</span> print_pos : <span><a href="../Stdlib/Format/index.html#type-formatter">Stdlib.Format.formatter</a> <span class="arrow">-></span></span> <span><a href="#type-position">position</a> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-expanded_type"><a href="#type-expanded_type" class="anchor"></a><code><span><span class="keyword">type</span> expanded_type</span><span> = </span><span>{</span></code><ol><li id="type-expanded_type.ty" class="def record field anchored"><a href="#type-expanded_type.ty" class="anchor"></a><code><span>ty : <a href="../Types/index.html#type-type_expr">Types.type_expr</a>;</span></code></li><li id="type-expanded_type.expanded" class="def record field anchored"><a href="#type-expanded_type.expanded" class="anchor"></a><code><span>expanded : <a href="../Types/index.html#type-type_expr">Types.type_expr</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-trivial_expansion"><a href="#val-trivial_expansion" class="anchor"></a><code><span><span class="keyword">val</span> trivial_expansion : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">-></span></span> <a href="#type-expanded_type">expanded_type</a></span></code></div><div class="spec-doc"><p><code>trivial_expansion ty</code> creates an <code>expanded_type</code> whose expansion is also <code>ty</code>. Usually, you want <code>Ctype.expand_type</code> instead, since the expansion carries useful information; however, in certain circumstances, the error is about the expansion of the type, meaning that actually performing the expansion produces more confusing or inaccurate output.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-diff"><a href="#type-diff" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a diff</span></span><span> = </span><span>{</span></code><ol><li id="type-diff.got" class="def record field anchored"><a href="#type-diff.got" class="anchor"></a><code><span>got : <span class="type-var">'a</span>;</span></code></li><li id="type-diff.expected" class="def record field anchored"><a href="#type-diff.expected" class="anchor"></a><code><span>expected : <span class="type-var">'a</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-map_diff"><a href="#val-map_diff" class="anchor"></a><code><span><span class="keyword">val</span> map_diff : <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> <a href="#type-diff">diff</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> <a href="#type-diff">diff</a></span></span></code></div><div class="spec-doc"><p><code>map_diff f {expected;got}</code> is <code>{expected=f expected; got=f got}</code></p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-escape_kind"><a href="#type-escape_kind" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a escape_kind</span></span><span> = </span></code><ol><li id="type-escape_kind.Constructor" class="def variant constructor anchored"><a href="#type-escape_kind.Constructor" class="anchor"></a><code><span>| </span><span><span class="constructor">Constructor</span> <span class="keyword">of</span> <a href="../Path/index.html#type-t">Path.t</a></span></code></li><li id="type-escape_kind.Univ" class="def variant constructor anchored"><a href="#type-escape_kind.Univ" class="anchor"></a><code><span>| </span><span><span class="constructor">Univ</span> <span class="keyword">of</span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></li><li id="type-escape_kind.Self" class="def variant constructor anchored"><a href="#type-escape_kind.Self" class="anchor"></a><code><span>| </span><span><span class="constructor">Self</span></span></code></li><li id="type-escape_kind.Module_type" class="def variant constructor anchored"><a href="#type-escape_kind.Module_type" class="anchor"></a><code><span>| </span><span><span class="constructor">Module_type</span> <span class="keyword">of</span> <a href="../Path/index.html#type-t">Path.t</a></span></code></li><li id="type-escape_kind.Equation" class="def variant constructor anchored"><a href="#type-escape_kind.Equation" class="anchor"></a><code><span>| </span><span><span class="constructor">Equation</span> <span class="keyword">of</span> <span class="type-var">'a</span></span></code></li><li id="type-escape_kind.Constraint" class="def variant constructor anchored"><a href="#type-escape_kind.Constraint" class="anchor"></a><code><span>| </span><span><span class="constructor">Constraint</span></span></code></li></ol></div><div class="spec-doc"><p>Scope escape related errors</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-escape"><a href="#type-escape" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a escape</span></span><span> = </span><span>{</span></code><ol><li id="type-escape.kind" class="def record field anchored"><a href="#type-escape.kind" class="anchor"></a><code><span>kind : <span><span class="type-var">'a</span> <a href="#type-escape_kind">escape_kind</a></span>;</span></code></li><li id="type-escape.context" class="def record field anchored"><a href="#type-escape.context" class="anchor"></a><code><span>context : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-map_escape"><a href="#val-map_escape" class="anchor"></a><code><span><span class="keyword">val</span> map_escape : <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> <a href="#type-escape">escape</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> <a href="#type-escape">escape</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-explain"><a href="#val-explain" class="anchor"></a><code><span><span class="keyword">val</span> explain : <span><span><span class="type-var">'a</span> list</span> <span class="arrow">-></span></span> <span><span>(<span>prev:<span><span class="type-var">'a</span> option</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> option</span>)</span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> option</span></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-unification"><a href="#type-unification" class="anchor"></a><code><span><span class="keyword">type</span> unification</span><span> = <span class="keyword">private</span> </span></code><ol><li id="type-unification.Unification" class="def variant constructor anchored"><a href="#type-unification.Unification" class="anchor"></a><code><span>| </span><span><span class="constructor">Unification</span></span></code></li></ol></div><div class="spec-doc"><p>Type indices</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-comparison"><a href="#type-comparison" class="anchor"></a><code><span><span class="keyword">type</span> comparison</span><span> = <span class="keyword">private</span> </span></code><ol><li id="type-comparison.Comparison" class="def variant constructor anchored"><a href="#type-comparison.Comparison" class="anchor"></a><code><span>| </span><span><span class="constructor">Comparison</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-fixed_row_case"><a href="#type-fixed_row_case" class="anchor"></a><code><span><span class="keyword">type</span> fixed_row_case</span><span> = </span></code><ol><li id="type-fixed_row_case.Cannot_be_closed" class="def variant constructor anchored"><a href="#type-fixed_row_case.Cannot_be_closed" class="anchor"></a><code><span>| </span><span><span class="constructor">Cannot_be_closed</span></span></code></li><li id="type-fixed_row_case.Cannot_add_tags" class="def variant constructor anchored"><a href="#type-fixed_row_case.Cannot_add_tags" class="anchor"></a><code><span>| </span><span><span class="constructor">Cannot_add_tags</span> <span class="keyword">of</span> <span>string list</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-variant"><a href="#type-variant" class="anchor"></a><code><span><span class="keyword">type</span> <span>'variety variant</span></span><span> = </span></code><ol><li id="type-variant.Incompatible_types_for" class="def variant constructor anchored"><a href="#type-variant.Incompatible_types_for" class="anchor"></a><code><span>| </span><span><span class="constructor">Incompatible_types_for</span> : string <span class="arrow">-></span> <span><span class="type-var">_</span> <a href="#type-variant">variant</a></span></span></code></li><li id="type-variant.No_tags" class="def variant constructor anchored"><a href="#type-variant.No_tags" class="anchor"></a><code><span>| </span><span><span class="constructor">No_tags</span> : <a href="#type-position">position</a> * <span><span>(<a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a>)</span> list</span> <span class="arrow">-></span> <span><span class="type-var">_</span> <a href="#type-variant">variant</a></span></span></code></li><li id="type-variant.No_intersection" class="def variant constructor anchored"><a href="#type-variant.No_intersection" class="anchor"></a><code><span>| </span><span><span class="constructor">No_intersection</span> : <span><a href="#type-unification">unification</a> <a href="#type-variant">variant</a></span></span></code></li><li id="type-variant.Fixed_row" class="def variant constructor anchored"><a href="#type-variant.Fixed_row" class="anchor"></a><code><span>| </span><span><span class="constructor">Fixed_row</span> : <a href="#type-position">position</a>
|
||
* <a href="#type-fixed_row_case">fixed_row_case</a>
|
||
* <a href="../Types/index.html#type-fixed_explanation">Types.fixed_explanation</a> <span class="arrow">-></span> <span><a href="#type-unification">unification</a> <a href="#type-variant">variant</a></span></span></code></li><li id="type-variant.Presence_not_guaranteed_for" class="def variant constructor anchored"><a href="#type-variant.Presence_not_guaranteed_for" class="anchor"></a><code><span>| </span><span><span class="constructor">Presence_not_guaranteed_for</span> : <a href="#type-position">position</a> * string <span class="arrow">-></span> <span><a href="#type-comparison">comparison</a> <a href="#type-variant">variant</a></span></span></code></li><li id="type-variant.Openness" class="def variant constructor anchored"><a href="#type-variant.Openness" class="anchor"></a><code><span>| </span><span><span class="constructor">Openness</span> : <a href="#type-position">position</a> <span class="arrow">-></span> <span><a href="#type-comparison">comparison</a> <a href="#type-variant">variant</a></span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj"><a href="#type-obj" class="anchor"></a><code><span><span class="keyword">type</span> <span>'variety obj</span></span><span> = </span></code><ol><li id="type-obj.Missing_field" class="def variant constructor anchored"><a href="#type-obj.Missing_field" class="anchor"></a><code><span>| </span><span><span class="constructor">Missing_field</span> : <a href="#type-position">position</a> * string <span class="arrow">-></span> <span><span class="type-var">_</span> <a href="#type-obj">obj</a></span></span></code></li><li id="type-obj.Abstract_row" class="def variant constructor anchored"><a href="#type-obj.Abstract_row" class="anchor"></a><code><span>| </span><span><span class="constructor">Abstract_row</span> : <a href="#type-position">position</a> <span class="arrow">-></span> <span><span class="type-var">_</span> <a href="#type-obj">obj</a></span></span></code></li><li id="type-obj.Self_cannot_be_closed" class="def variant constructor anchored"><a href="#type-obj.Self_cannot_be_closed" class="anchor"></a><code><span>| </span><span><span class="constructor">Self_cannot_be_closed</span> : <span><a href="#type-unification">unification</a> <a href="#type-obj">obj</a></span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-elt"><a href="#type-elt" class="anchor"></a><code><span><span class="keyword">type</span> <span>('a, 'variety) elt</span></span><span> = </span></code><ol><li id="type-elt.Diff" class="def variant constructor anchored"><a href="#type-elt.Diff" class="anchor"></a><code><span>| </span><span><span class="constructor">Diff</span> : <span><span class="type-var">'a</span> <a href="#type-diff">diff</a></span> <span class="arrow">-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-elt">elt</a></span></span></code></li><li id="type-elt.Variant" class="def variant constructor anchored"><a href="#type-elt.Variant" class="anchor"></a><code><span>| </span><span><span class="constructor">Variant</span> : <span><span class="type-var">'variety</span> <a href="#type-variant">variant</a></span> <span class="arrow">-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'variety</span>)</span> <a href="#type-elt">elt</a></span></span></code></li><li id="type-elt.Obj" class="def variant constructor anchored"><a href="#type-elt.Obj" class="anchor"></a><code><span>| </span><span><span class="constructor">Obj</span> : <span><span class="type-var">'variety</span> <a href="#type-obj">obj</a></span> <span class="arrow">-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'variety</span>)</span> <a href="#type-elt">elt</a></span></span></code></li><li id="type-elt.Escape" class="def variant constructor anchored"><a href="#type-elt.Escape" class="anchor"></a><code><span>| </span><span><span class="constructor">Escape</span> : <span><span class="type-var">'a</span> <a href="#type-escape">escape</a></span> <span class="arrow">-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-elt">elt</a></span></span></code></li><li id="type-elt.Incompatible_fields" class="def variant constructor anchored"><a href="#type-elt.Incompatible_fields" class="anchor"></a><code><span>| </span><span><span class="constructor">Incompatible_fields</span> : </span><span>{</span></code><ol><li id="type-elt.name" class="def record field anchored"><a href="#type-elt.name" class="anchor"></a><code><span>name : string;</span></code></li><li id="type-elt.diff" class="def record field anchored"><a href="#type-elt.diff" class="anchor"></a><code><span>diff : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <a href="#type-diff">diff</a></span>;</span></code></li></ol><code><span>}</span><span> <span class="arrow">-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-elt">elt</a></span></span></code></li><li id="type-elt.Rec_occur" class="def variant constructor anchored"><a href="#type-elt.Rec_occur" class="anchor"></a><code><span>| </span><span><span class="constructor">Rec_occur</span> : <a href="../Types/index.html#type-type_expr">Types.type_expr</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-elt">elt</a></span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>('a, 'variety) t</span></span><span> = <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'variety</span>)</span> <a href="#type-elt">elt</a></span> list</span></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-trace"><a href="#type-trace" class="anchor"></a><code><span><span class="keyword">type</span> <span>'variety trace</span></span><span> = <span><span>(<a href="../Types/index.html#type-type_expr">Types.type_expr</a>, <span class="type-var">'variety</span>)</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-error"><a href="#type-error" class="anchor"></a><code><span><span class="keyword">type</span> <span>'variety error</span></span><span> = <span><span>(<a href="#type-expanded_type">expanded_type</a>, <span class="type-var">'variety</span>)</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-map"><a href="#val-map" class="anchor"></a><code><span><span class="keyword">val</span> 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>(<span class="type-var">'a</span>, <span class="type-var">'variety</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'variety</span>)</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-incompatible_fields"><a href="#val-incompatible_fields" class="anchor"></a><code><span><span class="keyword">val</span> incompatible_fields :
|
||
<span>name:string <span class="arrow">-></span></span>
|
||
<span>got:<a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">-></span></span>
|
||
<span>expected:<a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">-></span></span>
|
||
<span><span>(<a href="../Types/index.html#type-type_expr">Types.type_expr</a>, <span class="type-var">_</span>)</span> <a href="#type-elt">elt</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-swap_trace"><a href="#val-swap_trace" class="anchor"></a><code><span><span class="keyword">val</span> swap_trace : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'variety</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'variety</span>)</span> <a href="#type-t">t</a></span></span></code></div></div><p>The traces (<code>'variety t</code>) are the core error types. However, we bundle them up into three "top-level" error types, which are used elsewhere: <code>unification_error</code>, <code>equality_error</code>, and <code>moregen_error</code>. In the case of <code>equality_error</code>, this has to bundle in extra information; in general, it distinguishes the three types of errors and allows us to distinguish traces that are being built (or processed) from those that are complete and have become the final error. These error types have the invariants that their traces are nonempty; we ensure that through three smart constructors with matching names.</p><div class="odoc-spec"><div class="spec type anchored" id="type-unification_error"><a href="#type-unification_error" class="anchor"></a><code><span><span class="keyword">type</span> unification_error</span><span> = <span class="keyword">private</span> </span><span>{</span></code><ol><li id="type-unification_error.trace" class="def record field anchored"><a href="#type-unification_error.trace" class="anchor"></a><code><span>trace : <span><a href="#type-unification">unification</a> <a href="#type-error">error</a></span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-equality_error"><a href="#type-equality_error" class="anchor"></a><code><span><span class="keyword">type</span> equality_error</span><span> = <span class="keyword">private</span> </span><span>{</span></code><ol><li id="type-equality_error.trace" class="def record field anchored"><a href="#type-equality_error.trace" class="anchor"></a><code><span>trace : <span><a href="#type-comparison">comparison</a> <a href="#type-error">error</a></span>;</span></code></li><li id="type-equality_error.subst" class="def record field anchored"><a href="#type-equality_error.subst" class="anchor"></a><code><span>subst : <span><span>(<a href="../Types/index.html#type-type_expr">Types.type_expr</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-moregen_error"><a href="#type-moregen_error" class="anchor"></a><code><span><span class="keyword">type</span> moregen_error</span><span> = <span class="keyword">private</span> </span><span>{</span></code><ol><li id="type-moregen_error.trace" class="def record field anchored"><a href="#type-moregen_error.trace" class="anchor"></a><code><span>trace : <span><a href="#type-comparison">comparison</a> <a href="#type-error">error</a></span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-unification_error"><a href="#val-unification_error" class="anchor"></a><code><span><span class="keyword">val</span> unification_error : <span>trace:<span><a href="#type-unification">unification</a> <a href="#type-error">error</a></span> <span class="arrow">-></span></span> <a href="#type-unification_error">unification_error</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-equality_error"><a href="#val-equality_error" class="anchor"></a><code><span><span class="keyword">val</span> equality_error :
|
||
<span>trace:<span><a href="#type-comparison">comparison</a> <a href="#type-error">error</a></span> <span class="arrow">-></span></span>
|
||
<span>subst:<span><span>(<a href="../Types/index.html#type-type_expr">Types.type_expr</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span> list</span> <span class="arrow">-></span></span>
|
||
<a href="#type-equality_error">equality_error</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-moregen_error"><a href="#val-moregen_error" class="anchor"></a><code><span><span class="keyword">val</span> moregen_error : <span>trace:<span><a href="#type-comparison">comparison</a> <a href="#type-error">error</a></span> <span class="arrow">-></span></span> <a href="#type-moregen_error">moregen_error</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-comparison_error"><a href="#type-comparison_error" class="anchor"></a><code><span><span class="keyword">type</span> comparison_error</span><span> = </span></code><ol><li id="type-comparison_error.Equality_error" class="def variant constructor anchored"><a href="#type-comparison_error.Equality_error" class="anchor"></a><code><span>| </span><span><span class="constructor">Equality_error</span> <span class="keyword">of</span> <a href="#type-equality_error">equality_error</a></span></code></li><li id="type-comparison_error.Moregen_error" class="def variant constructor anchored"><a href="#type-comparison_error.Moregen_error" class="anchor"></a><code><span>| </span><span><span class="constructor">Moregen_error</span> <span class="keyword">of</span> <a href="#type-moregen_error">moregen_error</a></span></code></li></ol></div><div class="spec-doc"><p>Wraps up the two different kinds of <code>comparison</code> errors in one type</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-swap_unification_error"><a href="#val-swap_unification_error" class="anchor"></a><code><span><span class="keyword">val</span> swap_unification_error : <span><a href="#type-unification_error">unification_error</a> <span class="arrow">-></span></span> <a href="#type-unification_error">unification_error</a></span></code></div><div class="spec-doc"><p>Lift <code>swap_trace</code> to <code>unification_error</code></p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Subtype"><a href="#module-Subtype" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Subtype/index.html">Subtype</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div></div></body></html> |