cuelang.org/go@v0.13.0/cue/testdata/benchmarks/sharefg.txtar (about) 1 # This file has fine-grained sharing tests. 2 3 -- in.cue -- 4 // In each case, the number of output nodes should be linear in the input size. 5 // 6 // This means that in each case, the next line should not retrigger the 7 // computation of the previous field. 8 9 // 26 Nodes computed: 10 // f1: 5 11 // f2+: +3 each 12 binexpr: { 13 f1: { out: x: 2 } 14 f2: { out: x: f1.out.x + 1 } 15 f3: { out: x: f2.out.x + 1 } 16 f4: { out: x: f3.out.x + 1 } 17 f5: { out: x: f4.out.x + 1 } 18 f6: { out: x: f5.out.x + 1 } 19 f7: { out: x: f6.out.x + 1 } 20 f8: { out: x: f7.out.x + 1 } 21 } 22 23 // 26 Nodes computed: 24 // f1: 5 25 // f2+: +3 each 26 parenthesized: { 27 f1: { out: x: 2 } 28 f2: { out: x: (f1.out).x + 1 } 29 f3: { out: x: (f2.out).x + 1 } 30 f4: { out: x: (f3.out).x + 1 } 31 f5: { out: x: (f4.out).x + 1 } 32 f6: { out: x: (f5.out).x + 1 } 33 f7: { out: x: (f6.out).x + 1 } 34 f8: { out: x: (f7.out).x + 1 } 35 } 36 37 // TODO(perf): fix 38 // 82 Nodes computed [O(n^2)]: 39 // f1: 5 40 // fn: +(n*2 + 1) 41 // SHOULD BE: 42 // 26 Nodes computed: 43 // f1: 5 44 // f2+: +3 each 45 embedded: { 46 f1: { out: x: 2 } 47 f2: { out: x: {f1.out}.x + 1 } 48 f3: { out: x: {f2.out}.x + 1 } 49 f4: { out: x: {f3.out}.x + 1 } 50 f5: { out: x: {f4.out}.x + 1 } 51 f6: { out: x: {f5.out}.x + 1 } 52 f7: { out: x: {f6.out}.x + 1 } 53 f8: { out: x: {f7.out}.x + 1 } 54 } 55 56 // TODO(perf): fix 57 // 82 Nodes computed [O(n^2)]: 58 // f1: 5 59 // fn: +(n*2 + 1) each 60 // SHOULD BE: 61 // 26 Nodes computed: 62 // f1: 5 63 // f2+: +3 each 64 embeddedWithEmpty: { 65 f1: { out: x: 2 } 66 f2: { out: x: {f1.out & {}}.x + 1 } 67 f3: { out: x: {f2.out & {}}.x + 1 } 68 f4: { out: x: {f3.out & {}}.x + 1 } 69 f5: { out: x: {f4.out & {}}.x + 1 } 70 f6: { out: x: {f5.out & {}}.x + 1 } 71 f7: { out: x: {f6.out & {}}.x + 1 } 72 f8: { out: x: {f7.out & {}}.x + 1 } 73 } 74 75 // TODO(perf): fix 76 // This will visualize O(n^2) output size unless CUE allows for a bit more 77 // sophisticated sharing. 78 weave: { 79 f: X={ 80 out: in + 1 81 in: X.ref.out + 1 82 ref: _ & {} 83 } 84 f8: f&{ ref: f7 } 85 f7: f&{ ref: f6 } 86 f6: f&{ ref: f5 } 87 f5: f&{ ref: f4 } 88 f4: f&{ ref: f3 } 89 f3: f&{ ref: f2 } 90 f2: f&{ ref: f1 } 91 f1: { out: 2 } 92 } 93 94 // TODO(perf): fix 95 // This will visualize O(n^2) output size unless CUE supports fine-grained 96 // sharing. 97 weaveExtraField: { 98 f: X={ 99 out: in + 1 100 in: X.ref.out + 1 101 ref: {y: 4} // Cannot share because of this, but sub arcs still can be. 102 } 103 f8: f&{ ref: f7 } 104 f7: f&{ ref: f6 } 105 f6: f&{ ref: f5 } 106 f5: f&{ ref: f4 } 107 f4: f&{ ref: f3 } 108 f3: f&{ ref: f2 } 109 f2: f&{ ref: f1 } 110 f1: { out: 2 } 111 } 112 -- out/eval/stats -- 113 Leaks: 112 114 Freed: 340 115 Reused: 308 116 Allocs: 144 117 Retain: 428 118 119 Unifications: 452 120 Conjuncts: 853 121 Disjuncts: 720 122 -- out/evalalpha -- 123 (struct){ 124 binexpr: (struct){ 125 f1: (struct){ 126 out: (struct){ 127 x: (int){ 2 } 128 } 129 } 130 f2: (struct){ 131 out: (struct){ 132 x: (int){ 3 } 133 } 134 } 135 f3: (struct){ 136 out: (struct){ 137 x: (int){ 4 } 138 } 139 } 140 f4: (struct){ 141 out: (struct){ 142 x: (int){ 5 } 143 } 144 } 145 f5: (struct){ 146 out: (struct){ 147 x: (int){ 6 } 148 } 149 } 150 f6: (struct){ 151 out: (struct){ 152 x: (int){ 7 } 153 } 154 } 155 f7: (struct){ 156 out: (struct){ 157 x: (int){ 8 } 158 } 159 } 160 f8: (struct){ 161 out: (struct){ 162 x: (int){ 9 } 163 } 164 } 165 } 166 parenthesized: (struct){ 167 f1: (struct){ 168 out: (struct){ 169 x: (int){ 2 } 170 } 171 } 172 f2: (struct){ 173 out: (struct){ 174 x: (int){ 3 } 175 } 176 } 177 f3: (struct){ 178 out: (struct){ 179 x: (int){ 4 } 180 } 181 } 182 f4: (struct){ 183 out: (struct){ 184 x: (int){ 5 } 185 } 186 } 187 f5: (struct){ 188 out: (struct){ 189 x: (int){ 6 } 190 } 191 } 192 f6: (struct){ 193 out: (struct){ 194 x: (int){ 7 } 195 } 196 } 197 f7: (struct){ 198 out: (struct){ 199 x: (int){ 8 } 200 } 201 } 202 f8: (struct){ 203 out: (struct){ 204 x: (int){ 9 } 205 } 206 } 207 } 208 embedded: (struct){ 209 f1: (struct){ 210 out: (struct){ 211 x: (int){ 2 } 212 } 213 } 214 f2: (struct){ 215 out: (struct){ 216 x: (int){ 3 } 217 } 218 } 219 f3: (struct){ 220 out: (struct){ 221 x: (int){ 4 } 222 } 223 } 224 f4: (struct){ 225 out: (struct){ 226 x: (int){ 5 } 227 } 228 } 229 f5: (struct){ 230 out: (struct){ 231 x: (int){ 6 } 232 } 233 } 234 f6: (struct){ 235 out: (struct){ 236 x: (int){ 7 } 237 } 238 } 239 f7: (struct){ 240 out: (struct){ 241 x: (int){ 8 } 242 } 243 } 244 f8: (struct){ 245 out: (struct){ 246 x: (int){ 9 } 247 } 248 } 249 } 250 embeddedWithEmpty: (struct){ 251 f1: (struct){ 252 out: (struct){ 253 x: (int){ 2 } 254 } 255 } 256 f2: (struct){ 257 out: (struct){ 258 x: (int){ 3 } 259 } 260 } 261 f3: (struct){ 262 out: (struct){ 263 x: (int){ 4 } 264 } 265 } 266 f4: (struct){ 267 out: (struct){ 268 x: (int){ 5 } 269 } 270 } 271 f5: (struct){ 272 out: (struct){ 273 x: (int){ 6 } 274 } 275 } 276 f6: (struct){ 277 out: (struct){ 278 x: (int){ 7 } 279 } 280 } 281 f7: (struct){ 282 out: (struct){ 283 x: (int){ 8 } 284 } 285 } 286 f8: (struct){ 287 out: (struct){ 288 x: (int){ 9 } 289 } 290 } 291 } 292 weave: (struct){ 293 f: (struct){ 294 out: (_|_){ 295 // [incomplete] weave.f.in: undefined field: out: 296 // ./in.cue:78:14 297 } 298 in: (_|_){ 299 // [incomplete] weave.f.in: undefined field: out: 300 // ./in.cue:78:14 301 } 302 ref: (struct){ 303 } 304 } 305 f8: (struct){ 306 ref: (struct){ 307 ref: (struct){ 308 ref: (struct){ 309 ref: (struct){ 310 ref: (struct){ 311 ref: (struct){ 312 ref: (struct){ 313 out: (int){ 2 } 314 } 315 out: (int){ 4 } 316 in: (int){ 3 } 317 } 318 out: (int){ 6 } 319 in: (int){ 5 } 320 } 321 out: (int){ 8 } 322 in: (int){ 7 } 323 } 324 out: (int){ 10 } 325 in: (int){ 9 } 326 } 327 out: (int){ 12 } 328 in: (int){ 11 } 329 } 330 out: (int){ 14 } 331 in: (int){ 13 } 332 } 333 out: (int){ 16 } 334 in: (int){ 15 } 335 } 336 f7: (struct){ 337 ref: (struct){ 338 ref: (struct){ 339 ref: (struct){ 340 ref: (struct){ 341 ref: (struct){ 342 ref: (struct){ 343 out: (int){ 2 } 344 } 345 out: (int){ 4 } 346 in: (int){ 3 } 347 } 348 out: (int){ 6 } 349 in: (int){ 5 } 350 } 351 out: (int){ 8 } 352 in: (int){ 7 } 353 } 354 out: (int){ 10 } 355 in: (int){ 9 } 356 } 357 out: (int){ 12 } 358 in: (int){ 11 } 359 } 360 out: (int){ 14 } 361 in: (int){ 13 } 362 } 363 f6: (struct){ 364 ref: (struct){ 365 ref: (struct){ 366 ref: (struct){ 367 ref: (struct){ 368 ref: (struct){ 369 out: (int){ 2 } 370 } 371 out: (int){ 4 } 372 in: (int){ 3 } 373 } 374 out: (int){ 6 } 375 in: (int){ 5 } 376 } 377 out: (int){ 8 } 378 in: (int){ 7 } 379 } 380 out: (int){ 10 } 381 in: (int){ 9 } 382 } 383 out: (int){ 12 } 384 in: (int){ 11 } 385 } 386 f5: (struct){ 387 ref: (struct){ 388 ref: (struct){ 389 ref: (struct){ 390 ref: (struct){ 391 out: (int){ 2 } 392 } 393 out: (int){ 4 } 394 in: (int){ 3 } 395 } 396 out: (int){ 6 } 397 in: (int){ 5 } 398 } 399 out: (int){ 8 } 400 in: (int){ 7 } 401 } 402 out: (int){ 10 } 403 in: (int){ 9 } 404 } 405 f4: (struct){ 406 ref: (struct){ 407 ref: (struct){ 408 ref: (struct){ 409 out: (int){ 2 } 410 } 411 out: (int){ 4 } 412 in: (int){ 3 } 413 } 414 out: (int){ 6 } 415 in: (int){ 5 } 416 } 417 out: (int){ 8 } 418 in: (int){ 7 } 419 } 420 f3: (struct){ 421 ref: (struct){ 422 ref: (struct){ 423 out: (int){ 2 } 424 } 425 out: (int){ 4 } 426 in: (int){ 3 } 427 } 428 out: (int){ 6 } 429 in: (int){ 5 } 430 } 431 f2: (struct){ 432 ref: (struct){ 433 out: (int){ 2 } 434 } 435 out: (int){ 4 } 436 in: (int){ 3 } 437 } 438 f1: (struct){ 439 out: (int){ 2 } 440 } 441 } 442 weaveExtraField: (struct){ 443 f: (struct){ 444 out: (_|_){ 445 // [incomplete] weaveExtraField.f.in: undefined field: out: 446 // ./in.cue:97:14 447 } 448 in: (_|_){ 449 // [incomplete] weaveExtraField.f.in: undefined field: out: 450 // ./in.cue:97:14 451 } 452 ref: (struct){ 453 y: (int){ 4 } 454 } 455 } 456 f8: (struct){ 457 ref: (struct){ 458 y: (int){ 4 } 459 ref: (struct){ 460 y: (int){ 4 } 461 ref: (struct){ 462 y: (int){ 4 } 463 ref: (struct){ 464 y: (int){ 4 } 465 ref: (struct){ 466 y: (int){ 4 } 467 ref: (struct){ 468 y: (int){ 4 } 469 ref: (struct){ 470 y: (int){ 4 } 471 out: (int){ 2 } 472 } 473 out: (int){ 4 } 474 in: (int){ 3 } 475 } 476 out: (int){ 6 } 477 in: (int){ 5 } 478 } 479 out: (int){ 8 } 480 in: (int){ 7 } 481 } 482 out: (int){ 10 } 483 in: (int){ 9 } 484 } 485 out: (int){ 12 } 486 in: (int){ 11 } 487 } 488 out: (int){ 14 } 489 in: (int){ 13 } 490 } 491 out: (int){ 16 } 492 in: (int){ 15 } 493 } 494 f7: (struct){ 495 ref: (struct){ 496 y: (int){ 4 } 497 ref: (struct){ 498 y: (int){ 4 } 499 ref: (struct){ 500 y: (int){ 4 } 501 ref: (struct){ 502 y: (int){ 4 } 503 ref: (struct){ 504 y: (int){ 4 } 505 ref: (struct){ 506 y: (int){ 4 } 507 out: (int){ 2 } 508 } 509 out: (int){ 4 } 510 in: (int){ 3 } 511 } 512 out: (int){ 6 } 513 in: (int){ 5 } 514 } 515 out: (int){ 8 } 516 in: (int){ 7 } 517 } 518 out: (int){ 10 } 519 in: (int){ 9 } 520 } 521 out: (int){ 12 } 522 in: (int){ 11 } 523 } 524 out: (int){ 14 } 525 in: (int){ 13 } 526 } 527 f6: (struct){ 528 ref: (struct){ 529 y: (int){ 4 } 530 ref: (struct){ 531 y: (int){ 4 } 532 ref: (struct){ 533 y: (int){ 4 } 534 ref: (struct){ 535 y: (int){ 4 } 536 ref: (struct){ 537 y: (int){ 4 } 538 out: (int){ 2 } 539 } 540 out: (int){ 4 } 541 in: (int){ 3 } 542 } 543 out: (int){ 6 } 544 in: (int){ 5 } 545 } 546 out: (int){ 8 } 547 in: (int){ 7 } 548 } 549 out: (int){ 10 } 550 in: (int){ 9 } 551 } 552 out: (int){ 12 } 553 in: (int){ 11 } 554 } 555 f5: (struct){ 556 ref: (struct){ 557 y: (int){ 4 } 558 ref: (struct){ 559 y: (int){ 4 } 560 ref: (struct){ 561 y: (int){ 4 } 562 ref: (struct){ 563 y: (int){ 4 } 564 out: (int){ 2 } 565 } 566 out: (int){ 4 } 567 in: (int){ 3 } 568 } 569 out: (int){ 6 } 570 in: (int){ 5 } 571 } 572 out: (int){ 8 } 573 in: (int){ 7 } 574 } 575 out: (int){ 10 } 576 in: (int){ 9 } 577 } 578 f4: (struct){ 579 ref: (struct){ 580 y: (int){ 4 } 581 ref: (struct){ 582 y: (int){ 4 } 583 ref: (struct){ 584 y: (int){ 4 } 585 out: (int){ 2 } 586 } 587 out: (int){ 4 } 588 in: (int){ 3 } 589 } 590 out: (int){ 6 } 591 in: (int){ 5 } 592 } 593 out: (int){ 8 } 594 in: (int){ 7 } 595 } 596 f3: (struct){ 597 ref: (struct){ 598 y: (int){ 4 } 599 ref: (struct){ 600 y: (int){ 4 } 601 out: (int){ 2 } 602 } 603 out: (int){ 4 } 604 in: (int){ 3 } 605 } 606 out: (int){ 6 } 607 in: (int){ 5 } 608 } 609 f2: (struct){ 610 ref: (struct){ 611 y: (int){ 4 } 612 out: (int){ 2 } 613 } 614 out: (int){ 4 } 615 in: (int){ 3 } 616 } 617 f1: (struct){ 618 out: (int){ 2 } 619 } 620 } 621 } 622 -- diff/-out/evalalpha<==>+out/eval -- 623 diff old new 624 --- old 625 +++ new 626 @@ -170,148 +170,148 @@ 627 weave: (struct){ 628 f: (struct){ 629 out: (_|_){ 630 - // [cycle] cycle error: 631 - // ./in.cue:77:8 632 - } 633 - in: (_|_){ 634 - // [incomplete] weave.f.in: undefined field: out: 635 - // ./in.cue:78:14 636 - } 637 - ref: (struct){ 638 - } 639 - } 640 - f8: (struct){ 641 - out: (int){ 16 } 642 - in: (int){ 15 } 643 - ref: (struct){ 644 - out: (int){ 14 } 645 - in: (int){ 13 } 646 - ref: (struct){ 647 - out: (int){ 12 } 648 - in: (int){ 11 } 649 - ref: (struct){ 650 - out: (int){ 10 } 651 - in: (int){ 9 } 652 - ref: (struct){ 653 - out: (int){ 8 } 654 - in: (int){ 7 } 655 - ref: (struct){ 656 - out: (int){ 6 } 657 - in: (int){ 5 } 658 - ref: (struct){ 659 - out: (int){ 4 } 660 - in: (int){ 3 } 661 - ref: (struct){ 662 - out: (int){ 2 } 663 - } 664 - } 665 - } 666 - } 667 - } 668 - } 669 - } 670 - } 671 - f7: (struct){ 672 - out: (int){ 14 } 673 - in: (int){ 13 } 674 - ref: (struct){ 675 - out: (int){ 12 } 676 - in: (int){ 11 } 677 - ref: (struct){ 678 - out: (int){ 10 } 679 - in: (int){ 9 } 680 - ref: (struct){ 681 - out: (int){ 8 } 682 - in: (int){ 7 } 683 - ref: (struct){ 684 - out: (int){ 6 } 685 - in: (int){ 5 } 686 - ref: (struct){ 687 - out: (int){ 4 } 688 - in: (int){ 3 } 689 - ref: (struct){ 690 - out: (int){ 2 } 691 - } 692 - } 693 - } 694 - } 695 - } 696 - } 697 - } 698 - f6: (struct){ 699 - out: (int){ 12 } 700 - in: (int){ 11 } 701 - ref: (struct){ 702 - out: (int){ 10 } 703 - in: (int){ 9 } 704 - ref: (struct){ 705 - out: (int){ 8 } 706 - in: (int){ 7 } 707 - ref: (struct){ 708 - out: (int){ 6 } 709 - in: (int){ 5 } 710 - ref: (struct){ 711 - out: (int){ 4 } 712 - in: (int){ 3 } 713 - ref: (struct){ 714 - out: (int){ 2 } 715 - } 716 - } 717 - } 718 - } 719 - } 720 - } 721 - f5: (struct){ 722 - out: (int){ 10 } 723 - in: (int){ 9 } 724 - ref: (struct){ 725 - out: (int){ 8 } 726 - in: (int){ 7 } 727 - ref: (struct){ 728 - out: (int){ 6 } 729 - in: (int){ 5 } 730 - ref: (struct){ 731 - out: (int){ 4 } 732 - in: (int){ 3 } 733 - ref: (struct){ 734 - out: (int){ 2 } 735 - } 736 - } 737 - } 738 - } 739 - } 740 - f4: (struct){ 741 - out: (int){ 8 } 742 - in: (int){ 7 } 743 - ref: (struct){ 744 - out: (int){ 6 } 745 - in: (int){ 5 } 746 - ref: (struct){ 747 - out: (int){ 4 } 748 - in: (int){ 3 } 749 - ref: (struct){ 750 - out: (int){ 2 } 751 - } 752 - } 753 - } 754 - } 755 - f3: (struct){ 756 - out: (int){ 6 } 757 - in: (int){ 5 } 758 - ref: (struct){ 759 - out: (int){ 4 } 760 - in: (int){ 3 } 761 - ref: (struct){ 762 - out: (int){ 2 } 763 - } 764 - } 765 - } 766 - f2: (struct){ 767 - out: (int){ 4 } 768 - in: (int){ 3 } 769 - ref: (struct){ 770 - out: (int){ 2 } 771 - } 772 + // [incomplete] weave.f.in: undefined field: out: 773 + // ./in.cue:78:14 774 + } 775 + in: (_|_){ 776 + // [incomplete] weave.f.in: undefined field: out: 777 + // ./in.cue:78:14 778 + } 779 + ref: (struct){ 780 + } 781 + } 782 + f8: (struct){ 783 + ref: (struct){ 784 + ref: (struct){ 785 + ref: (struct){ 786 + ref: (struct){ 787 + ref: (struct){ 788 + ref: (struct){ 789 + ref: (struct){ 790 + out: (int){ 2 } 791 + } 792 + out: (int){ 4 } 793 + in: (int){ 3 } 794 + } 795 + out: (int){ 6 } 796 + in: (int){ 5 } 797 + } 798 + out: (int){ 8 } 799 + in: (int){ 7 } 800 + } 801 + out: (int){ 10 } 802 + in: (int){ 9 } 803 + } 804 + out: (int){ 12 } 805 + in: (int){ 11 } 806 + } 807 + out: (int){ 14 } 808 + in: (int){ 13 } 809 + } 810 + out: (int){ 16 } 811 + in: (int){ 15 } 812 + } 813 + f7: (struct){ 814 + ref: (struct){ 815 + ref: (struct){ 816 + ref: (struct){ 817 + ref: (struct){ 818 + ref: (struct){ 819 + ref: (struct){ 820 + out: (int){ 2 } 821 + } 822 + out: (int){ 4 } 823 + in: (int){ 3 } 824 + } 825 + out: (int){ 6 } 826 + in: (int){ 5 } 827 + } 828 + out: (int){ 8 } 829 + in: (int){ 7 } 830 + } 831 + out: (int){ 10 } 832 + in: (int){ 9 } 833 + } 834 + out: (int){ 12 } 835 + in: (int){ 11 } 836 + } 837 + out: (int){ 14 } 838 + in: (int){ 13 } 839 + } 840 + f6: (struct){ 841 + ref: (struct){ 842 + ref: (struct){ 843 + ref: (struct){ 844 + ref: (struct){ 845 + ref: (struct){ 846 + out: (int){ 2 } 847 + } 848 + out: (int){ 4 } 849 + in: (int){ 3 } 850 + } 851 + out: (int){ 6 } 852 + in: (int){ 5 } 853 + } 854 + out: (int){ 8 } 855 + in: (int){ 7 } 856 + } 857 + out: (int){ 10 } 858 + in: (int){ 9 } 859 + } 860 + out: (int){ 12 } 861 + in: (int){ 11 } 862 + } 863 + f5: (struct){ 864 + ref: (struct){ 865 + ref: (struct){ 866 + ref: (struct){ 867 + ref: (struct){ 868 + out: (int){ 2 } 869 + } 870 + out: (int){ 4 } 871 + in: (int){ 3 } 872 + } 873 + out: (int){ 6 } 874 + in: (int){ 5 } 875 + } 876 + out: (int){ 8 } 877 + in: (int){ 7 } 878 + } 879 + out: (int){ 10 } 880 + in: (int){ 9 } 881 + } 882 + f4: (struct){ 883 + ref: (struct){ 884 + ref: (struct){ 885 + ref: (struct){ 886 + out: (int){ 2 } 887 + } 888 + out: (int){ 4 } 889 + in: (int){ 3 } 890 + } 891 + out: (int){ 6 } 892 + in: (int){ 5 } 893 + } 894 + out: (int){ 8 } 895 + in: (int){ 7 } 896 + } 897 + f3: (struct){ 898 + ref: (struct){ 899 + ref: (struct){ 900 + out: (int){ 2 } 901 + } 902 + out: (int){ 4 } 903 + in: (int){ 3 } 904 + } 905 + out: (int){ 6 } 906 + in: (int){ 5 } 907 + } 908 + f2: (struct){ 909 + ref: (struct){ 910 + out: (int){ 2 } 911 + } 912 + out: (int){ 4 } 913 + in: (int){ 3 } 914 } 915 f1: (struct){ 916 out: (int){ 2 } 917 @@ -320,177 +320,177 @@ 918 weaveExtraField: (struct){ 919 f: (struct){ 920 out: (_|_){ 921 - // [cycle] cycle error: 922 - // ./in.cue:96:8 923 - } 924 - in: (_|_){ 925 - // [incomplete] weaveExtraField.f.in: undefined field: out: 926 - // ./in.cue:97:14 927 - } 928 - ref: (struct){ 929 - y: (int){ 4 } 930 - } 931 - } 932 - f8: (struct){ 933 - out: (int){ 16 } 934 - in: (int){ 15 } 935 - ref: (struct){ 936 - y: (int){ 4 } 937 - out: (int){ 14 } 938 - in: (int){ 13 } 939 - ref: (struct){ 940 - y: (int){ 4 } 941 - out: (int){ 12 } 942 - in: (int){ 11 } 943 - ref: (struct){ 944 - y: (int){ 4 } 945 - out: (int){ 10 } 946 - in: (int){ 9 } 947 - ref: (struct){ 948 - y: (int){ 4 } 949 - out: (int){ 8 } 950 - in: (int){ 7 } 951 - ref: (struct){ 952 - y: (int){ 4 } 953 - out: (int){ 6 } 954 - in: (int){ 5 } 955 - ref: (struct){ 956 - y: (int){ 4 } 957 - out: (int){ 4 } 958 - in: (int){ 3 } 959 + // [incomplete] weaveExtraField.f.in: undefined field: out: 960 + // ./in.cue:97:14 961 + } 962 + in: (_|_){ 963 + // [incomplete] weaveExtraField.f.in: undefined field: out: 964 + // ./in.cue:97:14 965 + } 966 + ref: (struct){ 967 + y: (int){ 4 } 968 + } 969 + } 970 + f8: (struct){ 971 + ref: (struct){ 972 + y: (int){ 4 } 973 + ref: (struct){ 974 + y: (int){ 4 } 975 + ref: (struct){ 976 + y: (int){ 4 } 977 + ref: (struct){ 978 + y: (int){ 4 } 979 + ref: (struct){ 980 + y: (int){ 4 } 981 + ref: (struct){ 982 + y: (int){ 4 } 983 ref: (struct){ 984 y: (int){ 4 } 985 out: (int){ 2 } 986 } 987 - } 988 - } 989 - } 990 - } 991 - } 992 - } 993 - } 994 - f7: (struct){ 995 - out: (int){ 14 } 996 - in: (int){ 13 } 997 - ref: (struct){ 998 - y: (int){ 4 } 999 - out: (int){ 12 } 1000 - in: (int){ 11 } 1001 - ref: (struct){ 1002 - y: (int){ 4 } 1003 - out: (int){ 10 } 1004 - in: (int){ 9 } 1005 - ref: (struct){ 1006 - y: (int){ 4 } 1007 - out: (int){ 8 } 1008 - in: (int){ 7 } 1009 - ref: (struct){ 1010 - y: (int){ 4 } 1011 - out: (int){ 6 } 1012 - in: (int){ 5 } 1013 - ref: (struct){ 1014 - y: (int){ 4 } 1015 - out: (int){ 4 } 1016 - in: (int){ 3 } 1017 - ref: (struct){ 1018 - y: (int){ 4 } 1019 - out: (int){ 2 } 1020 - } 1021 - } 1022 - } 1023 - } 1024 - } 1025 - } 1026 - } 1027 - f6: (struct){ 1028 - out: (int){ 12 } 1029 - in: (int){ 11 } 1030 - ref: (struct){ 1031 - y: (int){ 4 } 1032 - out: (int){ 10 } 1033 - in: (int){ 9 } 1034 - ref: (struct){ 1035 - y: (int){ 4 } 1036 - out: (int){ 8 } 1037 - in: (int){ 7 } 1038 - ref: (struct){ 1039 - y: (int){ 4 } 1040 - out: (int){ 6 } 1041 - in: (int){ 5 } 1042 - ref: (struct){ 1043 - y: (int){ 4 } 1044 - out: (int){ 4 } 1045 - in: (int){ 3 } 1046 - ref: (struct){ 1047 - y: (int){ 4 } 1048 - out: (int){ 2 } 1049 - } 1050 - } 1051 - } 1052 - } 1053 - } 1054 - } 1055 - f5: (struct){ 1056 - out: (int){ 10 } 1057 - in: (int){ 9 } 1058 - ref: (struct){ 1059 - y: (int){ 4 } 1060 - out: (int){ 8 } 1061 - in: (int){ 7 } 1062 - ref: (struct){ 1063 - y: (int){ 4 } 1064 - out: (int){ 6 } 1065 - in: (int){ 5 } 1066 - ref: (struct){ 1067 - y: (int){ 4 } 1068 - out: (int){ 4 } 1069 - in: (int){ 3 } 1070 - ref: (struct){ 1071 - y: (int){ 4 } 1072 - out: (int){ 2 } 1073 - } 1074 - } 1075 - } 1076 - } 1077 - } 1078 - f4: (struct){ 1079 - out: (int){ 8 } 1080 - in: (int){ 7 } 1081 - ref: (struct){ 1082 - y: (int){ 4 } 1083 - out: (int){ 6 } 1084 - in: (int){ 5 } 1085 - ref: (struct){ 1086 - y: (int){ 4 } 1087 - out: (int){ 4 } 1088 - in: (int){ 3 } 1089 - ref: (struct){ 1090 - y: (int){ 4 } 1091 - out: (int){ 2 } 1092 - } 1093 - } 1094 - } 1095 - } 1096 - f3: (struct){ 1097 - out: (int){ 6 } 1098 - in: (int){ 5 } 1099 - ref: (struct){ 1100 - y: (int){ 4 } 1101 - out: (int){ 4 } 1102 - in: (int){ 3 } 1103 - ref: (struct){ 1104 - y: (int){ 4 } 1105 - out: (int){ 2 } 1106 - } 1107 - } 1108 - } 1109 - f2: (struct){ 1110 - out: (int){ 4 } 1111 - in: (int){ 3 } 1112 - ref: (struct){ 1113 - y: (int){ 4 } 1114 - out: (int){ 2 } 1115 - } 1116 + out: (int){ 4 } 1117 + in: (int){ 3 } 1118 + } 1119 + out: (int){ 6 } 1120 + in: (int){ 5 } 1121 + } 1122 + out: (int){ 8 } 1123 + in: (int){ 7 } 1124 + } 1125 + out: (int){ 10 } 1126 + in: (int){ 9 } 1127 + } 1128 + out: (int){ 12 } 1129 + in: (int){ 11 } 1130 + } 1131 + out: (int){ 14 } 1132 + in: (int){ 13 } 1133 + } 1134 + out: (int){ 16 } 1135 + in: (int){ 15 } 1136 + } 1137 + f7: (struct){ 1138 + ref: (struct){ 1139 + y: (int){ 4 } 1140 + ref: (struct){ 1141 + y: (int){ 4 } 1142 + ref: (struct){ 1143 + y: (int){ 4 } 1144 + ref: (struct){ 1145 + y: (int){ 4 } 1146 + ref: (struct){ 1147 + y: (int){ 4 } 1148 + ref: (struct){ 1149 + y: (int){ 4 } 1150 + out: (int){ 2 } 1151 + } 1152 + out: (int){ 4 } 1153 + in: (int){ 3 } 1154 + } 1155 + out: (int){ 6 } 1156 + in: (int){ 5 } 1157 + } 1158 + out: (int){ 8 } 1159 + in: (int){ 7 } 1160 + } 1161 + out: (int){ 10 } 1162 + in: (int){ 9 } 1163 + } 1164 + out: (int){ 12 } 1165 + in: (int){ 11 } 1166 + } 1167 + out: (int){ 14 } 1168 + in: (int){ 13 } 1169 + } 1170 + f6: (struct){ 1171 + ref: (struct){ 1172 + y: (int){ 4 } 1173 + ref: (struct){ 1174 + y: (int){ 4 } 1175 + ref: (struct){ 1176 + y: (int){ 4 } 1177 + ref: (struct){ 1178 + y: (int){ 4 } 1179 + ref: (struct){ 1180 + y: (int){ 4 } 1181 + out: (int){ 2 } 1182 + } 1183 + out: (int){ 4 } 1184 + in: (int){ 3 } 1185 + } 1186 + out: (int){ 6 } 1187 + in: (int){ 5 } 1188 + } 1189 + out: (int){ 8 } 1190 + in: (int){ 7 } 1191 + } 1192 + out: (int){ 10 } 1193 + in: (int){ 9 } 1194 + } 1195 + out: (int){ 12 } 1196 + in: (int){ 11 } 1197 + } 1198 + f5: (struct){ 1199 + ref: (struct){ 1200 + y: (int){ 4 } 1201 + ref: (struct){ 1202 + y: (int){ 4 } 1203 + ref: (struct){ 1204 + y: (int){ 4 } 1205 + ref: (struct){ 1206 + y: (int){ 4 } 1207 + out: (int){ 2 } 1208 + } 1209 + out: (int){ 4 } 1210 + in: (int){ 3 } 1211 + } 1212 + out: (int){ 6 } 1213 + in: (int){ 5 } 1214 + } 1215 + out: (int){ 8 } 1216 + in: (int){ 7 } 1217 + } 1218 + out: (int){ 10 } 1219 + in: (int){ 9 } 1220 + } 1221 + f4: (struct){ 1222 + ref: (struct){ 1223 + y: (int){ 4 } 1224 + ref: (struct){ 1225 + y: (int){ 4 } 1226 + ref: (struct){ 1227 + y: (int){ 4 } 1228 + out: (int){ 2 } 1229 + } 1230 + out: (int){ 4 } 1231 + in: (int){ 3 } 1232 + } 1233 + out: (int){ 6 } 1234 + in: (int){ 5 } 1235 + } 1236 + out: (int){ 8 } 1237 + in: (int){ 7 } 1238 + } 1239 + f3: (struct){ 1240 + ref: (struct){ 1241 + y: (int){ 4 } 1242 + ref: (struct){ 1243 + y: (int){ 4 } 1244 + out: (int){ 2 } 1245 + } 1246 + out: (int){ 4 } 1247 + in: (int){ 3 } 1248 + } 1249 + out: (int){ 6 } 1250 + in: (int){ 5 } 1251 + } 1252 + f2: (struct){ 1253 + ref: (struct){ 1254 + y: (int){ 4 } 1255 + out: (int){ 2 } 1256 + } 1257 + out: (int){ 4 } 1258 + in: (int){ 3 } 1259 } 1260 f1: (struct){ 1261 out: (int){ 2 } 1262 -- out/eval -- 1263 (struct){ 1264 binexpr: (struct){ 1265 f1: (struct){ 1266 out: (struct){ 1267 x: (int){ 2 } 1268 } 1269 } 1270 f2: (struct){ 1271 out: (struct){ 1272 x: (int){ 3 } 1273 } 1274 } 1275 f3: (struct){ 1276 out: (struct){ 1277 x: (int){ 4 } 1278 } 1279 } 1280 f4: (struct){ 1281 out: (struct){ 1282 x: (int){ 5 } 1283 } 1284 } 1285 f5: (struct){ 1286 out: (struct){ 1287 x: (int){ 6 } 1288 } 1289 } 1290 f6: (struct){ 1291 out: (struct){ 1292 x: (int){ 7 } 1293 } 1294 } 1295 f7: (struct){ 1296 out: (struct){ 1297 x: (int){ 8 } 1298 } 1299 } 1300 f8: (struct){ 1301 out: (struct){ 1302 x: (int){ 9 } 1303 } 1304 } 1305 } 1306 parenthesized: (struct){ 1307 f1: (struct){ 1308 out: (struct){ 1309 x: (int){ 2 } 1310 } 1311 } 1312 f2: (struct){ 1313 out: (struct){ 1314 x: (int){ 3 } 1315 } 1316 } 1317 f3: (struct){ 1318 out: (struct){ 1319 x: (int){ 4 } 1320 } 1321 } 1322 f4: (struct){ 1323 out: (struct){ 1324 x: (int){ 5 } 1325 } 1326 } 1327 f5: (struct){ 1328 out: (struct){ 1329 x: (int){ 6 } 1330 } 1331 } 1332 f6: (struct){ 1333 out: (struct){ 1334 x: (int){ 7 } 1335 } 1336 } 1337 f7: (struct){ 1338 out: (struct){ 1339 x: (int){ 8 } 1340 } 1341 } 1342 f8: (struct){ 1343 out: (struct){ 1344 x: (int){ 9 } 1345 } 1346 } 1347 } 1348 embedded: (struct){ 1349 f1: (struct){ 1350 out: (struct){ 1351 x: (int){ 2 } 1352 } 1353 } 1354 f2: (struct){ 1355 out: (struct){ 1356 x: (int){ 3 } 1357 } 1358 } 1359 f3: (struct){ 1360 out: (struct){ 1361 x: (int){ 4 } 1362 } 1363 } 1364 f4: (struct){ 1365 out: (struct){ 1366 x: (int){ 5 } 1367 } 1368 } 1369 f5: (struct){ 1370 out: (struct){ 1371 x: (int){ 6 } 1372 } 1373 } 1374 f6: (struct){ 1375 out: (struct){ 1376 x: (int){ 7 } 1377 } 1378 } 1379 f7: (struct){ 1380 out: (struct){ 1381 x: (int){ 8 } 1382 } 1383 } 1384 f8: (struct){ 1385 out: (struct){ 1386 x: (int){ 9 } 1387 } 1388 } 1389 } 1390 embeddedWithEmpty: (struct){ 1391 f1: (struct){ 1392 out: (struct){ 1393 x: (int){ 2 } 1394 } 1395 } 1396 f2: (struct){ 1397 out: (struct){ 1398 x: (int){ 3 } 1399 } 1400 } 1401 f3: (struct){ 1402 out: (struct){ 1403 x: (int){ 4 } 1404 } 1405 } 1406 f4: (struct){ 1407 out: (struct){ 1408 x: (int){ 5 } 1409 } 1410 } 1411 f5: (struct){ 1412 out: (struct){ 1413 x: (int){ 6 } 1414 } 1415 } 1416 f6: (struct){ 1417 out: (struct){ 1418 x: (int){ 7 } 1419 } 1420 } 1421 f7: (struct){ 1422 out: (struct){ 1423 x: (int){ 8 } 1424 } 1425 } 1426 f8: (struct){ 1427 out: (struct){ 1428 x: (int){ 9 } 1429 } 1430 } 1431 } 1432 weave: (struct){ 1433 f: (struct){ 1434 out: (_|_){ 1435 // [cycle] cycle error: 1436 // ./in.cue:77:8 1437 } 1438 in: (_|_){ 1439 // [incomplete] weave.f.in: undefined field: out: 1440 // ./in.cue:78:14 1441 } 1442 ref: (struct){ 1443 } 1444 } 1445 f8: (struct){ 1446 out: (int){ 16 } 1447 in: (int){ 15 } 1448 ref: (struct){ 1449 out: (int){ 14 } 1450 in: (int){ 13 } 1451 ref: (struct){ 1452 out: (int){ 12 } 1453 in: (int){ 11 } 1454 ref: (struct){ 1455 out: (int){ 10 } 1456 in: (int){ 9 } 1457 ref: (struct){ 1458 out: (int){ 8 } 1459 in: (int){ 7 } 1460 ref: (struct){ 1461 out: (int){ 6 } 1462 in: (int){ 5 } 1463 ref: (struct){ 1464 out: (int){ 4 } 1465 in: (int){ 3 } 1466 ref: (struct){ 1467 out: (int){ 2 } 1468 } 1469 } 1470 } 1471 } 1472 } 1473 } 1474 } 1475 } 1476 f7: (struct){ 1477 out: (int){ 14 } 1478 in: (int){ 13 } 1479 ref: (struct){ 1480 out: (int){ 12 } 1481 in: (int){ 11 } 1482 ref: (struct){ 1483 out: (int){ 10 } 1484 in: (int){ 9 } 1485 ref: (struct){ 1486 out: (int){ 8 } 1487 in: (int){ 7 } 1488 ref: (struct){ 1489 out: (int){ 6 } 1490 in: (int){ 5 } 1491 ref: (struct){ 1492 out: (int){ 4 } 1493 in: (int){ 3 } 1494 ref: (struct){ 1495 out: (int){ 2 } 1496 } 1497 } 1498 } 1499 } 1500 } 1501 } 1502 } 1503 f6: (struct){ 1504 out: (int){ 12 } 1505 in: (int){ 11 } 1506 ref: (struct){ 1507 out: (int){ 10 } 1508 in: (int){ 9 } 1509 ref: (struct){ 1510 out: (int){ 8 } 1511 in: (int){ 7 } 1512 ref: (struct){ 1513 out: (int){ 6 } 1514 in: (int){ 5 } 1515 ref: (struct){ 1516 out: (int){ 4 } 1517 in: (int){ 3 } 1518 ref: (struct){ 1519 out: (int){ 2 } 1520 } 1521 } 1522 } 1523 } 1524 } 1525 } 1526 f5: (struct){ 1527 out: (int){ 10 } 1528 in: (int){ 9 } 1529 ref: (struct){ 1530 out: (int){ 8 } 1531 in: (int){ 7 } 1532 ref: (struct){ 1533 out: (int){ 6 } 1534 in: (int){ 5 } 1535 ref: (struct){ 1536 out: (int){ 4 } 1537 in: (int){ 3 } 1538 ref: (struct){ 1539 out: (int){ 2 } 1540 } 1541 } 1542 } 1543 } 1544 } 1545 f4: (struct){ 1546 out: (int){ 8 } 1547 in: (int){ 7 } 1548 ref: (struct){ 1549 out: (int){ 6 } 1550 in: (int){ 5 } 1551 ref: (struct){ 1552 out: (int){ 4 } 1553 in: (int){ 3 } 1554 ref: (struct){ 1555 out: (int){ 2 } 1556 } 1557 } 1558 } 1559 } 1560 f3: (struct){ 1561 out: (int){ 6 } 1562 in: (int){ 5 } 1563 ref: (struct){ 1564 out: (int){ 4 } 1565 in: (int){ 3 } 1566 ref: (struct){ 1567 out: (int){ 2 } 1568 } 1569 } 1570 } 1571 f2: (struct){ 1572 out: (int){ 4 } 1573 in: (int){ 3 } 1574 ref: (struct){ 1575 out: (int){ 2 } 1576 } 1577 } 1578 f1: (struct){ 1579 out: (int){ 2 } 1580 } 1581 } 1582 weaveExtraField: (struct){ 1583 f: (struct){ 1584 out: (_|_){ 1585 // [cycle] cycle error: 1586 // ./in.cue:96:8 1587 } 1588 in: (_|_){ 1589 // [incomplete] weaveExtraField.f.in: undefined field: out: 1590 // ./in.cue:97:14 1591 } 1592 ref: (struct){ 1593 y: (int){ 4 } 1594 } 1595 } 1596 f8: (struct){ 1597 out: (int){ 16 } 1598 in: (int){ 15 } 1599 ref: (struct){ 1600 y: (int){ 4 } 1601 out: (int){ 14 } 1602 in: (int){ 13 } 1603 ref: (struct){ 1604 y: (int){ 4 } 1605 out: (int){ 12 } 1606 in: (int){ 11 } 1607 ref: (struct){ 1608 y: (int){ 4 } 1609 out: (int){ 10 } 1610 in: (int){ 9 } 1611 ref: (struct){ 1612 y: (int){ 4 } 1613 out: (int){ 8 } 1614 in: (int){ 7 } 1615 ref: (struct){ 1616 y: (int){ 4 } 1617 out: (int){ 6 } 1618 in: (int){ 5 } 1619 ref: (struct){ 1620 y: (int){ 4 } 1621 out: (int){ 4 } 1622 in: (int){ 3 } 1623 ref: (struct){ 1624 y: (int){ 4 } 1625 out: (int){ 2 } 1626 } 1627 } 1628 } 1629 } 1630 } 1631 } 1632 } 1633 } 1634 f7: (struct){ 1635 out: (int){ 14 } 1636 in: (int){ 13 } 1637 ref: (struct){ 1638 y: (int){ 4 } 1639 out: (int){ 12 } 1640 in: (int){ 11 } 1641 ref: (struct){ 1642 y: (int){ 4 } 1643 out: (int){ 10 } 1644 in: (int){ 9 } 1645 ref: (struct){ 1646 y: (int){ 4 } 1647 out: (int){ 8 } 1648 in: (int){ 7 } 1649 ref: (struct){ 1650 y: (int){ 4 } 1651 out: (int){ 6 } 1652 in: (int){ 5 } 1653 ref: (struct){ 1654 y: (int){ 4 } 1655 out: (int){ 4 } 1656 in: (int){ 3 } 1657 ref: (struct){ 1658 y: (int){ 4 } 1659 out: (int){ 2 } 1660 } 1661 } 1662 } 1663 } 1664 } 1665 } 1666 } 1667 f6: (struct){ 1668 out: (int){ 12 } 1669 in: (int){ 11 } 1670 ref: (struct){ 1671 y: (int){ 4 } 1672 out: (int){ 10 } 1673 in: (int){ 9 } 1674 ref: (struct){ 1675 y: (int){ 4 } 1676 out: (int){ 8 } 1677 in: (int){ 7 } 1678 ref: (struct){ 1679 y: (int){ 4 } 1680 out: (int){ 6 } 1681 in: (int){ 5 } 1682 ref: (struct){ 1683 y: (int){ 4 } 1684 out: (int){ 4 } 1685 in: (int){ 3 } 1686 ref: (struct){ 1687 y: (int){ 4 } 1688 out: (int){ 2 } 1689 } 1690 } 1691 } 1692 } 1693 } 1694 } 1695 f5: (struct){ 1696 out: (int){ 10 } 1697 in: (int){ 9 } 1698 ref: (struct){ 1699 y: (int){ 4 } 1700 out: (int){ 8 } 1701 in: (int){ 7 } 1702 ref: (struct){ 1703 y: (int){ 4 } 1704 out: (int){ 6 } 1705 in: (int){ 5 } 1706 ref: (struct){ 1707 y: (int){ 4 } 1708 out: (int){ 4 } 1709 in: (int){ 3 } 1710 ref: (struct){ 1711 y: (int){ 4 } 1712 out: (int){ 2 } 1713 } 1714 } 1715 } 1716 } 1717 } 1718 f4: (struct){ 1719 out: (int){ 8 } 1720 in: (int){ 7 } 1721 ref: (struct){ 1722 y: (int){ 4 } 1723 out: (int){ 6 } 1724 in: (int){ 5 } 1725 ref: (struct){ 1726 y: (int){ 4 } 1727 out: (int){ 4 } 1728 in: (int){ 3 } 1729 ref: (struct){ 1730 y: (int){ 4 } 1731 out: (int){ 2 } 1732 } 1733 } 1734 } 1735 } 1736 f3: (struct){ 1737 out: (int){ 6 } 1738 in: (int){ 5 } 1739 ref: (struct){ 1740 y: (int){ 4 } 1741 out: (int){ 4 } 1742 in: (int){ 3 } 1743 ref: (struct){ 1744 y: (int){ 4 } 1745 out: (int){ 2 } 1746 } 1747 } 1748 } 1749 f2: (struct){ 1750 out: (int){ 4 } 1751 in: (int){ 3 } 1752 ref: (struct){ 1753 y: (int){ 4 } 1754 out: (int){ 2 } 1755 } 1756 } 1757 f1: (struct){ 1758 out: (int){ 2 } 1759 } 1760 } 1761 } 1762 -- out/compile -- 1763 --- in.cue 1764 { 1765 binexpr: { 1766 f1: { 1767 out: { 1768 x: 2 1769 } 1770 } 1771 f2: { 1772 out: { 1773 x: (〈2;f1〉.out.x + 1) 1774 } 1775 } 1776 f3: { 1777 out: { 1778 x: (〈2;f2〉.out.x + 1) 1779 } 1780 } 1781 f4: { 1782 out: { 1783 x: (〈2;f3〉.out.x + 1) 1784 } 1785 } 1786 f5: { 1787 out: { 1788 x: (〈2;f4〉.out.x + 1) 1789 } 1790 } 1791 f6: { 1792 out: { 1793 x: (〈2;f5〉.out.x + 1) 1794 } 1795 } 1796 f7: { 1797 out: { 1798 x: (〈2;f6〉.out.x + 1) 1799 } 1800 } 1801 f8: { 1802 out: { 1803 x: (〈2;f7〉.out.x + 1) 1804 } 1805 } 1806 } 1807 parenthesized: { 1808 f1: { 1809 out: { 1810 x: 2 1811 } 1812 } 1813 f2: { 1814 out: { 1815 x: (〈2;f1〉.out.x + 1) 1816 } 1817 } 1818 f3: { 1819 out: { 1820 x: (〈2;f2〉.out.x + 1) 1821 } 1822 } 1823 f4: { 1824 out: { 1825 x: (〈2;f3〉.out.x + 1) 1826 } 1827 } 1828 f5: { 1829 out: { 1830 x: (〈2;f4〉.out.x + 1) 1831 } 1832 } 1833 f6: { 1834 out: { 1835 x: (〈2;f5〉.out.x + 1) 1836 } 1837 } 1838 f7: { 1839 out: { 1840 x: (〈2;f6〉.out.x + 1) 1841 } 1842 } 1843 f8: { 1844 out: { 1845 x: (〈2;f7〉.out.x + 1) 1846 } 1847 } 1848 } 1849 embedded: { 1850 f1: { 1851 out: { 1852 x: 2 1853 } 1854 } 1855 f2: { 1856 out: { 1857 x: ({ 1858 〈3;f1〉.out 1859 }.x + 1) 1860 } 1861 } 1862 f3: { 1863 out: { 1864 x: ({ 1865 〈3;f2〉.out 1866 }.x + 1) 1867 } 1868 } 1869 f4: { 1870 out: { 1871 x: ({ 1872 〈3;f3〉.out 1873 }.x + 1) 1874 } 1875 } 1876 f5: { 1877 out: { 1878 x: ({ 1879 〈3;f4〉.out 1880 }.x + 1) 1881 } 1882 } 1883 f6: { 1884 out: { 1885 x: ({ 1886 〈3;f5〉.out 1887 }.x + 1) 1888 } 1889 } 1890 f7: { 1891 out: { 1892 x: ({ 1893 〈3;f6〉.out 1894 }.x + 1) 1895 } 1896 } 1897 f8: { 1898 out: { 1899 x: ({ 1900 〈3;f7〉.out 1901 }.x + 1) 1902 } 1903 } 1904 } 1905 embeddedWithEmpty: { 1906 f1: { 1907 out: { 1908 x: 2 1909 } 1910 } 1911 f2: { 1912 out: { 1913 x: ({ 1914 (〈3;f1〉.out & {}) 1915 }.x + 1) 1916 } 1917 } 1918 f3: { 1919 out: { 1920 x: ({ 1921 (〈3;f2〉.out & {}) 1922 }.x + 1) 1923 } 1924 } 1925 f4: { 1926 out: { 1927 x: ({ 1928 (〈3;f3〉.out & {}) 1929 }.x + 1) 1930 } 1931 } 1932 f5: { 1933 out: { 1934 x: ({ 1935 (〈3;f4〉.out & {}) 1936 }.x + 1) 1937 } 1938 } 1939 f6: { 1940 out: { 1941 x: ({ 1942 (〈3;f5〉.out & {}) 1943 }.x + 1) 1944 } 1945 } 1946 f7: { 1947 out: { 1948 x: ({ 1949 (〈3;f6〉.out & {}) 1950 }.x + 1) 1951 } 1952 } 1953 f8: { 1954 out: { 1955 x: ({ 1956 (〈3;f7〉.out & {}) 1957 }.x + 1) 1958 } 1959 } 1960 } 1961 weave: { 1962 f: { 1963 out: (〈0;in〉 + 1) 1964 in: (〈1〉.ref.out + 1) 1965 ref: (_ & {}) 1966 } 1967 f8: (〈0;f〉 & { 1968 ref: 〈1;f7〉 1969 }) 1970 f7: (〈0;f〉 & { 1971 ref: 〈1;f6〉 1972 }) 1973 f6: (〈0;f〉 & { 1974 ref: 〈1;f5〉 1975 }) 1976 f5: (〈0;f〉 & { 1977 ref: 〈1;f4〉 1978 }) 1979 f4: (〈0;f〉 & { 1980 ref: 〈1;f3〉 1981 }) 1982 f3: (〈0;f〉 & { 1983 ref: 〈1;f2〉 1984 }) 1985 f2: (〈0;f〉 & { 1986 ref: 〈1;f1〉 1987 }) 1988 f1: { 1989 out: 2 1990 } 1991 } 1992 weaveExtraField: { 1993 f: { 1994 out: (〈0;in〉 + 1) 1995 in: (〈1〉.ref.out + 1) 1996 ref: { 1997 y: 4 1998 } 1999 } 2000 f8: (〈0;f〉 & { 2001 ref: 〈1;f7〉 2002 }) 2003 f7: (〈0;f〉 & { 2004 ref: 〈1;f6〉 2005 }) 2006 f6: (〈0;f〉 & { 2007 ref: 〈1;f5〉 2008 }) 2009 f5: (〈0;f〉 & { 2010 ref: 〈1;f4〉 2011 }) 2012 f4: (〈0;f〉 & { 2013 ref: 〈1;f3〉 2014 }) 2015 f3: (〈0;f〉 & { 2016 ref: 〈1;f2〉 2017 }) 2018 f2: (〈0;f〉 & { 2019 ref: 〈1;f1〉 2020 }) 2021 f1: { 2022 out: 2 2023 } 2024 } 2025 }