parse/0: instruction: f parse/0: ingredient: {name: "2", value: 0, type: 0, properties: ["2": "literal"]} parse/0: product: {name: "3", value: 0, type: 1, properties: ["3": "integer"]} parse/0: product: {name: "4", value: 0, type: 1, properties: ["4": "integer"]} parse/0: instruction: next-ingredient parse/0: product: {name: "12", value: 0, type: 1, properties: ["12": "integer"]} parse/0: instruction: add parse/0: ingredient: {name: "1", value: 0, type: 0, properties: ["1": "literal"]} parse/0: ingredient: {name: "12", value: 0, type: 1, properties: ["12": "integer"]} parse/0: product: {name: "13", value: 0, type: 1, properties: ["13": "integer"]} parse/0: instruction: reply parse/0: ingredient: {name: "12", value: 0, type: 1, properties: ["12": "integer"]} parse/0: ingredient: {name: "13", value: 0, type: 1, properties: ["13": "integer"]} after-brace/0: recipe main after-brace/0: f ... after-brace/0: recipe f after-brace/0: next-ingredient ... after-brace/0: add ... after-brace/0: reply ... new/0: routine allocated memory from 1000 to 101000 schedule/0: main run/0: instruction main/0 run/0: {name: "3", value: 3, type: 1, properties: ["3": "integer"]}, {name: "4", value: 4, type: 1, properties: ["4": "integer"]} <- f {name: "2", value: 2, type: 0, properties: ["2": "literal"]} run/0: instruction f/0 run/0: {name: "12", value: 12, type: 1, properties: ["12": "integer"]} <- next-ingredient run/0: product 0 is 2 mem/0: storing 2 in location 12 run/0: instruction f/1 run/0: {name: "13", value: 13, type: 1, properties: ["13": "integer"]} <- add {name: "1", value: 1, type: 0, properties: ["1": "literal"]}, {name: "12", value: 12, type: 1, properties: ["12": "integer"]} run/0: ingredient 0 is 1 run/0: ingredient 1 is 12 mem/0: location 12 is 2 run/0: product 0 is 3 mem/0: storing 3 in location 13 run/0: instruction f/2 run/0: reply {name: "12", value: 12, type: 1, properties: ["12": "integer"]}, {name: "13", value: 13, type: 1, properties: ["13": "integer"]} mem/0: location 12 is 2 mem/0: location 13 is 3 run/0: result 0 is 2 mem/0: storing 2 in location 3 run/0: result 1 is 3 mem/0: storing 3 in location 4