...
1-- in.cue --
2#Value: 0 | 1
3
4foo: #Value
5foo: !=bar
6bar: #Value
7bar: !=foo
8
9#Value: 0 | 1
10
11Foo: #Value
12Foo: !=Bar
13Bar: #Value
14Bar: !=Foo
15Bar: 0
16
17cell: a: 0 | 1
18cell: a: !=cell.b
19cell: b: 0 | 1
20cell: b: !=cell.a
21cell: a: 0
22cell: b: _
23
24a: cell.a
25b: cell.b
26-- out/eval/stats --
27Leaks: 0
28Freed: 47
29Reused: 39
30Allocs: 8
31Retain: 7
32
33Unifications: 11
34Conjuncts: 101
35Disjuncts: 47
36-- out/eval --
37(struct){
38 #Value: (int){ |((int){ 0 }, (int){ 1 }) }
39 foo: (_|_){
40 // [incomplete] foo: unresolved disjunction 0 | 1 (type int):
41 // ./in.cue:4:6
42 }
43 bar: (int){ |((int){ 0 }, (int){ 1 }) }
44 Foo: (int){ 1 }
45 Bar: (int){ 0 }
46 cell: (struct){
47 a: (int){ 0 }
48 b: (int){ 1 }
49 }
50 a: (int){ 0 }
51 b: (int){ 1 }
52}
53-- out/compile --
54--- in.cue
55{
56 #Value: (0|1)
57 foo: 〈0;#Value〉
58 foo: !=〈0;bar〉
59 bar: 〈0;#Value〉
60 bar: !=〈0;foo〉
61 #Value: (0|1)
62 Foo: 〈0;#Value〉
63 Foo: !=〈0;Bar〉
64 Bar: 〈0;#Value〉
65 Bar: !=〈0;Foo〉
66 Bar: 0
67 cell: {
68 a: (0|1)
69 }
70 cell: {
71 a: !=〈1;cell〉.b
72 }
73 cell: {
74 b: (0|1)
75 }
76 cell: {
77 b: !=〈1;cell〉.a
78 }
79 cell: {
80 a: 0
81 }
82 cell: {
83 b: _
84 }
85 a: 〈0;cell〉.a
86 b: 〈0;cell〉.b
87}
View as plain text