about summary refs log tree commit diff stats
path: root/066stream.mu
Commit message (Collapse)AuthorAgeFilesLines
* 4134 - 'input' = 'ingredient'Kartik K. Agaram2017-12-031-6/+6
|
* 3817 - better errors on streams from null textsKartik K. Agaram2017-04-131-0/+6
| | | | Thanks Ella Couch for reporting this issue.
* 3390Kartik K. Agaram2016-09-171-5/+5
|
* 3389Kartik K. Agaram2016-09-171-12/+12
|
* 3386Kartik K. Agaram2016-09-171-6/+6
|
* 3385Kartik K. Agaram2016-09-171-9/+9
|
* 3379Kartik K. Agaram2016-09-171-1/+1
| | | | Can't use type abbreviations inside 'memory-should-contain'.
* 3341Kartik K. Agaram2016-09-121-1/+1
| | | | | | | Process type abbreviations in function headers. Still a couple of places where doing this causes strange errors. We'll track those down next.
* 3337 - first use of type abbreviations: textKartik K. Agaram2016-09-121-2/+2
| | | | | In the process I've uncover a couple of situations we don't support type abbreviations yet. They're next.
* 3156Kartik K. Agaram2016-07-271-14/+24
| | | | Make 'stream' generic.
* 3155Kartik K. Agaram2016-07-271-2/+2
|
* 3154 - reorg before making 'random' more testableKartik K. Agaram2016-07-271-0/+64
|
* 2430 - make room for more transformsKartik K. Agaram2015-11-131-44/+0
|
* 2225Kartik K. Agaram2015-10-011-1/+1
|
* 1883 - type-deducing in more .mu filesKartik K. Agaram2015-07-291-19/+19
|
* 1869 - rename the /deref property to /lookupKartik K. Agaram2015-07-281-14/+14
| | | | Should be a little bit more mnemonic.
* 1868 - start using naked literals everywhereKartik K. Agaram2015-07-281-4/+4
| | | | First step to reducing typing burden. Next step: inferring types.
* 1780 - now we always reclaim local scopesKartik K. Agaram2015-07-131-4/+4
| | | | | | But still no difference in either memory footprint or in running time. This will teach me -- for the umpteenth time -- to optimize before measuring.
* 1773 - update all mu recipes to new-default-spaceKartik K. Agaram2015-07-131-4/+4
| | | | | Turns out to not affect memory utilization or run-time. At all. But still looks nicer and requires less fudging on our part.
* 1597 - port more helpers from arc versionKartik K. Agaram2015-06-191-0/+44
373'>373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760
parse/0: instruction: 35
parse/0:   ingredient: {name: "hello, _", value: 0, type: 0, properties: ["hello, _": "literal-string"]}
parse/0:   product: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "raw": ]}
parse/0: instruction: 35
parse/0:   ingredient: {name: "abc", value: 0, type: 0, properties: ["abc": "literal-string"]}
parse/0:   product: {name: "2", value: 0, type: 2-5-4, properties: ["2": "address":"array":"character", "raw": ]}
parse/0: instruction: 107
parse/0:   ingredient: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "raw": ]}
parse/0:   ingredient: {name: "2", value: 0, type: 2-5-4, properties: ["2": "address":"array":"character", "raw": ]}
parse/0:   product: {name: "3", value: 0, type: 2-5-4, properties: ["3": "address":"array":"character", "raw": ]}
parse/0: instruction: 1
parse/0:   ingredient: {name: "3", value: 0, type: 2-5-4, properties: ["3": "address":"array":"character", "raw": , "deref": ]}
parse/0:   product: {name: "4", value: 0, type: 5-4, properties: ["4": "array":"character", "raw": ]}
new/0: hello, _ -> 0
new/0: abc -> 0
after-brace/0: recipe test-interpolate-at-end
after-brace/0: new ...
after-brace/0: new ...
after-brace/0: interpolate ...
after-brace/0: copy ...
run/0: instruction test-interpolate-at-end/0
mem/0: storing 1000 in location 1
run/0: instruction test-interpolate-at-end/1
mem/0: storing 1009 in location 2
run/0: instruction test-interpolate-at-end/2
mem/0: location 1 is 1000
mem/0: location 2 is 1009
run/0: instruction interpolate/0
mem/0: new alloc: 1013
mem/0: array size is 60
run/0: instruction interpolate/1
run/0: product 0 is 1000
mem/0: storing 1000 in location 1015
run/0: instruction interpolate/2
mem/0: location 1015 is 1000
mem/0: storing 8 in location 1016
run/0: instruction interpolate/3
run/0: ingredient 0 is tem-len
mem/0: location 1016 is 8
mem/0: storing 8 in location 1017
run/0: instruction interpolate/5
run/0: product 0 is 1009
mem/0: storing 1009 in location 1018
mem/0: storing 1 in location 1019
run/0: instruction interpolate/6
mem/0: location 1019 is 1
run/0: ingredient 0 is 1
run/0: jump-unless fell through
run/0: instruction interpolate/7
mem/0: location 1018 is 1009
mem/0: storing 3 in location 1020
run/0: instruction interpolate/8
run/0: ingredient 0 is result-len
mem/0: location 1017 is 8
run/0: ingredient 1 is a-len
mem/0: location 1020 is 3
run/0: product 0 is 11
mem/0: storing 11 in location 1017
run/0: instruction interpolate/9
run/0: ingredient 0 is result-len
mem/0: location 1017 is 11
run/0: ingredient 1 is 1
run/0: product 0 is 10
mem/0: storing 10 in location 1017
run/0: instruction interpolate/10
run/0: ingredient 0 is -6
run/0: pc now 4
run/0: instruction interpolate/5
mem/0: storing 0 in location 1019
run/0: instruction interpolate/6
mem/0: location 1019 is 0
run/0: ingredient 0 is 0
run/0: ingredient 1 is 
run/0: jumping to instruction 11
run/0: instruction interpolate/12
run/0: instruction interpolate/13
run/0: product 0 is 1000
run/0: instruction interpolate/14
mem/0: new alloc: 1073
mem/0: storing 1073 in location 1021
mem/0: location 1017 is 10
mem/0: array size is 10
run/0: instruction interpolate/15
run/0: ingredient 0 is 0
mem/0: storing 0 in location 1022
run/0: instruction interpolate/16
run/0: ingredient 0 is 0
mem/0: storing 0 in location 1023
run/0: instruction interpolate/18
run/0: product 0 is 1009
mem/0: storing 1009 in location 1018
mem/0: storing 1 in location 1019
run/0: instruction interpolate/19
mem/0: location 1019 is 1
run/0: ingredient 0 is 1
run/0: jump-unless fell through
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1023 is 0
run/0: ingredient 1 is tem-len
mem/0: location 1016 is 8
run/0: product 0 is 0
mem/0: storing 0 in location 1024
run/0: instruction interpolate/22
mem/0: location 1024 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1023 is 0
run/0: address to copy is 1001
run/0: its type is 4
mem/0: location 1001 is 104
run/0: product 0 is 104
mem/0: storing 104 in location 1025
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1025 is 104
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1026
run/0: instruction interpolate/25
mem/0: location 1026 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1021 is 1073
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1022 is 0
run/0: address to copy is 1074
run/0: product 0 is 1074
mem/0: storing 1074 in location 1027
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1025 is 104
mem/0: location 1027 is 1074
mem/0: storing 104 in location 1074
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1023 is 0
run/0: ingredient 1 is 1
run/0: product 0 is 1
mem/0: storing 1 in location 1023
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1022 is 0
run/0: ingredient 1 is 1
run/0: product 0 is 1
mem/0: storing 1 in location 1022
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: pc now 20
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1023 is 1
run/0: ingredient 1 is tem-len
mem/0: location 1016 is 8
run/0: product 0 is 0
mem/0: storing 0 in location 1024
run/0: instruction interpolate/22
mem/0: location 1024 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1023 is 1
run/0: address to copy is 1002
run/0: its type is 4
mem/0: location 1002 is 101
run/0: product 0 is 101
mem/0: storing 101 in location 1025
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1025 is 101
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1026
run/0: instruction interpolate/25
mem/0: location 1026 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1021 is 1073
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1022 is 1
run/0: address to copy is 1075
run/0: product 0 is 1075
mem/0: storing 1075 in location 1027
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1025 is 101
mem/0: location 1027 is 1075
mem/0: storing 101 in location 1075
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1023 is 1
run/0: ingredient 1 is 1
run/0: product 0 is 2
mem/0: storing 2 in location 1023
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1022 is 1
run/0: ingredient 1 is 1
run/0: product 0 is 2
mem/0: storing 2 in location 1022
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: pc now 20
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1023 is 2
run/0: ingredient 1 is tem-len
mem/0: location 1016 is 8
run/0: product 0 is 0
mem/0: storing 0 in location 1024
run/0: instruction interpolate/22
mem/0: location 1024 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1023 is 2
run/0: address to copy is 1003
run/0: its type is 4
mem/0: location 1003 is 108
run/0: product 0 is 108
mem/0: storing 108 in location 1025
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1025 is 108
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1026
run/0: instruction interpolate/25
mem/0: location 1026 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1021 is 1073
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1022 is 2
run/0: address to copy is 1076
run/0: product 0 is 1076
mem/0: storing 1076 in location 1027
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1025 is 108
mem/0: location 1027 is 1076
mem/0: storing 108 in location 1076
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1023 is 2
run/0: ingredient 1 is 1
run/0: product 0 is 3
mem/0: storing 3 in location 1023
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1022 is 2
run/0: ingredient 1 is 1
run/0: product 0 is 3
mem/0: storing 3 in location 1022
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: pc now 20
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1023 is 3
run/0: ingredient 1 is tem-len
mem/0: location 1016 is 8
run/0: product 0 is 0
mem/0: storing 0 in location 1024
run/0: instruction interpolate/22
mem/0: location 1024 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1023 is 3
run/0: address to copy is 1004
run/0: its type is 4
mem/0: location 1004 is 108
run/0: product 0 is 108
mem/0: storing 108 in location 1025
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1025 is 108
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1026
run/0: instruction interpolate/25
mem/0: location 1026 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1021 is 1073
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1022 is 3
run/0: address to copy is 1077
run/0: product 0 is 1077
mem/0: storing 1077 in location 1027
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1025 is 108
mem/0: location 1027 is 1077
mem/0: storing 108 in location 1077
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1023 is 3
run/0: ingredient 1 is 1
run/0: product 0 is 4
mem/0: storing 4 in location 1023
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1022 is 3
run/0: ingredient 1 is 1
run/0: product 0 is 4
mem/0: storing 4 in location 1022
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: pc now 20
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1023 is 4
run/0: ingredient 1 is tem-len
mem/0: location 1016 is 8
run/0: product 0 is 0
mem/0: storing 0 in location 1024
run/0: instruction interpolate/22
mem/0: location 1024 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1023 is 4
run/0: address to copy is 1005
run/0: its type is 4
mem/0: location 1005 is 111
run/0: product 0 is 111
mem/0: storing 111 in location 1025
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1025 is 111
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1026
run/0: instruction interpolate/25
mem/0: location 1026 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1021 is 1073
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1022 is 4
run/0: address to copy is 1078
run/0: product 0 is 1078
mem/0: storing 1078 in location 1027
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1025 is 111
mem/0: location 1027 is 1078
mem/0: storing 111 in location 1078
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1023 is 4
run/0: ingredient 1 is 1
run/0: product 0 is 5
mem/0: storing 5 in location 1023
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1022 is 4
run/0: ingredient 1 is 1
run/0: product 0 is 5
mem/0: storing 5 in location 1022
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: pc now 20
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1023 is 5
run/0: ingredient 1 is tem-len
mem/0: location 1016 is 8
run/0: product 0 is 0
mem/0: storing 0 in location 1024
run/0: instruction interpolate/22
mem/0: location 1024 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1023 is 5
run/0: address to copy is 1006
run/0: its type is 4
mem/0: location 1006 is 44
run/0: product 0 is 44
mem/0: storing 44 in location 1025
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1025 is 44
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1026
run/0: instruction interpolate/25
mem/0: location 1026 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1021 is 1073
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1022 is 5
run/0: address to copy is 1079
run/0: product 0 is 1079
mem/0: storing 1079 in location 1027
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1025 is 44
mem/0: location 1027 is 1079
mem/0: storing 44 in location 1079
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1023 is 5
run/0: ingredient 1 is 1
run/0: product 0 is 6
mem/0: storing 6 in location 1023
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1022 is 5
run/0: ingredient 1 is 1
run/0: product 0 is 6
mem/0: storing 6 in location 1022
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: pc now 20
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1023 is 6
run/0: ingredient 1 is tem-len
mem/0: location 1016 is 8
run/0: product 0 is 0
mem/0: storing 0 in location 1024
run/0: instruction interpolate/22
mem/0: location 1024 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1023 is 6
run/0: address to copy is 1007
run/0: its type is 4
mem/0: location 1007 is 32
run/0: product 0 is 32
mem/0: storing 32 in location 1025
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1025 is 32
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1026
run/0: instruction interpolate/25
mem/0: location 1026 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1021 is 1073
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1022 is 6
run/0: address to copy is 1080
run/0: product 0 is 1080
mem/0: storing 1080 in location 1027
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1025 is 32
mem/0: location 1027 is 1080
mem/0: storing 32 in location 1080
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1023 is 6
run/0: ingredient 1 is 1
run/0: product 0 is 7
mem/0: storing 7 in location 1023
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1022 is 6
run/0: ingredient 1 is 1
run/0: product 0 is 7
mem/0: storing 7 in location 1022
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: pc now 20
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1023 is 7
run/0: ingredient 1 is tem-len
mem/0: location 1016 is 8
run/0: product 0 is 0
mem/0: storing 0 in location 1024
run/0: instruction interpolate/22
mem/0: location 1024 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1023 is 7
run/0: address to copy is 1008
run/0: its type is 4
mem/0: location 1008 is 95
run/0: product 0 is 95
mem/0: storing 95 in location 1025
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1025 is 95
run/0: ingredient 1 is 95
run/0: product 0 is 1
mem/0: storing 1 in location 1026
run/0: instruction interpolate/25
mem/0: location 1026 is 1
run/0: ingredient 0 is 1
run/0: ingredient 1 is 
run/0: jumping to instruction 31
run/0: instruction interpolate/32
run/0: ingredient 0 is 0
mem/0: storing 0 in location 1028
run/0: instruction interpolate/34
run/0: ingredient 0 is j
mem/0: location 1028 is 0
run/0: ingredient 1 is a-len
mem/0: location 1020 is 3
run/0: product 0 is 0
mem/0: storing 0 in location 1029
run/0: instruction interpolate/35
mem/0: location 1029 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/36
run/0: ingredient 0 is {name: "a", value: 4, type: 2-5-4, properties: ["a": "address":"array":"character", "deref": ]}
mem/0: location 1018 is 1009
run/0: ingredient 1 is {name: "j", value: 14, type: 1, properties: ["j": "integer"]}
mem/0: location 1028 is 0
run/0: address to copy is 1010
run/0: its type is 4
mem/0: location 1010 is 97
run/0: product 0 is 97
mem/0: storing 97 in location 1025
run/0: instruction interpolate/37
run/0: ingredient 0 is result
mem/0: location 1021 is 1073
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1022 is 7
run/0: address to copy is 1081
run/0: product 0 is 1081
mem/0: storing 1081 in location 1027
run/0: instruction interpolate/38
run/0: ingredient 0 is in
mem/0: location 1025 is 97
mem/0: location 1027 is 1081
mem/0: storing 97 in location 1081
run/0: instruction interpolate/39
run/0: ingredient 0 is j
mem/0: location 1028 is 0
run/0: ingredient 1 is 1
run/0: product 0 is 1
mem/0: storing 1 in location 1028
run/0: instruction interpolate/40
run/0: ingredient 0 is result-idx
mem/0: location 1022 is 7
run/0: ingredient 1 is 1
run/0: product 0 is 8
mem/0: storing 8 in location 1022
run/0: instruction interpolate/41
run/0: ingredient 0 is -8
run/0: pc now 33
run/0: instruction interpolate/34
run/0: ingredient 0 is j
mem/0: location 1028 is 1
run/0: ingredient 1 is a-len
mem/0: location 1020 is 3
run/0: product 0 is 0
mem/0: storing 0 in location 1029
run/0: instruction interpolate/35
mem/0: location 1029 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/36
run/0: ingredient 0 is {name: "a", value: 4, type: 2-5-4, properties: ["a": "address":"array":"character", "deref": ]}
mem/0: location 1018 is 1009
run/0: ingredient 1 is {name: "j", value: 14, type: 1, properties: ["j": "integer"]}
mem/0: location 1028 is 1
run/0: address to copy is 1011
run/0: its type is 4
mem/0: location 1011 is 98
run/0: product 0 is 98
mem/0: storing 98 in location 1025
run/0: instruction interpolate/37
run/0: ingredient 0 is result
mem/0: location 1021 is 1073
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1022 is 8
run/0: address to copy is 1082
run/0: product 0 is 1082
mem/0: storing 1082 in location 1027
run/0: instruction interpolate/38
run/0: ingredient 0 is in
mem/0: location 1025 is 98
mem/0: location 1027 is 1082
mem/0: storing 98 in location 1082
run/0: instruction interpolate/39
run/0: ingredient 0 is j
mem/0: location 1028 is 1
run/0: ingredient 1 is 1
run/0: product 0 is 2
mem/0: storing 2 in location 1028
run/0: instruction interpolate/40
run/0: ingredient 0 is result-idx
mem/0: location 1022 is 8
run/0: ingredient 1 is 1
run/0: product 0 is 9
mem/0: storing 9 in location 1022
run/0: instruction interpolate/41
run/0: ingredient 0 is -8
run/0: pc now 33
run/0: instruction interpolate/34
run/0: ingredient 0 is j
mem/0: location 1028 is 2
run/0: ingredient 1 is a-len
mem/0: location 1020 is 3
run/0: product 0 is 0
mem/0: storing 0 in location 1029
run/0: instruction interpolate/35
mem/0: location 1029 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/36
run/0: ingredient 0 is {name: "a", value: 4, type: 2-5-4, properties: ["a": "address":"array":"character", "deref": ]}
mem/0: location 1018 is 1009
run/0: ingredient 1 is {name: "j", value: 14, type: 1, properties: ["j": "integer"]}
mem/0: location 1028 is 2
run/0: address to copy is 1012
run/0: its type is 4
mem/0: location 1012 is 99
run/0: product 0 is 99
mem/0: storing 99 in location 1025
run/0: instruction interpolate/37
run/0: ingredient 0 is result
mem/0: location 1021 is 1073
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1022 is 9
run/0: address to copy is 1083
run/0: product 0 is 1083
mem/0: storing 1083 in location 1027
run/0: instruction interpolate/38
run/0: ingredient 0 is in
mem/0: location 1025 is 99
mem/0: location 1027 is 1083
mem/0: storing 99 in location 1083
run/0: instruction interpolate/39
run/0: ingredient 0 is j
mem/0: location 1028 is 2
run/0: ingredient 1 is 1
run/0: product 0 is 3
mem/0: storing 3 in location 1028
run/0: instruction interpolate/40
run/0: ingredient 0 is result-idx
mem/0: location 1022 is 9
run/0: ingredient 1 is 1
run/0: product 0 is 10
mem/0: storing 10 in location 1022
run/0: instruction interpolate/41
run/0: ingredient 0 is -8
run/0: pc now 33
run/0: instruction interpolate/34
run/0: ingredient 0 is j
mem/0: location 1028 is 3
run/0: ingredient 1 is a-len
mem/0: location 1020 is 3
run/0: product 0 is 1
mem/0: storing 1 in location 1029
run/0: instruction interpolate/35
mem/0: location 1029 is 1
run/0: ingredient 0 is 1
run/0: ingredient 1 is 
run/0: jumping to instruction 42
run/0: instruction interpolate/43
run/0: ingredient 0 is i
mem/0: location 1023 is 7
run/0: ingredient 1 is 1
run/0: product 0 is 8
mem/0: storing 8 in location 1023
run/0: instruction interpolate/44
run/0: ingredient 0 is -27
run/0: pc now 17
run/0: instruction interpolate/18
mem/0: storing 0 in location 1019
run/0: instruction interpolate/19
mem/0: location 1019 is 0
run/0: ingredient 0 is 0
run/0: ingredient 1 is 
run/0: jumping to instruction 45
run/0: instruction interpolate/47
run/0: ingredient 0 is i
mem/0: location 1023 is 8
run/0: ingredient 1 is tem-len
mem/0: location 1016 is 8
run/0: product 0 is 1
mem/0: storing 1 in location 1024
run/0: instruction interpolate/48
mem/0: location 1024 is 1
run/0: ingredient 0 is 1
run/0: ingredient 1 is 
run/0: jumping to instruction 55
run/0: instruction interpolate/56
mem/0: location 1021 is 1073
run/0: result 0 is 1073
mem/0: storing 1073 in location 3
run/0: instruction test-interpolate-at-end/3
run/0: ingredient 0 is 3
mem/0: location 3 is 1073
mem/0: location 1073 is 10
mem/0: location 1074 is 104
mem/0: location 1075 is 101
mem/0: location 1076 is 108
mem/0: location 1077 is 108
mem/0: location 1078 is 111
mem/0: location 1079 is 44
mem/0: location 1080 is 32
mem/0: location 1081 is 97
mem/0: location 1082 is 98
mem/0: location 1083 is 99
mem/0: storing 10 in location 4
mem/0: storing 104 in location 5
mem/0: storing 101 in location 6
mem/0: storing 108 in location 7
mem/0: storing 108 in location 8
mem/0: storing 111 in location 9
mem/0: storing 44 in location 10
mem/0: storing 32 in location 11
mem/0: storing 97 in location 12
mem/0: storing 98 in location 13
mem/0: storing 99 in location 14