1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<link rel="stylesheet" href="style.css" type="text/css">
5<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
6<meta name="viewport" content="width=device-width, initial-scale=1">
7<link rel="Start" href="index.html">
8<link rel="Up" href="index.html">
9<link title="Index of types" rel=Appendix href="index_types.html">
10<link title="Index of modules" rel=Appendix href="index_modules.html">
11<link title="Variants" rel="Chapter" href="Variants.html"><title>Variants</title>
12</head>
13<body>
14<div class="navbar">&nbsp;<a class="up" href="index.html" title="Index">Up</a>
15&nbsp;</div>
16<h1>Module <a href="type_Variants.html">Variants</a></h1>
17
18<pre><span class="keyword">module</span> Variants: <code class="code"><span class="keyword">sig</span></code> <a href="Variants.html">..</a> <code class="code"><span class="keyword">end</span></code></pre><div class="info module top">
19This test is here to check the latex code generated for variants<br>
20</div>
21<hr width="100%">
22
23<pre><code><span id="TYPEs"><span class="keyword">type</span> <code class="type"></code>s</span> = </code></pre><table class="typetable">
24<tr>
25<td align="left" valign="top" >
26<code><span class="keyword">|</span></code></td>
27<td align="left" valign="top" >
28<code><span id="TYPEELTs.A"><span class="constructor">A</span></span></code></td>
29
30</tr>
31<tr>
32<td align="left" valign="top" >
33<code><span class="keyword">|</span></code></td>
34<td align="left" valign="top" >
35<code><span id="TYPEELTs.B"><span class="constructor">B</span></span></code></td>
36<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
37only B is documented here<br>
38</div>
39</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
40</tr>
41<tr>
42<td align="left" valign="top" >
43<code><span class="keyword">|</span></code></td>
44<td align="left" valign="top" >
45<code><span id="TYPEELTs.C"><span class="constructor">C</span></span></code></td>
46
47</tr></table>
48
49
50
51<pre><code><span id="TYPEt"><span class="keyword">type</span> <code class="type"></code>t</span> = </code></pre><table class="typetable">
52<tr>
53<td align="left" valign="top" >
54<code><span class="keyword">|</span></code></td>
55<td align="left" valign="top" >
56<code><span id="TYPEELTt.A"><span class="constructor">A</span></span></code></td>
57<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
58doc for A<br>
59</div>
60</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
61</tr>
62<tr>
63<td align="left" valign="top" >
64<code><span class="keyword">|</span></code></td>
65<td align="left" valign="top" >
66<code><span id="TYPEELTt.B"><span class="constructor">B</span></span></code></td>
67<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
68doc for B<br>
69</div>
70</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
71</tr></table>
72
73
74
75<pre><code><span id="TYPEu"><span class="keyword">type</span> <code class="type"></code>u</span> = </code></pre><table class="typetable">
76<tr>
77<td align="left" valign="top" >
78<code><span class="keyword">|</span></code></td>
79<td align="left" valign="top" >
80<code><span id="TYPEELTu.A"><span class="constructor">A</span></span></code></td>
81<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
82doc for A<br>
83</div>
84</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
85</tr>
86<tr>
87<td align="left" valign="top" >
88<code><span class="keyword">|</span></code></td>
89<td align="left" valign="top" >
90<code><span id="TYPEELTu.B"><span class="constructor">B</span></span> <span class="keyword">of</span> <code class="type">unit</code></code></td>
91<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
92doc for B<br>
93</div>
94</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
95</tr></table>
96
97<div class="info ">
98Some documentation for u<br>
99</div>
100
101
102<pre><code><span id="TYPEw"><span class="keyword">type</span> <code class="type"></code>w</span> = </code></pre><table class="typetable">
103<tr>
104<td align="left" valign="top" >
105<code><span class="keyword">|</span></code></td>
106<td align="left" valign="top" >
107<code><span id="TYPEELTw.A"><span class="constructor">A</span></span> <span class="keyword">of</span> <code>{</code><table class="typetable">
108<tr>
109<td align="left" valign="top" >
110<code>&nbsp;&nbsp;</code></td>
111<td align="left" valign="top" >
112<code><span id="TYPEELTVariants.A.x">x</span>&nbsp;: <code class="type">int</code>;</code></td>
113
114</tr></table>
115}
116</code></td>
117<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
118doc for A<br>
119</div>
120</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
121</tr>
122<tr>
123<td align="left" valign="top" >
124<code><span class="keyword">|</span></code></td>
125<td align="left" valign="top" >
126<code><span id="TYPEELTw.B"><span class="constructor">B</span></span> <span class="keyword">of</span> <code>{</code><table class="typetable">
127<tr>
128<td align="left" valign="top" >
129<code>&nbsp;&nbsp;</code></td>
130<td align="left" valign="top" >
131<code><span id="TYPEELTVariants.B.y">y</span>&nbsp;: <code class="type">int</code>;</code></td>
132
133</tr></table>
134}
135</code></td>
136<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
137doc for B<br>
138</div>
139</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
140</tr></table>
141
142<div class="info ">
143With records<br>
144</div>
145
146
147<pre><code><span id="TYPEz"><span class="keyword">type</span> <code class="type"></code>z</span> = </code></pre><table class="typetable">
148<tr>
149<td align="left" valign="top" >
150<code><span class="keyword">|</span></code></td>
151<td align="left" valign="top" >
152<code><span id="TYPEELTz.A"><span class="constructor">A</span></span> <span class="keyword">of</span> <code class="type">int</code></code></td>
153<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
154doc for A<br>
155</div>
156</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
157</tr>
158<tr>
159<td align="left" valign="top" >
160<code><span class="keyword">|</span></code></td>
161<td align="left" valign="top" >
162<code><span id="TYPEELTz.B"><span class="constructor">B</span></span> <span class="keyword">of</span> <code class="type">int</code></code></td>
163<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
164doc for B<br>
165</div>
166</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
167</tr></table>
168
169<div class="info ">
170With args<br>
171</div>
172
173
174<pre><code><span id="TYPEa"><span class="keyword">type</span> <code class="type"></code>a</span> = </code></pre><table class="typetable">
175<tr>
176<td align="left" valign="top" >
177<code><span class="keyword">|</span></code></td>
178<td align="left" valign="top" >
179<code><span id="TYPEELTa.A"><span class="constructor">A</span></span> <span class="keyword">:</span> <code class="type"><a href="Variants.html#TYPEa">a</a></code></code></td>
180<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
181doc for A<br>
182</div>
183</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
184</tr></table>
185
186<div class="info ">
187Gadt notation<br>
188</div>
189
190
191<pre><code><span id="TYPEb"><span class="keyword">type</span> <code class="type"></code>b</span> = </code></pre><table class="typetable">
192<tr>
193<td align="left" valign="top" >
194<code><span class="keyword">|</span></code></td>
195<td align="left" valign="top" >
196<code><span id="TYPEELTb.B"><span class="constructor">B</span></span></code></td>
197<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><div class="info ">
198doc for B<br>
199</div>
200</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
201</tr></table>
202
203<div class="info ">
204Lonely constructor<br>
205</div>
206
207
208<pre><code><span id="TYPEno_documentation"><span class="keyword">type</span> <code class="type"></code>no_documentation</span> = </code></pre><table class="typetable">
209<tr>
210<td align="left" valign="top" >
211<code><span class="keyword">|</span></code></td>
212<td align="left" valign="top" >
213<code><span id="TYPEELTno_documentation.A"><span class="constructor">A</span></span></code></td>
214
215</tr>
216<tr>
217<td align="left" valign="top" >
218<code><span class="keyword">|</span></code></td>
219<td align="left" valign="top" >
220<code><span id="TYPEELTno_documentation.B"><span class="constructor">B</span></span></code></td>
221
222</tr>
223<tr>
224<td align="left" valign="top" >
225<code><span class="keyword">|</span></code></td>
226<td align="left" valign="top" >
227<code><span id="TYPEELTno_documentation.C"><span class="constructor">C</span></span></code></td>
228
229</tr></table>
230
231
232</body></html>