File: poly_int_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 (23 lines) | stat: -rw-r--r-- 444 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
default Order dec

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

val "print_int" : (string, int) -> unit

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

function main((): unit) -> unit = {
  var s : S(range(0, 3)) = struct { field1 = (0, 3), field2 = () };
  s.field1 = (1, 2);
  match s.field1 {
    (x, y) => {
      print_int("x = ", x);
      print_int("y = ", y);
    }
  };
  print_endline("ok");
}