File: types.expect.txt

package info (click to toggle)
highlight.js 9.18.5%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, trixie
  • size: 6,672 kB
  • sloc: javascript: 40,928; python: 342; makefile: 160; sh: 11
file content (17 lines) | stat: -rw-r--r-- 1,514 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<span class="hljs-comment">(* type variables *)</span>
<span class="hljs-keyword">type</span> <span class="hljs-symbol">'a</span> t = <span class="hljs-symbol">'a</span> <span class="hljs-built_in">list</span>
<span class="hljs-keyword">let</span> f (a : <span class="hljs-symbol">'a</span> <span class="hljs-built_in">list</span>) : <span class="hljs-symbol">'a</span> = <span class="hljs-type">List</span>.hd a

<span class="hljs-comment">(* polymorphic variants *)</span>
<span class="hljs-keyword">type</span> t = [ <span class="hljs-type">`A</span> | <span class="hljs-type">`B</span> ]

<span class="hljs-comment">(* variants *)</span>
<span class="hljs-keyword">type</span> result = <span class="hljs-type">Sat</span> | <span class="hljs-type">Unsat</span> | <span class="hljs-type">Unknown</span>

<span class="hljs-comment">(* module and module types *)</span>
<span class="hljs-keyword">module</span> <span class="hljs-keyword">type</span> <span class="hljs-type">S</span> = <span class="hljs-keyword">sig</span>
  <span class="hljs-keyword">val</span> compute : <span class="hljs-built_in">unit</span> -&gt; <span class="hljs-built_in">unit</span>
<span class="hljs-keyword">end</span>
<span class="hljs-keyword">module</span> <span class="hljs-type">Impl</span> : <span class="hljs-type">S</span> = <span class="hljs-keyword">struct</span>
  <span class="hljs-keyword">let</span> compute <span class="hljs-literal">()</span> = <span class="hljs-literal">()</span>
<span class="hljs-keyword">end</span>