parse/0: instruction: new parse/0: ingredient: {name: "integer", value: 0, type: 0, properties: ["integer": "type"]} parse/0: product: {name: "1", value: 0, type: 2-1, properties: ["1": "address":"integer", "raw": ]} parse/0: instruction: new parse/0: ingredient: {name: "integer", value: 0, type: 0, properties: ["integer": "type"]} parse/0: product: {name: "2", value: 0, type: 2-1, properties: ["2": "address":"integer", "raw": ]} parse/0: instruction: equal parse/0: ingredient: {name: "1", value: 0, type: 2-1, properties: ["1": "address":"integer", "raw": ]} parse/0: ingredient: {name: "2", value: 0, type: 2-1, properties: ["2": "address":"integer", "raw": ]} parse/0: product: {name: "3", value: 0, type: 3, properties: ["3": "boolean", "raw": ]} new/0: integer -> 1 new/0: integer -> 1 after-brace/0: recipe main after-brace/0: new ... after-brace/0: new ... after-brace/0: equal ... new/0: routine allocated memory from 1000 to 101000 schedule/0: main run/0: instruction main/0 run/0: {name: "1", value: 1, type: 2-1, properties: ["1": "address":"integer", "raw": ]} <- new/42 {name: "integer", value: 1, type: 0, properties: ["integer": "type"]} mem/0: new alloc: 1000 mem/0: storing 1000 in location 1 run/0: instruction main/1 run/0: {name: "2", value: 2, type: 2-1, properties: ["2": "address":"integer", "raw": ]} <- new/42 {name: "integer", value: 1, type: 0, properties: ["integer": "type"]} mem/0: new alloc: 1001 mem/0: storing 1001 in location 2 run/0: instruction main/2 run/0: {name: "3", value: 3, type: 3, properties: ["3": "boolean", "raw": ]} <- equal/13 {name: "1", value: 1, type: 2-1, properties: ["1": "address":"integer", "raw": ]}, {name: "2", value: 2, type: 2-1, properties: ["2": "address":"integer", "raw": ]} run/0: ingredient 0 is 1 mem/0: location 1 is 1000 run/0: ingredient 1 is 2 mem/0: location 2 is 1001 run/0: product 0 is 0 mem/0: storing 0 in location 3