about summary refs log tree commit diff stats
path: root/cpp/.traces/channel-wrap
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/.traces/channel-wrap')
-rw-r--r--cpp/.traces/channel-wrap148
1 files changed, 74 insertions, 74 deletions
diff --git a/cpp/.traces/channel-wrap b/cpp/.traces/channel-wrap
index 04a7cd13..dc636db0 100644
--- a/cpp/.traces/channel-wrap
+++ b/cpp/.traces/channel-wrap
@@ -48,7 +48,7 @@ after-brace/0: memory-should-contain ...
 new/0: routine allocated memory from 1000 to 101000
 schedule/0: channel-wrap
 run/0: instruction channel-wrap/0
-run/0: run/42 {name: "
+run/0: run/43 {name: "
     # channel with just 1 slot
     1:address:channel <- init-channel 1:literal/capacity
     # write and read a value
@@ -131,15 +131,15 @@ after-brace/0: get ...
 run/0: instruction run1001/0
 run/0: {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel"]} <- init-channel/108 {name: "1", value: 1, type: 0, properties: ["1": "literal", "capacity": ]}
 run/0: instruction init-channel/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1000
 run/0: instruction init-channel/1
-run/0: {name: "result", value: 1, type: 2-10, properties: ["result": "address":"channel"]} <- new/41 {name: "channel", value: 10, type: 0, properties: ["channel": "type"]}
+run/0: {name: "result", value: 1, type: 2-10, properties: ["result": "address":"channel"]} <- new/42 {name: "channel", value: 10, type: 0, properties: ["channel": "type"]}
 mem/0: new alloc: 1031
 mem/0: storing 1031 in location 1002
 run/0: instruction init-channel/2
-run/0: {name: "full", value: 2, type: 2-1, properties: ["full": "address":"integer"]} <- get-address/24 {name: "result", value: 1, type: 2-10, properties: ["result": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
+run/0: {name: "full", value: 2, type: 2-1, properties: ["full": "address":"integer"]} <- get-address/25 {name: "result", value: 1, type: 2-10, properties: ["result": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
 run/0: ingredient 0 is result
 mem/0: location 1002 is 1031
 run/0: ingredient 1 is first-full
@@ -152,7 +152,7 @@ run/0: ingredient 0 is 0
 mem/0: location 1003 is 1031
 mem/0: storing 0 in location 1031
 run/0: instruction init-channel/4
-run/0: {name: "free", value: 3, type: 2-1, properties: ["free": "address":"integer"]} <- get-address/24 {name: "result", value: 1, type: 2-10, properties: ["result": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
+run/0: {name: "free", value: 3, type: 2-1, properties: ["free": "address":"integer"]} <- get-address/25 {name: "result", value: 1, type: 2-10, properties: ["result": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
 run/0: ingredient 0 is result
 mem/0: location 1002 is 1031
 run/0: ingredient 1 is first-free
@@ -165,7 +165,7 @@ run/0: ingredient 0 is 0
 mem/0: location 1004 is 1032
 mem/0: storing 0 in location 1032
 run/0: instruction init-channel/6
-run/0: {name: "capacity", value: 4, type: 1, properties: ["capacity": "integer"]} <- next-ingredient/29 
+run/0: {name: "capacity", value: 4, type: 1, properties: ["capacity": "integer"]} <- next-ingredient/30 
 run/0: product 0 is 1
 mem/0: storing 1 in location 1005
 run/0: instruction init-channel/7
@@ -176,7 +176,7 @@ run/0: ingredient 1 is 1
 run/0: product 0 is 2
 mem/0: storing 2 in location 1005
 run/0: instruction init-channel/8
-run/0: {name: "dest", value: 5, type: 2-2-5-1, properties: ["dest": "address":"address":"array":"location"]} <- get-address/24 {name: "result", value: 1, type: 2-10, properties: ["result": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
+run/0: {name: "dest", value: 5, type: 2-2-5-1, properties: ["dest": "address":"address":"array":"location"]} <- get-address/25 {name: "result", value: 1, type: 2-10, properties: ["result": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
 run/0: ingredient 0 is result
 mem/0: location 1002 is 1031
 run/0: ingredient 1 is data
@@ -184,14 +184,14 @@ run/0: address to copy is 1033
 run/0: product 0 is 1033
 mem/0: storing 1033 in location 1006
 run/0: instruction init-channel/9
-run/0: {name: "dest", value: 5, type: 2-2-5-1, properties: ["dest": "address":"address":"array":"location", "deref": ]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "capacity", value: 4, type: 1, properties: ["capacity": "integer"]}
+run/0: {name: "dest", value: 5, type: 2-2-5-1, properties: ["dest": "address":"address":"array":"location", "deref": ]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "capacity", value: 4, type: 1, properties: ["capacity": "integer"]}
 mem/0: location 1005 is 2
 mem/0: array size is 2
 mem/0: new alloc: 1034
 mem/0: location 1006 is 1033
 mem/0: storing 1034 in location 1033
 run/0: instruction init-channel/10
-run/0: reply/32 {name: "result", value: 1, type: 2-10, properties: ["result": "address":"channel"]}
+run/0: reply/33 {name: "result", value: 1, type: 2-10, properties: ["result": "address":"channel"]}
 mem/0: location 1002 is 1031
 run/0: result 0 is 1031
 mem/0: storing 1031 in location 1
@@ -199,30 +199,30 @@ run/0: instruction run1001/1
 run/0: {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel"]} <- write/109 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel"]}, {name: "34", value: 34, type: 0, properties: ["34": "literal"]}
 mem/0: location 1 is 1031
 run/0: instruction write/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1037
 run/0: instruction write/1
-run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/29 
+run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/30 
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1039
 run/0: instruction write/2
-run/0: {name: "val", value: 2, type: 1, properties: ["val": "location"]} <- next-ingredient/29 
+run/0: {name: "val", value: 2, type: 1, properties: ["val": "location"]} <- next-ingredient/30 
 run/0: product 0 is 34
 mem/0: storing 34 in location 1040
 run/0: instruction write/4
 run/0: {name: "full", value: 3, type: 3, properties: ["full": "boolean"]} <- channel-full?/110 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]}
 mem/0: location 1039 is 1031
 run/0: instruction channel-full?/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1068
 run/0: instruction channel-full?/1
-run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/29 
+run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/30 
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1070
 run/0: instruction channel-full?/2
-run/0: {name: "tmp", value: 2, type: 1, properties: ["tmp": "integer"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
+run/0: {name: "tmp", value: 2, type: 1, properties: ["tmp": "integer"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1070 is 1031
 run/0: ingredient 1 is first-free
@@ -242,15 +242,15 @@ run/0: instruction channel-full?/5
 run/0: {name: "len", value: 3, type: 1, properties: ["len": "integer"]} <- channel-capacity/113 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]}
 mem/0: location 1070 is 1031
 run/0: instruction channel-capacity/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1099
 run/0: instruction channel-capacity/1
-run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/29 
+run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/30 
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1101
 run/0: instruction channel-capacity/2
-run/0: {name: "q", value: 2, type: 2-5-1, properties: ["q": "address":"array":"location"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
+run/0: {name: "q", value: 2, type: 2-5-1, properties: ["q": "address":"array":"location"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1101 is 1031
 run/0: ingredient 1 is data
@@ -260,11 +260,11 @@ mem/0: location 1033 is 1034
 run/0: product 0 is 1034
 mem/0: storing 1034 in location 1102
 run/0: instruction channel-capacity/3
-run/0: {name: "result", value: 3, type: 1, properties: ["result": "integer"]} <- length/27 {name: "q", value: 2, type: 2-5-1, properties: ["q": "address":"array":"location", "deref": ]}
+run/0: {name: "result", value: 3, type: 1, properties: ["result": "integer"]} <- length/28 {name: "q", value: 2, type: 2-5-1, properties: ["q": "address":"array":"location", "deref": ]}
 mem/0: location 1102 is 1034
 mem/0: storing 2 in location 1103
 run/0: instruction channel-capacity/4
-run/0: reply/32 {name: "result", value: 3, type: 1, properties: ["result": "integer"]}
+run/0: reply/33 {name: "result", value: 3, type: 1, properties: ["result": "integer"]}
 mem/0: location 1103 is 2
 run/0: result 0 is 2
 mem/0: storing 2 in location 1072
@@ -283,7 +283,7 @@ run/0: ingredient 0 is 0
 run/0: ingredient 1 is 
 run/0: jumping to instruction 9
 run/0: instruction channel-full?/10
-run/0: {name: "full", value: 5, type: 1, properties: ["full": "integer"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
+run/0: {name: "full", value: 5, type: 1, properties: ["full": "integer"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1070 is 1031
 run/0: ingredient 1 is first-full
@@ -301,7 +301,7 @@ mem/0: location 1071 is 1
 run/0: product 0 is 0
 mem/0: storing 0 in location 1075
 run/0: instruction channel-full?/12
-run/0: reply/32 {name: "result", value: 6, type: 3, properties: ["result": "boolean"]}
+run/0: reply/33 {name: "result", value: 6, type: 3, properties: ["result": "boolean"]}
 mem/0: location 1075 is 0
 run/0: result 0 is 0
 mem/0: storing 0 in location 1041
@@ -312,7 +312,7 @@ run/0: ingredient 0 is 0
 run/0: ingredient 1 is 
 run/0: jumping to instruction 8
 run/0: instruction write/9
-run/0: {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
+run/0: {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1039 is 1031
 run/0: ingredient 1 is data
@@ -322,7 +322,7 @@ mem/0: location 1033 is 1034
 run/0: product 0 is 1034
 mem/0: storing 1034 in location 1043
 run/0: instruction write/10
-run/0: {name: "free", value: 6, type: 2-1, properties: ["free": "address":"integer"]} <- get-address/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
+run/0: {name: "free", value: 6, type: 2-1, properties: ["free": "address":"integer"]} <- get-address/25 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1039 is 1031
 run/0: ingredient 1 is first-free
@@ -330,7 +330,7 @@ run/0: address to copy is 1032
 run/0: product 0 is 1032
 mem/0: storing 1032 in location 1044
 run/0: instruction write/11
-run/0: {name: "dest", value: 7, type: 2-1, properties: ["dest": "address":"location"]} <- index-address/26 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}, {name: "free", value: 6, type: 2-1, properties: ["free": "address":"integer", "deref": ]}
+run/0: {name: "dest", value: 7, type: 2-1, properties: ["dest": "address":"location"]} <- index-address/27 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}, {name: "free", value: 6, type: 2-1, properties: ["free": "address":"integer", "deref": ]}
 run/0: ingredient 0 is circular-buffer
 mem/0: location 1043 is 1034
 run/0: ingredient 1 is {name: "free", value: 6, type: 2-1, properties: ["free": "address":"integer", "deref": ]}
@@ -355,7 +355,7 @@ run/0: product 0 is 1
 mem/0: location 1044 is 1032
 mem/0: storing 1 in location 1032
 run/0: instruction write/15
-run/0: {name: "len", value: 8, type: 1, properties: ["len": "integer"]} <- length/27 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}
+run/0: {name: "len", value: 8, type: 1, properties: ["len": "integer"]} <- length/28 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}
 mem/0: location 1043 is 1034
 mem/0: storing 2 in location 1046
 run/0: instruction write/16
@@ -374,7 +374,7 @@ run/0: ingredient 0 is 0
 run/0: ingredient 1 is 
 run/0: jumping to instruction 19
 run/0: instruction write/20
-run/0: reply/32 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "same-as-ingredient": "0"]}
+run/0: reply/33 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "same-as-ingredient": "0"]}
 mem/0: location 1039 is 1031
 run/0: result 0 is 1031
 mem/0: storing 1031 in location 1
@@ -382,26 +382,26 @@ run/0: instruction run1001/2
 run/0: {name: "_", value: 0, type: 0, properties: ["_": "dummy"]}, {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel"]} <- read/111 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel"]}
 mem/0: location 1 is 1031
 run/0: instruction read/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1130
 run/0: instruction read/1
-run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/29 
+run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/30 
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1132
 run/0: instruction read/3
 run/0: {name: "empty", value: 2, type: 3, properties: ["empty": "boolean"]} <- channel-empty?/112 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]}
 mem/0: location 1132 is 1031
 run/0: instruction channel-empty?/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1161
 run/0: instruction channel-empty?/1
-run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/29 
+run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/30 
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1163
 run/0: instruction channel-empty?/2
-run/0: {name: "full", value: 2, type: 1, properties: ["full": "integer"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
+run/0: {name: "full", value: 2, type: 1, properties: ["full": "integer"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1163 is 1031
 run/0: ingredient 1 is first-full
@@ -411,7 +411,7 @@ mem/0: location 1031 is 0
 run/0: product 0 is 0
 mem/0: storing 0 in location 1164
 run/0: instruction channel-empty?/3
-run/0: {name: "free", value: 3, type: 1, properties: ["free": "integer"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
+run/0: {name: "free", value: 3, type: 1, properties: ["free": "integer"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1163 is 1031
 run/0: ingredient 1 is first-free
@@ -429,7 +429,7 @@ mem/0: location 1165 is 1
 run/0: product 0 is 0
 mem/0: storing 0 in location 1166
 run/0: instruction channel-empty?/5
-run/0: reply/32 {name: "result", value: 4, type: 3, properties: ["result": "boolean"]}
+run/0: reply/33 {name: "result", value: 4, type: 3, properties: ["result": "boolean"]}
 mem/0: location 1166 is 0
 run/0: result 0 is 0
 mem/0: storing 0 in location 1133
@@ -440,7 +440,7 @@ run/0: ingredient 0 is 0
 run/0: ingredient 1 is 
 run/0: jumping to instruction 7
 run/0: instruction read/8
-run/0: {name: "full", value: 4, type: 2-1, properties: ["full": "address":"integer"]} <- get-address/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
+run/0: {name: "full", value: 4, type: 2-1, properties: ["full": "address":"integer"]} <- get-address/25 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1132 is 1031
 run/0: ingredient 1 is first-full
@@ -448,7 +448,7 @@ run/0: address to copy is 1031
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1135
 run/0: instruction read/9
-run/0: {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
+run/0: {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1132 is 1031
 run/0: ingredient 1 is data
@@ -458,7 +458,7 @@ mem/0: location 1033 is 1034
 run/0: product 0 is 1034
 mem/0: storing 1034 in location 1136
 run/0: instruction read/10
-run/0: {name: "result", value: 6, type: 1, properties: ["result": "location"]} <- index/25 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}, {name: "full", value: 4, type: 2-1, properties: ["full": "address":"integer", "deref": ]}
+run/0: {name: "result", value: 6, type: 1, properties: ["result": "location"]} <- index/26 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}, {name: "full", value: 4, type: 2-1, properties: ["full": "address":"integer", "deref": ]}
 run/0: ingredient 0 is {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}
 mem/0: location 1136 is 1034
 run/0: ingredient 1 is {name: "full", value: 4, type: 2-1, properties: ["full": "address":"integer", "deref": ]}
@@ -479,7 +479,7 @@ run/0: product 0 is 1
 mem/0: location 1135 is 1031
 mem/0: storing 1 in location 1031
 run/0: instruction read/13
-run/0: {name: "len", value: 7, type: 1, properties: ["len": "integer"]} <- length/27 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}
+run/0: {name: "len", value: 7, type: 1, properties: ["len": "integer"]} <- length/28 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}
 mem/0: location 1136 is 1034
 mem/0: storing 2 in location 1138
 run/0: instruction read/14
@@ -498,14 +498,14 @@ run/0: ingredient 0 is 0
 run/0: ingredient 1 is 
 run/0: jumping to instruction 17
 run/0: instruction read/18
-run/0: reply/32 {name: "result", value: 6, type: 1, properties: ["result": "location"]}, {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "same-as-ingredient": "0"]}
+run/0: reply/33 {name: "result", value: 6, type: 1, properties: ["result": "location"]}, {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "same-as-ingredient": "0"]}
 mem/0: location 1137 is 34
 mem/0: location 1132 is 1031
 run/0: result 0 is 34
 run/0: result 1 is 1031
 mem/0: storing 1031 in location 1
 run/0: instruction run1001/3
-run/0: {name: "2", value: 2, type: 1, properties: ["2": "integer"]} <- get/23 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
+run/0: {name: "2", value: 2, type: 1, properties: ["2": "integer"]} <- get/24 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
 run/0: ingredient 0 is 1
 mem/0: location 1 is 1031
 run/0: ingredient 1 is first-free
@@ -515,7 +515,7 @@ mem/0: location 1032 is 1
 run/0: product 0 is 1
 mem/0: storing 1 in location 2
 run/0: instruction run1001/4
-run/0: {name: "3", value: 3, type: 1, properties: ["3": "integer"]} <- get/23 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
+run/0: {name: "3", value: 3, type: 1, properties: ["3": "integer"]} <- get/24 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
 run/0: ingredient 0 is 1
 mem/0: location 1 is 1031
 run/0: ingredient 1 is first-free
@@ -528,30 +528,30 @@ run/0: instruction run1001/5
 run/0: {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel"]} <- write/109 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel"]}, {name: "34", value: 34, type: 0, properties: ["34": "literal"]}
 mem/0: location 1 is 1031
 run/0: instruction write/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1192
 run/0: instruction write/1
-run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/29 
+run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/30 
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1194
 run/0: instruction write/2
-run/0: {name: "val", value: 2, type: 1, properties: ["val": "location"]} <- next-ingredient/29 
+run/0: {name: "val", value: 2, type: 1, properties: ["val": "location"]} <- next-ingredient/30 
 run/0: product 0 is 34
 mem/0: storing 34 in location 1195
 run/0: instruction write/4
 run/0: {name: "full", value: 3, type: 3, properties: ["full": "boolean"]} <- channel-full?/110 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]}
 mem/0: location 1194 is 1031
 run/0: instruction channel-full?/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1223
 run/0: instruction channel-full?/1
-run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/29 
+run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/30 
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1225
 run/0: instruction channel-full?/2
-run/0: {name: "tmp", value: 2, type: 1, properties: ["tmp": "integer"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
+run/0: {name: "tmp", value: 2, type: 1, properties: ["tmp": "integer"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1225 is 1031
 run/0: ingredient 1 is first-free
@@ -571,15 +571,15 @@ run/0: instruction channel-full?/5
 run/0: {name: "len", value: 3, type: 1, properties: ["len": "integer"]} <- channel-capacity/113 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]}
 mem/0: location 1225 is 1031
 run/0: instruction channel-capacity/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1254
 run/0: instruction channel-capacity/1
-run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/29 
+run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/30 
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1256
 run/0: instruction channel-capacity/2
-run/0: {name: "q", value: 2, type: 2-5-1, properties: ["q": "address":"array":"location"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
+run/0: {name: "q", value: 2, type: 2-5-1, properties: ["q": "address":"array":"location"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1256 is 1031
 run/0: ingredient 1 is data
@@ -589,11 +589,11 @@ mem/0: location 1033 is 1034
 run/0: product 0 is 1034
 mem/0: storing 1034 in location 1257
 run/0: instruction channel-capacity/3
-run/0: {name: "result", value: 3, type: 1, properties: ["result": "integer"]} <- length/27 {name: "q", value: 2, type: 2-5-1, properties: ["q": "address":"array":"location", "deref": ]}
+run/0: {name: "result", value: 3, type: 1, properties: ["result": "integer"]} <- length/28 {name: "q", value: 2, type: 2-5-1, properties: ["q": "address":"array":"location", "deref": ]}
 mem/0: location 1257 is 1034
 mem/0: storing 2 in location 1258
 run/0: instruction channel-capacity/4
-run/0: reply/32 {name: "result", value: 3, type: 1, properties: ["result": "integer"]}
+run/0: reply/33 {name: "result", value: 3, type: 1, properties: ["result": "integer"]}
 mem/0: location 1258 is 2
 run/0: result 0 is 2
 mem/0: storing 2 in location 1227
@@ -615,7 +615,7 @@ run/0: {name: "tmp", value: 2, type: 1, properties: ["tmp": "integer"]} <- copy/
 run/0: ingredient 0 is 0
 mem/0: storing 0 in location 1226
 run/0: instruction channel-full?/10
-run/0: {name: "full", value: 5, type: 1, properties: ["full": "integer"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
+run/0: {name: "full", value: 5, type: 1, properties: ["full": "integer"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1225 is 1031
 run/0: ingredient 1 is first-full
@@ -633,7 +633,7 @@ mem/0: location 1226 is 0
 run/0: product 0 is 0
 mem/0: storing 0 in location 1230
 run/0: instruction channel-full?/12
-run/0: reply/32 {name: "result", value: 6, type: 3, properties: ["result": "boolean"]}
+run/0: reply/33 {name: "result", value: 6, type: 3, properties: ["result": "boolean"]}
 mem/0: location 1230 is 0
 run/0: result 0 is 0
 mem/0: storing 0 in location 1196
@@ -644,7 +644,7 @@ run/0: ingredient 0 is 0
 run/0: ingredient 1 is 
 run/0: jumping to instruction 8
 run/0: instruction write/9
-run/0: {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
+run/0: {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1194 is 1031
 run/0: ingredient 1 is data
@@ -654,7 +654,7 @@ mem/0: location 1033 is 1034
 run/0: product 0 is 1034
 mem/0: storing 1034 in location 1198
 run/0: instruction write/10
-run/0: {name: "free", value: 6, type: 2-1, properties: ["free": "address":"integer"]} <- get-address/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
+run/0: {name: "free", value: 6, type: 2-1, properties: ["free": "address":"integer"]} <- get-address/25 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1194 is 1031
 run/0: ingredient 1 is first-free
@@ -662,7 +662,7 @@ run/0: address to copy is 1032
 run/0: product 0 is 1032
 mem/0: storing 1032 in location 1199
 run/0: instruction write/11
-run/0: {name: "dest", value: 7, type: 2-1, properties: ["dest": "address":"location"]} <- index-address/26 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}, {name: "free", value: 6, type: 2-1, properties: ["free": "address":"integer", "deref": ]}
+run/0: {name: "dest", value: 7, type: 2-1, properties: ["dest": "address":"location"]} <- index-address/27 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}, {name: "free", value: 6, type: 2-1, properties: ["free": "address":"integer", "deref": ]}
 run/0: ingredient 0 is circular-buffer
 mem/0: location 1198 is 1034
 run/0: ingredient 1 is {name: "free", value: 6, type: 2-1, properties: ["free": "address":"integer", "deref": ]}
@@ -687,7 +687,7 @@ run/0: product 0 is 2
 mem/0: location 1199 is 1032
 mem/0: storing 2 in location 1032
 run/0: instruction write/15
-run/0: {name: "len", value: 8, type: 1, properties: ["len": "integer"]} <- length/27 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}
+run/0: {name: "len", value: 8, type: 1, properties: ["len": "integer"]} <- length/28 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}
 mem/0: location 1198 is 1034
 mem/0: storing 2 in location 1201
 run/0: instruction write/16
@@ -710,12 +710,12 @@ run/0: ingredient 0 is 0
 mem/0: location 1199 is 1032
 mem/0: storing 0 in location 1032
 run/0: instruction write/20
-run/0: reply/32 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "same-as-ingredient": "0"]}
+run/0: reply/33 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "same-as-ingredient": "0"]}
 mem/0: location 1194 is 1031
 run/0: result 0 is 1031
 mem/0: storing 1031 in location 1
 run/0: instruction run1001/6
-run/0: {name: "4", value: 4, type: 1, properties: ["4": "integer"]} <- get/23 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
+run/0: {name: "4", value: 4, type: 1, properties: ["4": "integer"]} <- get/24 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
 run/0: ingredient 0 is 1
 mem/0: location 1 is 1031
 run/0: ingredient 1 is first-free
@@ -728,26 +728,26 @@ run/0: instruction run1001/7
 run/0: {name: "_", value: 0, type: 0, properties: ["_": "dummy"]}, {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel"]} <- read/111 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel"]}
 mem/0: location 1 is 1031
 run/0: instruction read/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1285
 run/0: instruction read/1
-run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/29 
+run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/30 
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1287
 run/0: instruction read/3
 run/0: {name: "empty", value: 2, type: 3, properties: ["empty": "boolean"]} <- channel-empty?/112 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]}
 mem/0: location 1287 is 1031
 run/0: instruction channel-empty?/0
-run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/41 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
+run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]}
 mem/0: array size is 30
 mem/0: new alloc: 1316
 run/0: instruction channel-empty?/1
-run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/29 
+run/0: {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel"]} <- next-ingredient/30 
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1318
 run/0: instruction channel-empty?/2
-run/0: {name: "full", value: 2, type: 1, properties: ["full": "integer"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
+run/0: {name: "full", value: 2, type: 1, properties: ["full": "integer"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1318 is 1031
 run/0: ingredient 1 is first-full
@@ -757,7 +757,7 @@ mem/0: location 1031 is 1
 run/0: product 0 is 1
 mem/0: storing 1 in location 1319
 run/0: instruction channel-empty?/3
-run/0: {name: "free", value: 3, type: 1, properties: ["free": "integer"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
+run/0: {name: "free", value: 3, type: 1, properties: ["free": "integer"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-free", value: 1, type: 0, properties: ["first-free": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1318 is 1031
 run/0: ingredient 1 is first-free
@@ -775,7 +775,7 @@ mem/0: location 1320 is 0
 run/0: product 0 is 0
 mem/0: storing 0 in location 1321
 run/0: instruction channel-empty?/5
-run/0: reply/32 {name: "result", value: 4, type: 3, properties: ["result": "boolean"]}
+run/0: reply/33 {name: "result", value: 4, type: 3, properties: ["result": "boolean"]}
 mem/0: location 1321 is 0
 run/0: result 0 is 0
 mem/0: storing 0 in location 1288
@@ -786,7 +786,7 @@ run/0: ingredient 0 is 0
 run/0: ingredient 1 is 
 run/0: jumping to instruction 7
 run/0: instruction read/8
-run/0: {name: "full", value: 4, type: 2-1, properties: ["full": "address":"integer"]} <- get-address/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
+run/0: {name: "full", value: 4, type: 2-1, properties: ["full": "address":"integer"]} <- get-address/25 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1287 is 1031
 run/0: ingredient 1 is first-full
@@ -794,7 +794,7 @@ run/0: address to copy is 1031
 run/0: product 0 is 1031
 mem/0: storing 1031 in location 1290
 run/0: instruction read/9
-run/0: {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location"]} <- get/23 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
+run/0: {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location"]} <- get/24 {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "deref": ]}, {name: "data", value: 2, type: 0, properties: ["data": "offset"]}
 run/0: ingredient 0 is chan
 mem/0: location 1287 is 1031
 run/0: ingredient 1 is data
@@ -804,7 +804,7 @@ mem/0: location 1033 is 1034
 run/0: product 0 is 1034
 mem/0: storing 1034 in location 1291
 run/0: instruction read/10
-run/0: {name: "result", value: 6, type: 1, properties: ["result": "location"]} <- index/25 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}, {name: "full", value: 4, type: 2-1, properties: ["full": "address":"integer", "deref": ]}
+run/0: {name: "result", value: 6, type: 1, properties: ["result": "location"]} <- index/26 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}, {name: "full", value: 4, type: 2-1, properties: ["full": "address":"integer", "deref": ]}
 run/0: ingredient 0 is {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}
 mem/0: location 1291 is 1034
 run/0: ingredient 1 is {name: "full", value: 4, type: 2-1, properties: ["full": "address":"integer", "deref": ]}
@@ -825,7 +825,7 @@ run/0: product 0 is 2
 mem/0: location 1290 is 1031
 mem/0: storing 2 in location 1031
 run/0: instruction read/13
-run/0: {name: "len", value: 7, type: 1, properties: ["len": "integer"]} <- length/27 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}
+run/0: {name: "len", value: 7, type: 1, properties: ["len": "integer"]} <- length/28 {name: "circular-buffer", value: 5, type: 2-5-1, properties: ["circular-buffer": "address":"array":"location", "deref": ]}
 mem/0: location 1291 is 1034
 mem/0: storing 2 in location 1293
 run/0: instruction read/14
@@ -848,14 +848,14 @@ run/0: ingredient 0 is 0
 mem/0: location 1290 is 1031
 mem/0: storing 0 in location 1031
 run/0: instruction read/18
-run/0: reply/32 {name: "result", value: 6, type: 1, properties: ["result": "location"]}, {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "same-as-ingredient": "0"]}
+run/0: reply/33 {name: "result", value: 6, type: 1, properties: ["result": "location"]}, {name: "chan", value: 1, type: 2-10, properties: ["chan": "address":"channel", "same-as-ingredient": "0"]}
 mem/0: location 1292 is 34
 mem/0: location 1287 is 1031
 run/0: result 0 is 34
 run/0: result 1 is 1031
 mem/0: storing 1031 in location 1
 run/0: instruction run1001/8
-run/0: {name: "5", value: 5, type: 1, properties: ["5": "integer"]} <- get/23 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
+run/0: {name: "5", value: 5, type: 1, properties: ["5": "integer"]} <- get/24 {name: "1", value: 1, type: 2-10, properties: ["1": "address":"channel", "deref": ]}, {name: "first-full", value: 0, type: 0, properties: ["first-full": "offset"]}
 run/0: ingredient 0 is 1
 mem/0: location 1 is 1031
 run/0: ingredient 1 is first-full
@@ -865,7 +865,7 @@ mem/0: location 1031 is 0
 run/0: product 0 is 0
 mem/0: storing 0 in location 5
 run/0: instruction channel-wrap/1
-run/0: memory-should-contain/43 {name: "
+run/0: memory-should-contain/44 {name: "
     2 <- 1  # first-free after first write
     3 <- 1  # first-full after first read
     4 <- 0  # first-free after second write, wrapped