File: record_evaluation_order.ml

package info (click to toggle)
js-of-ocaml 6.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 37,932 kB
  • sloc: ml: 135,957; javascript: 58,364; ansic: 437; makefile: 422; sh: 12; perl: 4
file content (94 lines) | stat: -rw-r--r-- 1,507 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
(* TEST
 include testing;
*)

type r =
  { a : unit;
    b : int;
    c : char;
    d : float; }

let r1 =
  {
    c = (print_endline "c1"; 'c');
    a = print_endline "a1";
    d = (print_endline "d1"; 1.);
    b = (print_endline "b1"; 2);
  }

let r2 =
  {
    b = (print_endline "b2"; 2);
    d = (print_endline "d2"; 1.);
    a = print_endline "a2";
    c = (print_endline "c2"; 'c');
  }

let r3 =
  { (print_endline "default"; r1) with
    d = (print_endline "d3"; 1.);
    c = (print_endline "c3"; 'c');
    a = print_endline "a3";
  }

let () = print_endline ""

type r2 =
  { x1 : unit;
    x2 : unit;
    x3 : unit;
    x4 : unit;
    x5 : unit;
    x6 : unit;
    x7 : unit;
    x8 : unit;
    x9 : unit; }

let a =
  {
    x5 = print_endline "x5";
    x6 = print_endline "x6";
    x1 = print_endline "x1";
    x3 = print_endline "x3";
    x4 = print_endline "x4";
    x9 = print_endline "x9";
    x7 = print_endline "x7";
    x8 = print_endline "x8";
    x2 = print_endline "x2";
  }

let () = print_endline ""

let b =
  { a with
    x7 = print_endline "x7";
    x2 = print_endline "x2";
  }

let () = print_endline ""

let c =
  { a with
    x2 = print_endline "x2";
    x7 = print_endline "x7";
  }

let () = print_endline ""

let c =
  { a with
    x2 = print_endline "x2";
    x7 = print_endline "x7";
    x5 = print_endline "x5";
  }

let () = print_endline ""

let d =
  { a with
    x5 = print_endline "x5";
    x7 = print_endline "x7";
    x2 = print_endline "x2";
  }

include Testing