| TODO: the new evaluator currently does not normalize disjuncts. |
| It needs to be determined under which circumstances is desirable. |
| The redundancy that remains from not normalizing can be useful. |
| |
| #name: normalization |
| #evalFull |
| -- in.cue -- |
| a: string | string |
| b: *1 | *int |
| c: *1.0 | *float |
| -- out/def -- |
| a: string |
| b: int |
| c: float |
| -- out/legacy-debug -- |
| <0>{a: string, b: int, c: float} |
| -- out/compile -- |
| --- in.cue |
| { |
| a: (string|string) |
| b: (*1|*int) |
| c: (*1.0|*float) |
| } |
| -- out/eval -- |
| (struct){ |
| a: (string){ string } |
| b: (int){ |(*(int){ 1 }, *(int){ int }) } |
| c: (float){ |(*(float){ 1.0 }, *(float){ float }) } |
| } |