File: poly_record.sail

package info (click to toggle)
sail-ocaml 0.19.1%2Bdfsg5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,008 kB
  • sloc: ml: 75,941; ansic: 8,848; python: 1,342; exp: 560; sh: 474; makefile: 218; cpp: 36
file content (19 lines) | stat: -rw-r--r-- 338 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
default Order dec

$[sv_module { stdout = true }]
val "print_endline" : string -> unit

struct S('a: Type) = {
  field1 : 'a,
  field2 : unit
}

function f forall ('a :Type). (s: S('a)) -> unit = {
  s.field2
}

function main((): unit) -> unit = {
  let s : S(unit) = struct { field1 = (), field2 = () };
  f(s);
  print_endline("ok");
}