...
1
2-- x.cue --
3package x
4
5#C1: {
6 name: string
7}
8
9#C2: {
10 #C1
11 age: int
12}
13
14c1: #C1 & {
15 name: "cueckoo"
16}
17
18c2: #C2 & {
19 c1
20 age: 5
21}
22-- out/eval/stats --
23Leaks: 0
24Freed: 11
25Reused: 8
26Allocs: 3
27Retain: 0
28
29Unifications: 11
30Conjuncts: 27
31Disjuncts: 11
32-- out/evalalpha --
33(struct){
34 #C1: (#struct){
35 name: (string){ string }
36 }
37 #C2: (#struct){
38 age: (int){ int }
39 name: (string){ string }
40 }
41 c1: (#struct){
42 name: (string){ "cueckoo" }
43 }
44 c2: (#struct){
45 age: (int){ 5 }
46 name: (string){ "cueckoo" }
47 }
48}
49-- diff/-out/evalalpha<==>+out/eval --
50diff old new
51--- old
52+++ new
53@@ -3,14 +3,14 @@
54 name: (string){ string }
55 }
56 #C2: (#struct){
57- name: (string){ string }
58 age: (int){ int }
59+ name: (string){ string }
60 }
61 c1: (#struct){
62 name: (string){ "cueckoo" }
63 }
64 c2: (#struct){
65- name: (string){ "cueckoo" }
66 age: (int){ 5 }
67+ name: (string){ "cueckoo" }
68 }
69 }
70-- diff/explanation --
71Reordering
72-- out/eval --
73(struct){
74 #C1: (#struct){
75 name: (string){ string }
76 }
77 #C2: (#struct){
78 name: (string){ string }
79 age: (int){ int }
80 }
81 c1: (#struct){
82 name: (string){ "cueckoo" }
83 }
84 c2: (#struct){
85 name: (string){ "cueckoo" }
86 age: (int){ 5 }
87 }
88}
89-- out/compile --
90--- x.cue
91{
92 #C1: {
93 name: string
94 }
95 #C2: {
96 〈1;#C1〉
97 age: int
98 }
99 c1: (〈0;#C1〉 & {
100 name: "cueckoo"
101 })
102 c2: (〈0;#C2〉 & {
103 〈1;c1〉
104 age: 5
105 })
106}
View as plain text