===: main
c{0: 0 (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) -- nil
c{0: 1 (((stdin channel-address)) <- ((init-channel)) ((1 literal))) -- nil
c{0: 2 (((r integer) (routine)) <- ((fork)) ((read-move fn)) ((nil literal) (globals)) ((2000 literal) (limit)) ((stdin channel-address))) -- nil
c{0: 3 (((c character)) <- ((copy)) ((a literal))) -- nil
c{0: 4 (((x tagged-value)) <- ((save-type)) ((c character))) -- nil
c{0: 5 (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) -- nil
c{0: 6 (((c character)) <- ((copy)) ((2 literal))) -- nil
c{0: 7 (((x tagged-value)) <- ((save-type)) ((c character))) -- nil
c{0: 8 (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) -- nil
c{0: 9 (((c character)) <- ((copy)) ((- literal))) -- nil
c{0: 10 (((x tagged-value)) <- ((save-type)) ((c character))) -- nil
c{0: 11 (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) -- nil
c{0: 12 (((c character)) <- ((copy)) ((a literal))) -- nil
c{0: 13 (((x tagged-value)) <- ((save-type)) ((c character))) -- nil
c{0: 14 (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) -- nil
c{0: 15 (((c character)) <- ((copy)) ((4 literal))) -- nil
c{0: 16 (((x tagged-value)) <- ((save-type)) ((c character))) -- nil
c{0: 17 (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) -- nil
c{0: 18 (((c character)) <- ((copy)) ((
 literal))) -- nil
c{0: 19 (((x tagged-value)) <- ((save-type)) ((c character))) -- nil
c{0: 20 (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) -- nil
c{0: 21 (((sleep)) ((until-routine-done literal)) ((r integer) (routine))) -- nil
c{1: 0 ✓ (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity)))
c{1: 1 ✓ (((stdin channel-address)) <- ((init-channel)) ((1 literal)))
c{1: 2 ✓ (((r integer) (routine)) <- ((fork)) ((read-move fn)) ((nil literal) (globals)) ((2000 literal) (limit)) ((stdin channel-address)))
c{1: 3 ✓ (((c character)) <- ((copy)) ((a literal)))
c{1: 4 ✓ (((x tagged-value)) <- ((save-type)) ((c character)))
c{1: 5 ✓ (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value)))
c{1: 6 ✓ (((c character)) <- ((copy)) ((2 literal)))
c{1: 7 ✓ (((x tagged-value)) <- ((save-type)) ((c character)))
c{1: 8 ✓ (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value)))
c{1: 9 ✓ (((c character)) <- ((copy)) ((- literal)))
c{1: 10 ✓ (((x tagged-value)) <- ((save-type)) ((c character)))
c{1: 11 ✓ (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value)))
c{1: 12 ✓ (((c character)) <- ((copy)) ((a literal)))
c{1: 13 ✓ (((x tagged-value)) <- ((save-type)) ((c character)))
c{1: 14 ✓ (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value)))
c{1: 15 ✓ (((c character)) <- ((copy)) ((4 literal)))
c{1: 16 ✓ (((x tagged-value)) <- ((save-type)) ((c character)))
c{1: 17 ✓ (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value)))
c{1: 18 ✓ (((c character)) <- ((copy)) ((
 literal)))
c{1: 19 ✓ (((x tagged-value)) <- ((save-type)) ((c character)))
c{1: 20 ✓ (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value)))
c{1: 21 ✓ (((sleep)) ((until-routine-done literal)) ((r integer) (routine)))
cn0: convert-names in main
cn0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) nil nil
cn0: checking arg ((space literal))
cn0: checking arg ((30 literal) (capacity))
cn0: checking oarg ((default-space space-address))
maybe-add: ((default-space space-address))
cn0: (((stdin channel-address)) <- ((init-channel)) ((1 literal))) nil nil
cn0: checking arg ((1 literal))
cn0: checking oarg ((stdin channel-address))
maybe-add: ((stdin channel-address))
cn0: location for oarg ((stdin channel-address)): 1
cn0: (((r integer) (routine)) <- ((fork)) ((read-move fn)) ((nil literal) (globals)) ((2000 literal) (limit)) ((stdin channel-address))) ((stdin 1)) nil
cn0: checking arg ((read-move fn))
cn0: checking arg ((nil literal) (globals))
cn0: checking arg ((2000 literal) (limit))
cn0: checking arg ((stdin channel-address))
maybe-add: ((stdin channel-address))
cn0: checking oarg ((r integer) (routine))
maybe-add: ((r integer) (routine))
cn0: location for oarg ((r integer) (routine)): 2
cn0: (((c character)) <- ((copy)) ((a literal))) ((r 2) (stdin 1)) nil
cn0: checking arg ((a literal))
cn0: checking oarg ((c character))
maybe-add: ((c character))
cn0: location for oarg ((c character)): 3
cn0: (((x tagged-value)) <- ((save-type)) ((c character))) ((c 3) (r 2) (stdin 1)) nil
cn0: checking arg ((c character))
maybe-add: ((c character))
cn0: checking oarg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: location for oarg ((x tagged-value)): 4
cn0: (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((stdin channel-address))
maybe-add: ((stdin channel-address))
cn0: checking arg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: checking oarg ((stdin channel-address) (deref))
maybe-add: ((stdin channel-address) (deref))
cn0: (((c character)) <- ((copy)) ((2 literal))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((2 literal))
cn0: checking oarg ((c character))
maybe-add: ((c character))
cn0: (((x tagged-value)) <- ((save-type)) ((c character))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((c character))
maybe-add: ((c character))
cn0: checking oarg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((stdin channel-address))
maybe-add: ((stdin channel-address))
cn0: checking arg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: checking oarg ((stdin channel-address) (deref))
maybe-add: ((stdin channel-address) (deref))
cn0: (((c character)) <- ((copy)) ((- literal))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((- literal))
cn0: checking oarg ((c character))
maybe-add: ((c character))
cn0: (((x tagged-value)) <- ((save-type)) ((c character))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((c character))
maybe-add: ((c character))
cn0: checking oarg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((stdin channel-address))
maybe-add: ((stdin channel-address))
cn0: checking arg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: checking oarg ((stdin channel-address) (deref))
maybe-add: ((stdin channel-address) (deref))
cn0: (((c character)) <- ((copy)) ((a literal))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((a literal))
cn0: checking oarg ((c character))
maybe-add: ((c character))
cn0: (((x tagged-value)) <- ((save-type)) ((c character))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((c character))
maybe-add: ((c character))
cn0: checking oarg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((stdin channel-address))
maybe-add: ((stdin channel-address))
cn0: checking arg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: checking oarg ((stdin channel-address) (deref))
maybe-add: ((stdin channel-address) (deref))
cn0: (((c character)) <- ((copy)) ((4 literal))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((4 literal))
cn0: checking oarg ((c character))
maybe-add: ((c character))
cn0: (((x tagged-value)) <- ((save-type)) ((c character))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((c character))
maybe-add: ((c character))
cn0: checking oarg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((stdin channel-address))
maybe-add: ((stdin channel-address))
cn0: checking arg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: checking oarg ((stdin channel-address) (deref))
maybe-add: ((stdin channel-address) (deref))
cn0: (((c character)) <- ((copy)) ((
 literal))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((
 literal))
cn0: checking oarg ((c character))
maybe-add: ((c character))
cn0: (((x tagged-value)) <- ((save-type)) ((c character))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((c character))
maybe-add: ((c character))
cn0: checking oarg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: (((stdin channel-address) (deref)) <- ((write)) ((stdin channel-address)) ((x tagged-value))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((stdin channel-address))
maybe-add: ((stdin channel-address))
cn0: checking arg ((x tagged-value))
maybe-add: ((x tagged-value))
cn0: checking oarg ((stdin channel-address) (deref))
maybe-add: ((stdin channel-address) (deref))
cn0: (((sleep)) ((until-routine-done literal)) ((r integer) (routine))) ((c 3) (r 2) (stdin 1) (x 4)) nil
cn0: checking arg ((until-routine-done literal))
cn0: checking arg ((r integer) (routine))
maybe-add: ((r integer) (routine))
cn1: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity)))
cn1: (((1 channel-address)) <- ((init-channel)) ((1 literal)))
cn1: (((2 integer) (routine)) <- ((fork)) ((read-move fn)) ((nil literal) (globals)) ((2000 literal) (limit)) ((1 channel-address)))
cn1: (((3 character)) <- ((copy)) ((a literal)))
cn1: (((4 tagged-value)) <- ((save-type)) ((3 character)))
cn1: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
cn1: (((3 character)) <- ((copy)) ((2 literal)))
cn1: (((4 tagged-value)) <- ((save-type)) ((3 character)))
cn1: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
cn1: (((3 character)) <- ((copy)) ((- literal)))
cn1: (((4 tagged-value)) <- ((save-type)) ((3 character)))
cn1: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
cn1: (((3 character)) <- ((copy)) ((a literal)))
cn1: (((4 tagged-value)) <- ((save-type)) ((3 character)))
cn1: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
cn1: (((3 character)) <- ((copy)) ((4 literal)))
cn1: (((4 tagged-value)) <- ((save-type)) ((3 character)))
cn1: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
cn1: (((3 character)) <- ((copy)) ((
 literal)))
cn1: (((4 tagged-value)) <- ((save-type)) ((3 character)))
cn1: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
cn1: (((sleep)) ((until-routine-done literal)) ((2 integer) (routine)))
schedule: main
run: main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity)))
run: main 0: 1000 => ((default-space space-address))
run: main 1: (((1 channel-address)) <- ((init-channel)) ((1 literal)))
run: init-channel/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: init-channel/main 0: 1031 => ((default-space space-address))
run: init-channel/main 1: (((1 channel-address)) <- ((new)) ((channel literal)))
run: init-channel/main 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 1033 <= 1062
run: init-channel/main 2: (((2 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: init-channel/main 2: 1062 => ((2 integer-address))
mem: ((2 integer-address)): 1034 <= 1062
run: init-channel/main 3: (((2 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: init-channel/main 3: 0 => ((2 integer-address) (deref))
mem: ((2 integer-address) (deref)): 1062 <= 0
run: init-channel/main 4: (((3 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: init-channel/main 4: 1063 => ((3 integer-address))
mem: ((3 integer-address)): 1035 <= 1063
run: init-channel/main 5: (((3 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: init-channel/main 5: 0 => ((3 integer-address) (deref))
mem: ((3 integer-address) (deref)): 1063 <= 0
run: init-channel/main 6: (((4 integer)) <- ((next-input)))
arg: nil 0 (1)
run: init-channel/main 6: 1 => ((4 integer))
mem: ((4 integer)): 1036 <= 1
run: init-channel/main 7: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal)))
mem: ((4 integer)) => 1
run: init-channel/main 7: 2 => ((4 integer))
mem: ((4 integer)): 1036 <= 2
run: init-channel/main 8: (((5 tagged-value-array-address-address)) <- ((get-address)) ((1 channel-address) (deref)) ((2 offset)))
run: init-channel/main 8: 1064 => ((5 tagged-value-array-address-address))
mem: ((5 tagged-value-array-address-address)): 1037 <= 1064
run: init-channel/main 9: (((5 tagged-value-array-address-address) (deref)) <- ((new)) ((tagged-value-array literal)) ((4 integer)))
mem: ((4 integer)) => 2
run: init-channel/main 9: 1065 => ((5 tagged-value-array-address-address) (deref))
mem: ((5 tagged-value-array-address-address) (deref)): 1064 <= 1065
run: init-channel/main 10: (((reply)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: main 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 1002 <= 1062
run: main 2: (((2 integer) (routine)) <- ((fork)) ((read-move fn)) ((nil literal) (globals)) ((2000 literal) (limit)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: main 2: 1 => ((2 integer) (routine))
mem: ((2 integer) (routine)): 1003 <= 1
run: main 3: (((3 character)) <- ((copy)) ((a literal)))
run: main 3: #\a => ((3 character))
mem: ((3 character)): 1004 <= #\a
run: main 4: (((4 tagged-value)) <- ((save-type)) ((3 character)))
mem: ((3 character)) => a
run: main 4: #(tagged record (character #\a)) => ((4 tagged-value))
mem: ((4 tagged-value)): 1005 <= character
mem: ((4 tagged-value)): 1006 <= #\a
run: main 5: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
mem: ((1 channel-address)) => 1062
mem: ((4 tagged-value)) => #(tagged record (character a . nil))
run: write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: write/main 0: 1070 => ((default-space space-address))
run: write/main 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062 #(tagged record (character #\a . nil)))
run: write/main 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 1072 <= 1062
run: write/main 2: (((2 tagged-value)) <- ((next-input)))
arg: nil 1 (1062 #(tagged record (character #\a . nil)))
run: write/main 2: #(tagged record (character #\a . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 1073 <= character
mem: ((2 tagged-value)): 1074 <= #\a
run: write/main 3: (((4 boolean)) <- ((full?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (0 0 1065 . nil))
run: full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: full?/write/main 0: 1101 => ((default-space space-address))
run: full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 0 1065 . nil)))
run: full?/write/main 1: #(tagged record (0 0 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1103 <= 0
mem: ((1 channel)): 1104 <= 0
mem: ((1 channel)): 1105 <= 1065
run: full?/write/main 2: (((4 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((1104 integer) (raw)) => 0
run: full?/write/main 2: 0 => ((4 integer))
mem: ((4 integer)): 1106 <= 0
run: full?/write/main 3: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal)))
mem: ((4 integer)) => 0
run: full?/write/main 3: 1 => ((4 integer))
mem: ((4 integer)): 1106 <= 1
run: full?/write/main 4: (((5 integer)) <- ((capacity)) ((1 channel)))
mem: ((1 channel)) => #(tagged record (0 0 1065 . nil))
run: capacity/full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: capacity/full?/write/main 0: 1132 => ((default-space space-address))
run: capacity/full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 0 1065 . nil)))
run: capacity/full?/write/main 1: #(tagged record (0 0 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1134 <= 0
mem: ((1 channel)): 1135 <= 0
mem: ((1 channel)): 1136 <= 1065
run: capacity/full?/write/main 2: (((4 tagged-value-array-address)) <- ((get)) ((1 channel)) ((2 offset)))
mem: ((1136 tagged-value-array-address) (raw)) => 1065
run: capacity/full?/write/main 2: 1065 => ((4 tagged-value-array-address))
mem: ((4 tagged-value-array-address)): 1137 <= 1065
run: capacity/full?/write/main 3: (((5 integer)) <- ((length)) ((4 tagged-value-array-address) (deref)))
array-len: ((4 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: capacity/full?/write/main 3: 2 => ((5 integer))
mem: ((5 integer)): 1138 <= 2
run: capacity/full?/write/main 4: (((reply)) ((5 integer)))
mem: ((5 integer)) => 2
run: full?/write/main 4: 2 => ((5 integer))
mem: ((5 integer)): 1107 <= 2
run: full?/write/main 5: (((6 boolean)) <- ((less-than)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 1
mem: ((5 integer)) => 2
run: full?/write/main 5: t => ((6 boolean))
mem: ((6 boolean)): 1108 <= t
run: full?/write/main 6: (((jump-if)) ((6 boolean)) ((1 offset)))
mem: ((6 boolean)) => t
run: full?/write/main 8: (((7 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((1103 integer) (raw)) => 0
run: full?/write/main 8: 0 => ((7 integer))
mem: ((7 integer)): 1109 <= 0
run: full?/write/main 9: (((8 boolean)) <- ((equal)) ((7 integer)) ((4 integer)))
mem: ((7 integer)) => 0
mem: ((4 integer)) => 1
run: full?/write/main 9: nil => ((8 boolean))
mem: ((8 boolean)): 1110 <= nil
run: full?/write/main 10: (((reply)) ((8 boolean)))
mem: ((8 boolean)) => nil
run: write/main 3: nil => ((4 boolean))
mem: ((4 boolean)): 1075 <= nil
run: write/main 4: (((jump-unless)) ((4 boolean)) ((2 offset)))
mem: ((4 boolean)) => nil
run: write/main 7: (((6 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: write/main 7: 1065 => ((6 tagged-value-array-address))
mem: ((6 tagged-value-array-address)): 1077 <= 1065
run: write/main 8: (((7 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: write/main 8: 1063 => ((7 integer-address))
mem: ((7 integer-address)): 1078 <= 1063
run: write/main 9: (((8 tagged-value-address)) <- ((index-address)) ((6 tagged-value-array-address) (deref)) ((7 integer-address) (deref)))
mem: ((7 integer-address) (deref)) => 0
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
run: write/main 9: 1066 => ((8 tagged-value-address))
mem: ((8 tagged-value-address)): 1079 <= 1066
run: write/main 10: (((8 tagged-value-address) (deref)) <- ((copy)) ((2 tagged-value)))
mem: ((2 tagged-value)) => #(tagged record (character a . nil))
run: write/main 10: #(tagged record (character #\a . nil)) => ((8 tagged-value-address) (deref))
mem: ((8 tagged-value-address) (deref)): 1066 <= character
mem: ((8 tagged-value-address) (deref)): 1067 <= #\a
run: write/main 11: (((7 integer-address) (deref)) <- ((add)) ((7 integer-address) (deref)) ((1 literal)))
mem: ((7 integer-address) (deref)) => 0
run: write/main 11: 1 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1063 <= 1
run: write/main 12: (((9 integer)) <- ((length)) ((6 tagged-value-array-address) (deref)))
array-len: ((6 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: write/main 12: 2 => ((9 integer))
mem: ((9 integer)): 1080 <= 2
run: write/main 13: (((10 boolean)) <- ((less-than)) ((7 integer-address) (deref)) ((9 integer)))
mem: ((7 integer-address) (deref)) => 1
mem: ((9 integer)) => 2
run: write/main 13: t => ((10 boolean))
mem: ((10 boolean)): 1081 <= t
run: write/main 14: (((jump-if)) ((10 boolean)) ((1 offset)))
mem: ((10 boolean)) => t
run: write/main 16: (((reply)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (0 1 1065 . nil))
run: main 5: #(tagged record (0 1 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 0
mem: ((1 channel-address) (deref)): 1063 <= 1
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: main 6: (((3 character)) <- ((copy)) ((2 literal)))
run: main 6: #\2 => ((3 character))
mem: ((3 character)): 1004 <= #\2
run: main 7: (((4 tagged-value)) <- ((save-type)) ((3 character)))
mem: ((3 character)) => 2
run: main 7: #(tagged record (character #\2)) => ((4 tagged-value))
mem: ((4 tagged-value)): 1005 <= character
mem: ((4 tagged-value)): 1006 <= #\2
run: main 8: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
mem: ((1 channel-address)) => 1062
mem: ((4 tagged-value)) => #(tagged record (character 2 . nil))
run: write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: write/main 0: 1163 => ((default-space space-address))
run: write/main 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062 #(tagged record (character #\2 . nil)))
run: write/main 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 1165 <= 1062
run: write/main 2: (((2 tagged-value)) <- ((next-input)))
arg: nil 1 (1062 #(tagged record (character #\2 . nil)))
run: write/main 2: #(tagged record (character #\2 . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 1166 <= character
mem: ((2 tagged-value)): 1167 <= #\2
run: write/main 3: (((4 boolean)) <- ((full?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (0 1 1065 . nil))
run: full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: full?/write/main 0: 1194 => ((default-space space-address))
run: full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 1 1065 . nil)))
run: full?/write/main 1: #(tagged record (0 1 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1196 <= 0
mem: ((1 channel)): 1197 <= 1
mem: ((1 channel)): 1198 <= 1065
run: full?/write/main 2: (((4 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((1197 integer) (raw)) => 1
run: full?/write/main 2: 1 => ((4 integer))
mem: ((4 integer)): 1199 <= 1
run: full?/write/main 3: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal)))
mem: ((4 integer)) => 1
run: full?/write/main 3: 2 => ((4 integer))
mem: ((4 integer)): 1199 <= 2
run: full?/write/main 4: (((5 integer)) <- ((capacity)) ((1 channel)))
mem: ((1 channel)) => #(tagged record (0 1 1065 . nil))
run: capacity/full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: capacity/full?/write/main 0: 1225 => ((default-space space-address))
run: capacity/full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 1 1065 . nil)))
run: capacity/full?/write/main 1: #(tagged record (0 1 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1227 <= 0
mem: ((1 channel)): 1228 <= 1
mem: ((1 channel)): 1229 <= 1065
run: capacity/full?/write/main 2: (((4 tagged-value-array-address)) <- ((get)) ((1 channel)) ((2 offset)))
mem: ((1229 tagged-value-array-address) (raw)) => 1065
run: capacity/full?/write/main 2: 1065 => ((4 tagged-value-array-address))
mem: ((4 tagged-value-array-address)): 1230 <= 1065
run: capacity/full?/write/main 3: (((5 integer)) <- ((length)) ((4 tagged-value-array-address) (deref)))
array-len: ((4 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: capacity/full?/write/main 3: 2 => ((5 integer))
mem: ((5 integer)): 1231 <= 2
run: capacity/full?/write/main 4: (((reply)) ((5 integer)))
mem: ((5 integer)) => 2
run: full?/write/main 4: 2 => ((5 integer))
mem: ((5 integer)): 1200 <= 2
run: full?/write/main 5: (((6 boolean)) <- ((less-than)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 2
mem: ((5 integer)) => 2
run: full?/write/main 5: nil => ((6 boolean))
mem: ((6 boolean)): 1201 <= nil
run: full?/write/main 6: (((jump-if)) ((6 boolean)) ((1 offset)))
mem: ((6 boolean)) => nil
run: full?/write/main 7: (((4 integer)) <- ((copy)) ((0 literal)))
run: full?/write/main 7: 0 => ((4 integer))
mem: ((4 integer)): 1199 <= 0
run: full?/write/main 8: (((7 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((1196 integer) (raw)) => 0
run: full?/write/main 8: 0 => ((7 integer))
mem: ((7 integer)): 1202 <= 0
run: full?/write/main 9: (((8 boolean)) <- ((equal)) ((7 integer)) ((4 integer)))
mem: ((7 integer)) => 0
mem: ((4 integer)) => 0
run: full?/write/main 9: t => ((8 boolean))
mem: ((8 boolean)): 1203 <= t
run: full?/write/main 10: (((reply)) ((8 boolean)))
mem: ((8 boolean)) => t
run: write/main 3: t => ((4 boolean))
mem: ((4 boolean)): 1168 <= t
run: write/main 4: (((jump-unless)) ((4 boolean)) ((2 offset)))
mem: ((4 boolean)) => t
run: write/main 5: (((5 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: write/main 5: 1062 => ((5 integer-address))
mem: ((5 integer-address)): 1169 <= 1062
run: write/main 6: (((sleep)) ((until-location-changes literal)) ((5 integer-address) (deref)))
mem: ((5 integer-address) (deref)) => 0
schedule: pushing write/main to sleep queue
schedule: read-move
run: read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read-move 0: 101000 => ((default-space space-address))
run: read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101002 <= 1062
run: read-move 2: (((2 integer)) <- ((read-file)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: read-file/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read-file/read-move 0: 101031 => ((default-space space-address))
run: read-file/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read-file/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101033 <= 1062
run: read-file/read-move 2: (((2 tagged-value)) ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: read/read-file/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read/read-file/read-move 0: 101062 => ((default-space space-address))
run: read/read-file/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read/read-file/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101064 <= 1062
run: read/read-file/read-move 2: (((2 boolean)) <- ((empty?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (0 1 1065 . nil))
run: empty?/read/read-file/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: empty?/read/read-file/read-move 0: 101093 => ((default-space space-address))
run: empty?/read/read-file/read-move 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 1 1065 . nil)))
run: empty?/read/read-file/read-move 1: #(tagged record (0 1 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 101095 <= 0
mem: ((1 channel)): 101096 <= 1
mem: ((1 channel)): 101097 <= 1065
run: empty?/read/read-file/read-move 2: (((4 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((101095 integer) (raw)) => 0
run: empty?/read/read-file/read-move 2: 0 => ((4 integer))
mem: ((4 integer)): 101098 <= 0
run: empty?/read/read-file/read-move 3: (((5 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((101096 integer) (raw)) => 1
run: empty?/read/read-file/read-move 3: 1 => ((5 integer))
mem: ((5 integer)): 101099 <= 1
run: empty?/read/read-file/read-move 4: (((6 boolean)) <- ((equal)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 0
mem: ((5 integer)) => 1
run: empty?/read/read-file/read-move 4: nil => ((6 boolean))
mem: ((6 boolean)): 101100 <= nil
run: empty?/read/read-file/read-move 5: (((reply)) ((6 boolean)))
mem: ((6 boolean)) => nil
run: read/read-file/read-move 2: nil => ((2 boolean))
mem: ((2 boolean)): 101065 <= nil
run: read/read-file/read-move 3: (((jump-unless)) ((2 boolean)) ((2 offset)))
mem: ((2 boolean)) => nil
run: read/read-file/read-move 6: (((4 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: read/read-file/read-move 6: 1062 => ((4 integer-address))
mem: ((4 integer-address)): 101067 <= 1062
run: read/read-file/read-move 7: (((5 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: read/read-file/read-move 7: 1065 => ((5 tagged-value-array-address))
mem: ((5 tagged-value-array-address)): 101068 <= 1065
run: read/read-file/read-move 8: (((6 tagged-value)) <- ((index)) ((5 tagged-value-array-address) (deref)) ((4 integer-address) (deref)))
mem: ((4 integer-address) (deref)) => 0
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
mem: ((1066 tagged-value) (raw)) => #(tagged record (character a . nil))
run: read/read-file/read-move 8: #(tagged record (character #\a . nil)) => ((6 tagged-value))
mem: ((6 tagged-value)): 101069 <= character
mem: ((6 tagged-value)): 101070 <= #\a
run: read/read-file/read-move 9: (((4 integer-address) (deref)) <- ((add)) ((4 integer-address) (deref)) ((1 literal)))
mem: ((4 integer-address) (deref)) => 0
run: read/read-file/read-move 9: 1 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1062 <= 1
run: read/read-file/read-move 10: (((8 integer)) <- ((length)) ((5 tagged-value-array-address) (deref)))
array-len: ((5 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: read/read-file/read-move 10: 2 => ((8 integer))
mem: ((8 integer)): 101071 <= 2
run: read/read-file/read-move 11: (((9 boolean)) <- ((less-than)) ((4 integer-address) (deref)) ((8 integer)))
mem: ((4 integer-address) (deref)) => 1
mem: ((8 integer)) => 2
run: read/read-file/read-move 11: t => ((9 boolean))
mem: ((9 boolean)): 101072 <= t
run: read/read-file/read-move 12: (((jump-if)) ((9 boolean)) ((1 offset)))
mem: ((9 boolean)) => t
run: read/read-file/read-move 14: (((reply)) ((6 tagged-value)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((6 tagged-value)) => #(tagged record (character a . nil))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (1 1 1065 . nil))
run: read-file/read-move 2: #(tagged record (character #\a . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 101034 <= character
mem: ((2 tagged-value)): 101035 <= #\a
run: read-file/read-move 2: #(tagged record (1 1 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 1
mem: ((1 channel-address) (deref)): 1063 <= 1
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: read-file/read-move 3: (((4 character)) <- ((copy)) ((a literal)))
run: read-file/read-move 3: #\a => ((4 character))
mem: ((4 character)): 101036 <= #\a
run: read-file/read-move 4: (((5 integer)) <- ((character-to-integer)) ((4 character)))
mem: ((4 character)) => a
run: read-file/read-move 4: 97 => ((5 integer))
mem: ((5 integer)): 101037 <= 97
run: read-file/read-move 5: (((6 character)) <- ((maybe-coerce)) ((2 tagged-value)) ((character literal)))
mem: ((2 tagged-value)) => #(tagged record (character a . nil))
run: maybe-coerce/read-file/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: maybe-coerce/read-file/read-move 0: 101124 => ((default-space space-address))
run: maybe-coerce/read-file/read-move 1: (((1 tagged-value-address)) <- ((new)) ((tagged-value literal)))
run: maybe-coerce/read-file/read-move 1: 101155 => ((1 tagged-value-address))
mem: ((1 tagged-value-address)): 101126 <= 101155
run: maybe-coerce/read-file/read-move 2: (((1 tagged-value-address) (deref)) <- ((next-input)))
arg: nil 0 (#(tagged record (character #\a . nil)) character)
run: maybe-coerce/read-file/read-move 2: #(tagged record (character #\a . nil)) => ((1 tagged-value-address) (deref))
mem: ((1 tagged-value-address) (deref)): 101155 <= character
mem: ((1 tagged-value-address) (deref)): 101156 <= #\a
run: maybe-coerce/read-file/read-move 3: (((2 type)) <- ((next-input)))
arg: nil 1 (#(tagged record (character #\a . nil)) character)
run: maybe-coerce/read-file/read-move 3: character => ((2 type))
mem: ((2 type)): 101127 <= character
run: maybe-coerce/read-file/read-move 4: (((3 type)) <- ((get)) ((1 tagged-value-address) (deref)) ((0 offset)))
mem: ((101155 type) (raw)) => character
run: maybe-coerce/read-file/read-move 4: character => ((3 type))
mem: ((3 type)): 101128 <= character
run: maybe-coerce/read-file/read-move 5: (((4 boolean)) <- ((equal)) ((3 type)) ((2 type)))
mem: ((3 type)) => character
mem: ((2 type)) => character
run: maybe-coerce/read-file/read-move 5: t => ((4 boolean))
mem: ((4 boolean)): 101129 <= t
run: maybe-coerce/read-file/read-move 6: (((jump-if)) ((4 boolean)) ((1 offset)))
mem: ((4 boolean)) => t
run: maybe-coerce/read-file/read-move 8: (((5 location)) <- ((get)) ((1 tagged-value-address) (deref)) ((1 offset)))
mem: ((101156 location) (raw)) => a
run: maybe-coerce/read-file/read-move 8: #\a => ((5 location))
mem: ((5 location)): 101130 <= #\a
run: maybe-coerce/read-file/read-move 9: (((reply)) ((5 location)) ((4 boolean)))
mem: ((5 location)) => a
mem: ((4 boolean)) => t
run: read-file/read-move 5: #\a => ((6 character))
mem: ((6 character)): 101038 <= #\a
run: read-file/read-move 6: (((7 boolean)) <- ((equal)) ((6 character)) ((q literal)))
mem: ((6 character)) => a
run: read-file/read-move 6: nil => ((7 boolean))
mem: ((7 boolean)): 101039 <= nil
run: read-file/read-move 7: (((jump-unless)) ((7 boolean)) ((1 offset)))
mem: ((7 boolean)) => nil
run: read-file/read-move 9: (((8 integer)) <- ((character-to-integer)) ((6 character)))
mem: ((6 character)) => a
run: read-file/read-move 9: 97 => ((8 integer))
mem: ((8 integer)): 101040 <= 97
run: read-file/read-move 10: (((8 integer)) <- ((subtract)) ((8 integer)) ((5 integer)))
mem: ((8 integer)) => 97
mem: ((5 integer)) => 97
run: read-file/read-move 10: 0 => ((8 integer))
mem: ((8 integer)): 101040 <= 0
run: read-file/read-move 11: (((9 boolean)) <- ((greater-or-equal)) ((8 integer)) ((0 literal)))
mem: ((8 integer)) => 0
run: read-file/read-move 11: t => ((9 boolean))
mem: ((9 boolean)): 101041 <= t
run: read-file/read-move 12: (((assert)) ((9 boolean)) ((file too low literal)))
mem: ((9 boolean)) => t
run: read-file/read-move 13: (((10 boolean)) <- ((lesser-or-equal)) ((8 integer)) ((7 literal)))
mem: ((8 integer)) => 0
run: read-file/read-move 13: t => ((10 boolean))
mem: ((10 boolean)): 101042 <= t
run: read-file/read-move 14: (((assert)) ((10 boolean)) ((file too high literal)))
mem: ((10 boolean)) => t
run: read-file/read-move 15: (((reply)) ((8 integer)))
mem: ((8 integer)) => 0
run: read-move 2: 0 => ((2 integer))
mem: ((2 integer)): 101003 <= 0
run: read-move 3: (((jump-if)) ((2 integer)) ((1 offset)))
mem: ((2 integer)) => 0
run: read-move 5: (((3 integer)) <- ((read-rank)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: read-rank/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read-rank/read-move 0: 101157 => ((default-space space-address))
run: read-rank/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read-rank/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101159 <= 1062
run: read-rank/read-move 2: (((2 tagged-value)) ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: read/read-rank/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read/read-rank/read-move 0: 101188 => ((default-space space-address))
run: read/read-rank/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read/read-rank/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101190 <= 1062
run: read/read-rank/read-move 2: (((2 boolean)) <- ((empty?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (1 1 1065 . nil))
run: empty?/read/read-rank/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: empty?/read/read-rank/read-move 0: 101219 => ((default-space space-address))
run: empty?/read/read-rank/read-move 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (1 1 1065 . nil)))
run: empty?/read/read-rank/read-move 1: #(tagged record (1 1 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 101221 <= 1
mem: ((1 channel)): 101222 <= 1
mem: ((1 channel)): 101223 <= 1065
run: empty?/read/read-rank/read-move 2: (((4 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((101221 integer) (raw)) => 1
run: empty?/read/read-rank/read-move 2: 1 => ((4 integer))
mem: ((4 integer)): 101224 <= 1
run: empty?/read/read-rank/read-move 3: (((5 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((101222 integer) (raw)) => 1
run: empty?/read/read-rank/read-move 3: 1 => ((5 integer))
mem: ((5 integer)): 101225 <= 1
run: empty?/read/read-rank/read-move 4: (((6 boolean)) <- ((equal)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 1
mem: ((5 integer)) => 1
run: empty?/read/read-rank/read-move 4: t => ((6 boolean))
mem: ((6 boolean)): 101226 <= t
run: empty?/read/read-rank/read-move 5: (((reply)) ((6 boolean)))
mem: ((6 boolean)) => t
run: read/read-rank/read-move 2: t => ((2 boolean))
mem: ((2 boolean)): 101191 <= t
run: read/read-rank/read-move 3: (((jump-unless)) ((2 boolean)) ((2 offset)))
mem: ((2 boolean)) => t
run: read/read-rank/read-move 4: (((3 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: read/read-rank/read-move 4: 1063 => ((3 integer-address))
mem: ((3 integer-address)): 101192 <= 1063
run: read/read-rank/read-move 5: (((sleep)) ((until-location-changes literal)) ((3 integer-address) (deref)))
mem: ((3 integer-address) (deref)) => 1
schedule: pushing read/read-rank/read-move to sleep queue
schedule: waking up write/main
schedule: write/main
run: write/main 7: (((6 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: write/main 7: 1065 => ((6 tagged-value-array-address))
mem: ((6 tagged-value-array-address)): 1170 <= 1065
run: write/main 8: (((7 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: write/main 8: 1063 => ((7 integer-address))
mem: ((7 integer-address)): 1171 <= 1063
run: write/main 9: (((8 tagged-value-address)) <- ((index-address)) ((6 tagged-value-array-address) (deref)) ((7 integer-address) (deref)))
mem: ((7 integer-address) (deref)) => 1
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
run: write/main 9: 1068 => ((8 tagged-value-address))
mem: ((8 tagged-value-address)): 1172 <= 1068
run: write/main 10: (((8 tagged-value-address) (deref)) <- ((copy)) ((2 tagged-value)))
mem: ((2 tagged-value)) => #(tagged record (character 2 . nil))
run: write/main 10: #(tagged record (character #\2 . nil)) => ((8 tagged-value-address) (deref))
mem: ((8 tagged-value-address) (deref)): 1068 <= character
mem: ((8 tagged-value-address) (deref)): 1069 <= #\2
run: write/main 11: (((7 integer-address) (deref)) <- ((add)) ((7 integer-address) (deref)) ((1 literal)))
mem: ((7 integer-address) (deref)) => 1
run: write/main 11: 2 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1063 <= 2
run: write/main 12: (((9 integer)) <- ((length)) ((6 tagged-value-array-address) (deref)))
array-len: ((6 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: write/main 12: 2 => ((9 integer))
mem: ((9 integer)): 1173 <= 2
run: write/main 13: (((10 boolean)) <- ((less-than)) ((7 integer-address) (deref)) ((9 integer)))
mem: ((7 integer-address) (deref)) => 2
mem: ((9 integer)) => 2
run: write/main 13: nil => ((10 boolean))
mem: ((10 boolean)): 1174 <= nil
run: write/main 14: (((jump-if)) ((10 boolean)) ((1 offset)))
mem: ((10 boolean)) => nil
run: write/main 15: (((7 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: write/main 15: 0 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1063 <= 0
run: write/main 16: (((reply)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (1 0 1065 . nil))
run: main 8: #(tagged record (1 0 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 1
mem: ((1 channel-address) (deref)): 1063 <= 0
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: main 9: (((3 character)) <- ((copy)) ((- literal)))
run: main 9: #\- => ((3 character))
mem: ((3 character)): 1004 <= #\-
run: main 10: (((4 tagged-value)) <- ((save-type)) ((3 character)))
mem: ((3 character)) => -
run: main 10: #(tagged record (character #\-)) => ((4 tagged-value))
mem: ((4 tagged-value)): 1005 <= character
mem: ((4 tagged-value)): 1006 <= #\-
run: main 11: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
mem: ((1 channel-address)) => 1062
mem: ((4 tagged-value)) => #(tagged record (character - . nil))
run: write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: write/main 0: 1256 => ((default-space space-address))
run: write/main 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062 #(tagged record (character #\- . nil)))
run: write/main 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 1258 <= 1062
run: write/main 2: (((2 tagged-value)) <- ((next-input)))
arg: nil 1 (1062 #(tagged record (character #\- . nil)))
run: write/main 2: #(tagged record (character #\- . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 1259 <= character
mem: ((2 tagged-value)): 1260 <= #\-
run: write/main 3: (((4 boolean)) <- ((full?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (1 0 1065 . nil))
run: full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: full?/write/main 0: 1287 => ((default-space space-address))
run: full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (1 0 1065 . nil)))
run: full?/write/main 1: #(tagged record (1 0 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1289 <= 1
mem: ((1 channel)): 1290 <= 0
mem: ((1 channel)): 1291 <= 1065
run: full?/write/main 2: (((4 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((1290 integer) (raw)) => 0
run: full?/write/main 2: 0 => ((4 integer))
mem: ((4 integer)): 1292 <= 0
run: full?/write/main 3: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal)))
mem: ((4 integer)) => 0
run: full?/write/main 3: 1 => ((4 integer))
mem: ((4 integer)): 1292 <= 1
run: full?/write/main 4: (((5 integer)) <- ((capacity)) ((1 channel)))
mem: ((1 channel)) => #(tagged record (1 0 1065 . nil))
run: capacity/full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: capacity/full?/write/main 0: 1318 => ((default-space space-address))
run: capacity/full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (1 0 1065 . nil)))
run: capacity/full?/write/main 1: #(tagged record (1 0 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1320 <= 1
mem: ((1 channel)): 1321 <= 0
mem: ((1 channel)): 1322 <= 1065
run: capacity/full?/write/main 2: (((4 tagged-value-array-address)) <- ((get)) ((1 channel)) ((2 offset)))
mem: ((1322 tagged-value-array-address) (raw)) => 1065
run: capacity/full?/write/main 2: 1065 => ((4 tagged-value-array-address))
mem: ((4 tagged-value-array-address)): 1323 <= 1065
run: capacity/full?/write/main 3: (((5 integer)) <- ((length)) ((4 tagged-value-array-address) (deref)))
array-len: ((4 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: capacity/full?/write/main 3: 2 => ((5 integer))
mem: ((5 integer)): 1324 <= 2
run: capacity/full?/write/main 4: (((reply)) ((5 integer)))
mem: ((5 integer)) => 2
run: full?/write/main 4: 2 => ((5 integer))
mem: ((5 integer)): 1293 <= 2
run: full?/write/main 5: (((6 boolean)) <- ((less-than)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 1
mem: ((5 integer)) => 2
run: full?/write/main 5: t => ((6 boolean))
mem: ((6 boolean)): 1294 <= t
run: full?/write/main 6: (((jump-if)) ((6 boolean)) ((1 offset)))
mem: ((6 boolean)) => t
run: full?/write/main 8: (((7 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((1289 integer) (raw)) => 1
run: full?/write/main 8: 1 => ((7 integer))
mem: ((7 integer)): 1295 <= 1
run: full?/write/main 9: (((8 boolean)) <- ((equal)) ((7 integer)) ((4 integer)))
mem: ((7 integer)) => 1
mem: ((4 integer)) => 1
run: full?/write/main 9: t => ((8 boolean))
mem: ((8 boolean)): 1296 <= t
run: full?/write/main 10: (((reply)) ((8 boolean)))
mem: ((8 boolean)) => t
run: write/main 3: t => ((4 boolean))
mem: ((4 boolean)): 1261 <= t
run: write/main 4: (((jump-unless)) ((4 boolean)) ((2 offset)))
mem: ((4 boolean)) => t
run: write/main 5: (((5 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: write/main 5: 1062 => ((5 integer-address))
mem: ((5 integer-address)): 1262 <= 1062
run: write/main 6: (((sleep)) ((until-location-changes literal)) ((5 integer-address) (deref)))
mem: ((5 integer-address) (deref)) => 1
schedule: pushing write/main to sleep queue
schedule: waking up read/read-rank/read-move
schedule: read/read-rank/read-move
run: read/read-rank/read-move 6: (((4 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: read/read-rank/read-move 6: 1062 => ((4 integer-address))
mem: ((4 integer-address)): 101193 <= 1062
run: read/read-rank/read-move 7: (((5 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: read/read-rank/read-move 7: 1065 => ((5 tagged-value-array-address))
mem: ((5 tagged-value-array-address)): 101194 <= 1065
run: read/read-rank/read-move 8: (((6 tagged-value)) <- ((index)) ((5 tagged-value-array-address) (deref)) ((4 integer-address) (deref)))
mem: ((4 integer-address) (deref)) => 1
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
mem: ((1068 tagged-value) (raw)) => #(tagged record (character 2 . nil))
run: read/read-rank/read-move 8: #(tagged record (character #\2 . nil)) => ((6 tagged-value))
mem: ((6 tagged-value)): 101195 <= character
mem: ((6 tagged-value)): 101196 <= #\2
run: read/read-rank/read-move 9: (((4 integer-address) (deref)) <- ((add)) ((4 integer-address) (deref)) ((1 literal)))
mem: ((4 integer-address) (deref)) => 1
run: read/read-rank/read-move 9: 2 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1062 <= 2
run: read/read-rank/read-move 10: (((8 integer)) <- ((length)) ((5 tagged-value-array-address) (deref)))
array-len: ((5 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: read/read-rank/read-move 10: 2 => ((8 integer))
mem: ((8 integer)): 101197 <= 2
run: read/read-rank/read-move 11: (((9 boolean)) <- ((less-than)) ((4 integer-address) (deref)) ((8 integer)))
mem: ((4 integer-address) (deref)) => 2
mem: ((8 integer)) => 2
run: read/read-rank/read-move 11: nil => ((9 boolean))
mem: ((9 boolean)): 101198 <= nil
run: read/read-rank/read-move 12: (((jump-if)) ((9 boolean)) ((1 offset)))
mem: ((9 boolean)) => nil
run: read/read-rank/read-move 13: (((4 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: read/read-rank/read-move 13: 0 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1062 <= 0
run: read/read-rank/read-move 14: (((reply)) ((6 tagged-value)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((6 tagged-value)) => #(tagged record (character 2 . nil))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (0 0 1065 . nil))
run: read-rank/read-move 2: #(tagged record (character #\2 . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 101160 <= character
mem: ((2 tagged-value)): 101161 <= #\2
run: read-rank/read-move 2: #(tagged record (0 0 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 0
mem: ((1 channel-address) (deref)): 1063 <= 0
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: read-rank/read-move 3: (((4 character)) <- ((maybe-coerce)) ((2 tagged-value)) ((character literal)))
mem: ((2 tagged-value)) => #(tagged record (character 2 . nil))
run: maybe-coerce/read-rank/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: maybe-coerce/read-rank/read-move 0: 101250 => ((default-space space-address))
run: maybe-coerce/read-rank/read-move 1: (((1 tagged-value-address)) <- ((new)) ((tagged-value literal)))
run: maybe-coerce/read-rank/read-move 1: 101281 => ((1 tagged-value-address))
mem: ((1 tagged-value-address)): 101252 <= 101281
run: maybe-coerce/read-rank/read-move 2: (((1 tagged-value-address) (deref)) <- ((next-input)))
arg: nil 0 (#(tagged record (character #\2 . nil)) character)
run: maybe-coerce/read-rank/read-move 2: #(tagged record (character #\2 . nil)) => ((1 tagged-value-address) (deref))
mem: ((1 tagged-value-address) (deref)): 101281 <= character
mem: ((1 tagged-value-address) (deref)): 101282 <= #\2
run: maybe-coerce/read-rank/read-move 3: (((2 type)) <- ((next-input)))
arg: nil 1 (#(tagged record (character #\2 . nil)) character)
run: maybe-coerce/read-rank/read-move 3: character => ((2 type))
mem: ((2 type)): 101253 <= character
run: maybe-coerce/read-rank/read-move 4: (((3 type)) <- ((get)) ((1 tagged-value-address) (deref)) ((0 offset)))
mem: ((101281 type) (raw)) => character
run: maybe-coerce/read-rank/read-move 4: character => ((3 type))
mem: ((3 type)): 101254 <= character
run: maybe-coerce/read-rank/read-move 5: (((4 boolean)) <- ((equal)) ((3 type)) ((2 type)))
mem: ((3 type)) => character
mem: ((2 type)) => character
run: maybe-coerce/read-rank/read-move 5: t => ((4 boolean))
mem: ((4 boolean)): 101255 <= t
run: maybe-coerce/read-rank/read-move 6: (((jump-if)) ((4 boolean)) ((1 offset)))
mem: ((4 boolean)) => t
run: maybe-coerce/read-rank/read-move 8: (((5 location)) <- ((get)) ((1 tagged-value-address) (deref)) ((1 offset)))
mem: ((101282 location) (raw)) => 2
run: maybe-coerce/read-rank/read-move 8: #\2 => ((5 location))
mem: ((5 location)): 101256 <= #\2
run: maybe-coerce/read-rank/read-move 9: (((reply)) ((5 location)) ((4 boolean)))
mem: ((5 location)) => 2
mem: ((4 boolean)) => t
run: read-rank/read-move 3: #\2 => ((4 character))
mem: ((4 character)): 101162 <= #\2
run: read-rank/read-move 4: (((5 boolean)) <- ((equal)) ((4 character)) ((q literal)))
mem: ((4 character)) => 2
run: read-rank/read-move 4: nil => ((5 boolean))
mem: ((5 boolean)): 101163 <= nil
run: read-rank/read-move 5: (((jump-unless)) ((5 boolean)) ((1 offset)))
mem: ((5 boolean)) => nil
run: read-rank/read-move 7: (((6 integer)) <- ((character-to-integer)) ((4 character)))
mem: ((4 character)) => 2
run: read-rank/read-move 7: 50 => ((6 integer))
mem: ((6 integer)): 101164 <= 50
run: read-rank/read-move 8: (((7 character)) <- ((copy)) ((1 literal)))
run: read-rank/read-move 8: #\1 => ((7 character))
mem: ((7 character)): 101165 <= #\1
run: read-rank/read-move 9: (((8 integer)) <- ((character-to-integer)) ((7 character)))
mem: ((7 character)) => 1
run: read-rank/read-move 9: 49 => ((8 integer))
mem: ((8 integer)): 101166 <= 49
run: read-rank/read-move 10: (((6 integer)) <- ((subtract)) ((6 integer)) ((8 integer)))
mem: ((6 integer)) => 50
mem: ((8 integer)) => 49
run: read-rank/read-move 10: 1 => ((6 integer))
mem: ((6 integer)): 101164 <= 1
run: read-rank/read-move 11: (((9 boolean)) <- ((greater-or-equal)) ((6 integer)) ((0 literal)))
mem: ((6 integer)) => 1
run: read-rank/read-move 11: t => ((9 boolean))
mem: ((9 boolean)): 101167 <= t
run: read-rank/read-move 12: (((assert)) ((9 boolean)) ((rank too low literal)))
mem: ((9 boolean)) => t
run: read-rank/read-move 13: (((10 boolean)) <- ((lesser-or-equal)) ((6 integer)) ((7 literal)))
mem: ((6 integer)) => 1
run: read-rank/read-move 13: t => ((10 boolean))
mem: ((10 boolean)): 101168 <= t
run: read-rank/read-move 14: (((assert)) ((10 boolean)) ((rank too high literal)))
mem: ((10 boolean)) => t
run: read-rank/read-move 15: (((reply)) ((6 integer)))
mem: ((6 integer)) => 1
run: read-move 5: 1 => ((3 integer))
mem: ((3 integer)): 101004 <= 1
run: read-move 6: (((expect-stdin)) ((1 channel-address)) ((- literal)))
mem: ((1 channel-address)) => 1062
run: expect-stdin/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: expect-stdin/read-move 0: 101283 => ((default-space space-address))
run: expect-stdin/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062 #\-)
run: expect-stdin/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101285 <= 1062
run: expect-stdin/read-move 2: (((2 tagged-value)) ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: read/expect-stdin/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read/expect-stdin/read-move 0: 101314 => ((default-space space-address))
run: read/expect-stdin/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read/expect-stdin/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101316 <= 1062
run: read/expect-stdin/read-move 2: (((2 boolean)) <- ((empty?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (0 0 1065 . nil))
run: empty?/read/expect-stdin/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: empty?/read/expect-stdin/read-move 0: 101345 => ((default-space space-address))
run: empty?/read/expect-stdin/read-move 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 0 1065 . nil)))
run: empty?/read/expect-stdin/read-move 1: #(tagged record (0 0 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 101347 <= 0
mem: ((1 channel)): 101348 <= 0
mem: ((1 channel)): 101349 <= 1065
run: empty?/read/expect-stdin/read-move 2: (((4 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((101347 integer) (raw)) => 0
run: empty?/read/expect-stdin/read-move 2: 0 => ((4 integer))
mem: ((4 integer)): 101350 <= 0
run: empty?/read/expect-stdin/read-move 3: (((5 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((101348 integer) (raw)) => 0
run: empty?/read/expect-stdin/read-move 3: 0 => ((5 integer))
mem: ((5 integer)): 101351 <= 0
run: empty?/read/expect-stdin/read-move 4: (((6 boolean)) <- ((equal)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 0
mem: ((5 integer)) => 0
run: empty?/read/expect-stdin/read-move 4: t => ((6 boolean))
mem: ((6 boolean)): 101352 <= t
run: empty?/read/expect-stdin/read-move 5: (((reply)) ((6 boolean)))
mem: ((6 boolean)) => t
run: read/expect-stdin/read-move 2: t => ((2 boolean))
mem: ((2 boolean)): 101317 <= t
run: read/expect-stdin/read-move 3: (((jump-unless)) ((2 boolean)) ((2 offset)))
mem: ((2 boolean)) => t
run: read/expect-stdin/read-move 4: (((3 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: read/expect-stdin/read-move 4: 1063 => ((3 integer-address))
mem: ((3 integer-address)): 101318 <= 1063
run: read/expect-stdin/read-move 5: (((sleep)) ((until-location-changes literal)) ((3 integer-address) (deref)))
mem: ((3 integer-address) (deref)) => 0
schedule: pushing read/expect-stdin/read-move to sleep queue
schedule: waking up write/main
schedule: write/main
run: write/main 7: (((6 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: write/main 7: 1065 => ((6 tagged-value-array-address))
mem: ((6 tagged-value-array-address)): 1263 <= 1065
run: write/main 8: (((7 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: write/main 8: 1063 => ((7 integer-address))
mem: ((7 integer-address)): 1264 <= 1063
run: write/main 9: (((8 tagged-value-address)) <- ((index-address)) ((6 tagged-value-array-address) (deref)) ((7 integer-address) (deref)))
mem: ((7 integer-address) (deref)) => 0
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
run: write/main 9: 1066 => ((8 tagged-value-address))
mem: ((8 tagged-value-address)): 1265 <= 1066
run: write/main 10: (((8 tagged-value-address) (deref)) <- ((copy)) ((2 tagged-value)))
mem: ((2 tagged-value)) => #(tagged record (character - . nil))
run: write/main 10: #(tagged record (character #\- . nil)) => ((8 tagged-value-address) (deref))
mem: ((8 tagged-value-address) (deref)): 1066 <= character
mem: ((8 tagged-value-address) (deref)): 1067 <= #\-
run: write/main 11: (((7 integer-address) (deref)) <- ((add)) ((7 integer-address) (deref)) ((1 literal)))
mem: ((7 integer-address) (deref)) => 0
run: write/main 11: 1 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1063 <= 1
run: write/main 12: (((9 integer)) <- ((length)) ((6 tagged-value-array-address) (deref)))
array-len: ((6 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: write/main 12: 2 => ((9 integer))
mem: ((9 integer)): 1266 <= 2
run: write/main 13: (((10 boolean)) <- ((less-than)) ((7 integer-address) (deref)) ((9 integer)))
mem: ((7 integer-address) (deref)) => 1
mem: ((9 integer)) => 2
run: write/main 13: t => ((10 boolean))
mem: ((10 boolean)): 1267 <= t
run: write/main 14: (((jump-if)) ((10 boolean)) ((1 offset)))
mem: ((10 boolean)) => t
run: write/main 16: (((reply)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (0 1 1065 . nil))
run: main 11: #(tagged record (0 1 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 0
mem: ((1 channel-address) (deref)): 1063 <= 1
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: main 12: (((3 character)) <- ((copy)) ((a literal)))
run: main 12: #\a => ((3 character))
mem: ((3 character)): 1004 <= #\a
run: main 13: (((4 tagged-value)) <- ((save-type)) ((3 character)))
mem: ((3 character)) => a
run: main 13: #(tagged record (character #\a)) => ((4 tagged-value))
mem: ((4 tagged-value)): 1005 <= character
mem: ((4 tagged-value)): 1006 <= #\a
run: main 14: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
mem: ((1 channel-address)) => 1062
mem: ((4 tagged-value)) => #(tagged record (character a . nil))
run: write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: write/main 0: 1349 => ((default-space space-address))
run: write/main 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062 #(tagged record (character #\a . nil)))
run: write/main 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 1351 <= 1062
run: write/main 2: (((2 tagged-value)) <- ((next-input)))
arg: nil 1 (1062 #(tagged record (character #\a . nil)))
run: write/main 2: #(tagged record (character #\a . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 1352 <= character
mem: ((2 tagged-value)): 1353 <= #\a
run: write/main 3: (((4 boolean)) <- ((full?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (0 1 1065 . nil))
run: full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: full?/write/main 0: 1380 => ((default-space space-address))
run: full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 1 1065 . nil)))
run: full?/write/main 1: #(tagged record (0 1 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1382 <= 0
mem: ((1 channel)): 1383 <= 1
mem: ((1 channel)): 1384 <= 1065
run: full?/write/main 2: (((4 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((1383 integer) (raw)) => 1
run: full?/write/main 2: 1 => ((4 integer))
mem: ((4 integer)): 1385 <= 1
run: full?/write/main 3: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal)))
mem: ((4 integer)) => 1
run: full?/write/main 3: 2 => ((4 integer))
mem: ((4 integer)): 1385 <= 2
run: full?/write/main 4: (((5 integer)) <- ((capacity)) ((1 channel)))
mem: ((1 channel)) => #(tagged record (0 1 1065 . nil))
run: capacity/full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: capacity/full?/write/main 0: 1411 => ((default-space space-address))
run: capacity/full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 1 1065 . nil)))
run: capacity/full?/write/main 1: #(tagged record (0 1 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1413 <= 0
mem: ((1 channel)): 1414 <= 1
mem: ((1 channel)): 1415 <= 1065
run: capacity/full?/write/main 2: (((4 tagged-value-array-address)) <- ((get)) ((1 channel)) ((2 offset)))
mem: ((1415 tagged-value-array-address) (raw)) => 1065
run: capacity/full?/write/main 2: 1065 => ((4 tagged-value-array-address))
mem: ((4 tagged-value-array-address)): 1416 <= 1065
run: capacity/full?/write/main 3: (((5 integer)) <- ((length)) ((4 tagged-value-array-address) (deref)))
array-len: ((4 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: capacity/full?/write/main 3: 2 => ((5 integer))
mem: ((5 integer)): 1417 <= 2
run: capacity/full?/write/main 4: (((reply)) ((5 integer)))
mem: ((5 integer)) => 2
run: full?/write/main 4: 2 => ((5 integer))
mem: ((5 integer)): 1386 <= 2
run: full?/write/main 5: (((6 boolean)) <- ((less-than)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 2
mem: ((5 integer)) => 2
run: full?/write/main 5: nil => ((6 boolean))
mem: ((6 boolean)): 1387 <= nil
run: full?/write/main 6: (((jump-if)) ((6 boolean)) ((1 offset)))
mem: ((6 boolean)) => nil
run: full?/write/main 7: (((4 integer)) <- ((copy)) ((0 literal)))
run: full?/write/main 7: 0 => ((4 integer))
mem: ((4 integer)): 1385 <= 0
run: full?/write/main 8: (((7 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((1382 integer) (raw)) => 0
run: full?/write/main 8: 0 => ((7 integer))
mem: ((7 integer)): 1388 <= 0
run: full?/write/main 9: (((8 boolean)) <- ((equal)) ((7 integer)) ((4 integer)))
mem: ((7 integer)) => 0
mem: ((4 integer)) => 0
run: full?/write/main 9: t => ((8 boolean))
mem: ((8 boolean)): 1389 <= t
run: full?/write/main 10: (((reply)) ((8 boolean)))
mem: ((8 boolean)) => t
run: write/main 3: t => ((4 boolean))
mem: ((4 boolean)): 1354 <= t
run: write/main 4: (((jump-unless)) ((4 boolean)) ((2 offset)))
mem: ((4 boolean)) => t
run: write/main 5: (((5 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: write/main 5: 1062 => ((5 integer-address))
mem: ((5 integer-address)): 1355 <= 1062
run: write/main 6: (((sleep)) ((until-location-changes literal)) ((5 integer-address) (deref)))
mem: ((5 integer-address) (deref)) => 0
schedule: pushing write/main to sleep queue
schedule: waking up read/expect-stdin/read-move
schedule: read/expect-stdin/read-move
run: read/expect-stdin/read-move 6: (((4 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: read/expect-stdin/read-move 6: 1062 => ((4 integer-address))
mem: ((4 integer-address)): 101319 <= 1062
run: read/expect-stdin/read-move 7: (((5 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: read/expect-stdin/read-move 7: 1065 => ((5 tagged-value-array-address))
mem: ((5 tagged-value-array-address)): 101320 <= 1065
run: read/expect-stdin/read-move 8: (((6 tagged-value)) <- ((index)) ((5 tagged-value-array-address) (deref)) ((4 integer-address) (deref)))
mem: ((4 integer-address) (deref)) => 0
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
mem: ((1066 tagged-value) (raw)) => #(tagged record (character - . nil))
run: read/expect-stdin/read-move 8: #(tagged record (character #\- . nil)) => ((6 tagged-value))
mem: ((6 tagged-value)): 101321 <= character
mem: ((6 tagged-value)): 101322 <= #\-
run: read/expect-stdin/read-move 9: (((4 integer-address) (deref)) <- ((add)) ((4 integer-address) (deref)) ((1 literal)))
mem: ((4 integer-address) (deref)) => 0
run: read/expect-stdin/read-move 9: 1 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1062 <= 1
run: read/expect-stdin/read-move 10: (((8 integer)) <- ((length)) ((5 tagged-value-array-address) (deref)))
array-len: ((5 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: read/expect-stdin/read-move 10: 2 => ((8 integer))
mem: ((8 integer)): 101323 <= 2
run: read/expect-stdin/read-move 11: (((9 boolean)) <- ((less-than)) ((4 integer-address) (deref)) ((8 integer)))
mem: ((4 integer-address) (deref)) => 1
mem: ((8 integer)) => 2
run: read/expect-stdin/read-move 11: t => ((9 boolean))
mem: ((9 boolean)): 101324 <= t
run: read/expect-stdin/read-move 12: (((jump-if)) ((9 boolean)) ((1 offset)))
mem: ((9 boolean)) => t
run: read/expect-stdin/read-move 14: (((reply)) ((6 tagged-value)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((6 tagged-value)) => #(tagged record (character - . nil))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (1 1 1065 . nil))
run: expect-stdin/read-move 2: #(tagged record (character #\- . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 101286 <= character
mem: ((2 tagged-value)): 101287 <= #\-
run: expect-stdin/read-move 2: #(tagged record (1 1 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 1
mem: ((1 channel-address) (deref)): 1063 <= 1
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: expect-stdin/read-move 3: (((4 character)) <- ((maybe-coerce)) ((2 tagged-value)) ((character literal)))
mem: ((2 tagged-value)) => #(tagged record (character - . nil))
run: maybe-coerce/expect-stdin/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: maybe-coerce/expect-stdin/read-move 0: 101376 => ((default-space space-address))
run: maybe-coerce/expect-stdin/read-move 1: (((1 tagged-value-address)) <- ((new)) ((tagged-value literal)))
run: maybe-coerce/expect-stdin/read-move 1: 101407 => ((1 tagged-value-address))
mem: ((1 tagged-value-address)): 101378 <= 101407
run: maybe-coerce/expect-stdin/read-move 2: (((1 tagged-value-address) (deref)) <- ((next-input)))
arg: nil 0 (#(tagged record (character #\- . nil)) character)
run: maybe-coerce/expect-stdin/read-move 2: #(tagged record (character #\- . nil)) => ((1 tagged-value-address) (deref))
mem: ((1 tagged-value-address) (deref)): 101407 <= character
mem: ((1 tagged-value-address) (deref)): 101408 <= #\-
run: maybe-coerce/expect-stdin/read-move 3: (((2 type)) <- ((next-input)))
arg: nil 1 (#(tagged record (character #\- . nil)) character)
run: maybe-coerce/expect-stdin/read-move 3: character => ((2 type))
mem: ((2 type)): 101379 <= character
run: maybe-coerce/expect-stdin/read-move 4: (((3 type)) <- ((get)) ((1 tagged-value-address) (deref)) ((0 offset)))
mem: ((101407 type) (raw)) => character
run: maybe-coerce/expect-stdin/read-move 4: character => ((3 type))
mem: ((3 type)): 101380 <= character
run: maybe-coerce/expect-stdin/read-move 5: (((4 boolean)) <- ((equal)) ((3 type)) ((2 type)))
mem: ((3 type)) => character
mem: ((2 type)) => character
run: maybe-coerce/expect-stdin/read-move 5: t => ((4 boolean))
mem: ((4 boolean)): 101381 <= t
run: maybe-coerce/expect-stdin/read-move 6: (((jump-if)) ((4 boolean)) ((1 offset)))
mem: ((4 boolean)) => t
run: maybe-coerce/expect-stdin/read-move 8: (((5 location)) <- ((get)) ((1 tagged-value-address) (deref)) ((1 offset)))
mem: ((101408 location) (raw)) => -
run: maybe-coerce/expect-stdin/read-move 8: #\- => ((5 location))
mem: ((5 location)): 101382 <= #\-
run: maybe-coerce/expect-stdin/read-move 9: (((reply)) ((5 location)) ((4 boolean)))
mem: ((5 location)) => -
mem: ((4 boolean)) => t
run: expect-stdin/read-move 3: #\- => ((4 character))
mem: ((4 character)): 101288 <= #\-
run: expect-stdin/read-move 4: (((5 character)) <- ((next-input)))
arg: nil 1 (1062 #\-)
run: expect-stdin/read-move 4: #\- => ((5 character))
mem: ((5 character)): 101289 <= #\-
run: expect-stdin/read-move 5: (((6 boolean)) <- ((equal)) ((4 character)) ((5 character)))
mem: ((4 character)) => -
mem: ((5 character)) => -
run: expect-stdin/read-move 5: t => ((6 boolean))
mem: ((6 boolean)): 101290 <= t
run: expect-stdin/read-move 6: (((assert)) ((6 boolean)) ((expected character not found literal)))
mem: ((6 boolean)) => t
run: read-move 7: (((4 integer)) <- ((read-file)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: read-file/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read-file/read-move 0: 101409 => ((default-space space-address))
run: read-file/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read-file/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101411 <= 1062
run: read-file/read-move 2: (((2 tagged-value)) ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: read/read-file/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read/read-file/read-move 0: 101440 => ((default-space space-address))
run: read/read-file/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read/read-file/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101442 <= 1062
run: read/read-file/read-move 2: (((2 boolean)) <- ((empty?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (1 1 1065 . nil))
run: empty?/read/read-file/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: empty?/read/read-file/read-move 0: 101471 => ((default-space space-address))
run: empty?/read/read-file/read-move 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (1 1 1065 . nil)))
run: empty?/read/read-file/read-move 1: #(tagged record (1 1 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 101473 <= 1
mem: ((1 channel)): 101474 <= 1
mem: ((1 channel)): 101475 <= 1065
run: empty?/read/read-file/read-move 2: (((4 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((101473 integer) (raw)) => 1
run: empty?/read/read-file/read-move 2: 1 => ((4 integer))
mem: ((4 integer)): 101476 <= 1
run: empty?/read/read-file/read-move 3: (((5 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((101474 integer) (raw)) => 1
run: empty?/read/read-file/read-move 3: 1 => ((5 integer))
mem: ((5 integer)): 101477 <= 1
run: empty?/read/read-file/read-move 4: (((6 boolean)) <- ((equal)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 1
mem: ((5 integer)) => 1
run: empty?/read/read-file/read-move 4: t => ((6 boolean))
mem: ((6 boolean)): 101478 <= t
run: empty?/read/read-file/read-move 5: (((reply)) ((6 boolean)))
mem: ((6 boolean)) => t
run: read/read-file/read-move 2: t => ((2 boolean))
mem: ((2 boolean)): 101443 <= t
run: read/read-file/read-move 3: (((jump-unless)) ((2 boolean)) ((2 offset)))
mem: ((2 boolean)) => t
run: read/read-file/read-move 4: (((3 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: read/read-file/read-move 4: 1063 => ((3 integer-address))
mem: ((3 integer-address)): 101444 <= 1063
run: read/read-file/read-move 5: (((sleep)) ((until-location-changes literal)) ((3 integer-address) (deref)))
mem: ((3 integer-address) (deref)) => 1
schedule: pushing read/read-file/read-move to sleep queue
schedule: waking up write/main
schedule: write/main
run: write/main 7: (((6 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: write/main 7: 1065 => ((6 tagged-value-array-address))
mem: ((6 tagged-value-array-address)): 1356 <= 1065
run: write/main 8: (((7 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: write/main 8: 1063 => ((7 integer-address))
mem: ((7 integer-address)): 1357 <= 1063
run: write/main 9: (((8 tagged-value-address)) <- ((index-address)) ((6 tagged-value-array-address) (deref)) ((7 integer-address) (deref)))
mem: ((7 integer-address) (deref)) => 1
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
run: write/main 9: 1068 => ((8 tagged-value-address))
mem: ((8 tagged-value-address)): 1358 <= 1068
run: write/main 10: (((8 tagged-value-address) (deref)) <- ((copy)) ((2 tagged-value)))
mem: ((2 tagged-value)) => #(tagged record (character a . nil))
run: write/main 10: #(tagged record (character #\a . nil)) => ((8 tagged-value-address) (deref))
mem: ((8 tagged-value-address) (deref)): 1068 <= character
mem: ((8 tagged-value-address) (deref)): 1069 <= #\a
run: write/main 11: (((7 integer-address) (deref)) <- ((add)) ((7 integer-address) (deref)) ((1 literal)))
mem: ((7 integer-address) (deref)) => 1
run: write/main 11: 2 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1063 <= 2
run: write/main 12: (((9 integer)) <- ((length)) ((6 tagged-value-array-address) (deref)))
array-len: ((6 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: write/main 12: 2 => ((9 integer))
mem: ((9 integer)): 1359 <= 2
run: write/main 13: (((10 boolean)) <- ((less-than)) ((7 integer-address) (deref)) ((9 integer)))
mem: ((7 integer-address) (deref)) => 2
mem: ((9 integer)) => 2
run: write/main 13: nil => ((10 boolean))
mem: ((10 boolean)): 1360 <= nil
run: write/main 14: (((jump-if)) ((10 boolean)) ((1 offset)))
mem: ((10 boolean)) => nil
run: write/main 15: (((7 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: write/main 15: 0 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1063 <= 0
run: write/main 16: (((reply)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (1 0 1065 . nil))
run: main 14: #(tagged record (1 0 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 1
mem: ((1 channel-address) (deref)): 1063 <= 0
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: main 15: (((3 character)) <- ((copy)) ((4 literal)))
run: main 15: #\4 => ((3 character))
mem: ((3 character)): 1004 <= #\4
run: main 16: (((4 tagged-value)) <- ((save-type)) ((3 character)))
mem: ((3 character)) => 4
run: main 16: #(tagged record (character #\4)) => ((4 tagged-value))
mem: ((4 tagged-value)): 1005 <= character
mem: ((4 tagged-value)): 1006 <= #\4
run: main 17: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
mem: ((1 channel-address)) => 1062
mem: ((4 tagged-value)) => #(tagged record (character 4 . nil))
run: write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: write/main 0: 1442 => ((default-space space-address))
run: write/main 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062 #(tagged record (character #\4 . nil)))
run: write/main 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 1444 <= 1062
run: write/main 2: (((2 tagged-value)) <- ((next-input)))
arg: nil 1 (1062 #(tagged record (character #\4 . nil)))
run: write/main 2: #(tagged record (character #\4 . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 1445 <= character
mem: ((2 tagged-value)): 1446 <= #\4
run: write/main 3: (((4 boolean)) <- ((full?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (1 0 1065 . nil))
run: full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: full?/write/main 0: 1473 => ((default-space space-address))
run: full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (1 0 1065 . nil)))
run: full?/write/main 1: #(tagged record (1 0 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1475 <= 1
mem: ((1 channel)): 1476 <= 0
mem: ((1 channel)): 1477 <= 1065
run: full?/write/main 2: (((4 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((1476 integer) (raw)) => 0
run: full?/write/main 2: 0 => ((4 integer))
mem: ((4 integer)): 1478 <= 0
run: full?/write/main 3: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal)))
mem: ((4 integer)) => 0
run: full?/write/main 3: 1 => ((4 integer))
mem: ((4 integer)): 1478 <= 1
run: full?/write/main 4: (((5 integer)) <- ((capacity)) ((1 channel)))
mem: ((1 channel)) => #(tagged record (1 0 1065 . nil))
run: capacity/full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: capacity/full?/write/main 0: 1504 => ((default-space space-address))
run: capacity/full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (1 0 1065 . nil)))
run: capacity/full?/write/main 1: #(tagged record (1 0 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1506 <= 1
mem: ((1 channel)): 1507 <= 0
mem: ((1 channel)): 1508 <= 1065
run: capacity/full?/write/main 2: (((4 tagged-value-array-address)) <- ((get)) ((1 channel)) ((2 offset)))
mem: ((1508 tagged-value-array-address) (raw)) => 1065
run: capacity/full?/write/main 2: 1065 => ((4 tagged-value-array-address))
mem: ((4 tagged-value-array-address)): 1509 <= 1065
run: capacity/full?/write/main 3: (((5 integer)) <- ((length)) ((4 tagged-value-array-address) (deref)))
array-len: ((4 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: capacity/full?/write/main 3: 2 => ((5 integer))
mem: ((5 integer)): 1510 <= 2
run: capacity/full?/write/main 4: (((reply)) ((5 integer)))
mem: ((5 integer)) => 2
run: full?/write/main 4: 2 => ((5 integer))
mem: ((5 integer)): 1479 <= 2
run: full?/write/main 5: (((6 boolean)) <- ((less-than)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 1
mem: ((5 integer)) => 2
run: full?/write/main 5: t => ((6 boolean))
mem: ((6 boolean)): 1480 <= t
run: full?/write/main 6: (((jump-if)) ((6 boolean)) ((1 offset)))
mem: ((6 boolean)) => t
run: full?/write/main 8: (((7 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((1475 integer) (raw)) => 1
run: full?/write/main 8: 1 => ((7 integer))
mem: ((7 integer)): 1481 <= 1
run: full?/write/main 9: (((8 boolean)) <- ((equal)) ((7 integer)) ((4 integer)))
mem: ((7 integer)) => 1
mem: ((4 integer)) => 1
run: full?/write/main 9: t => ((8 boolean))
mem: ((8 boolean)): 1482 <= t
run: full?/write/main 10: (((reply)) ((8 boolean)))
mem: ((8 boolean)) => t
run: write/main 3: t => ((4 boolean))
mem: ((4 boolean)): 1447 <= t
run: write/main 4: (((jump-unless)) ((4 boolean)) ((2 offset)))
mem: ((4 boolean)) => t
run: write/main 5: (((5 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: write/main 5: 1062 => ((5 integer-address))
mem: ((5 integer-address)): 1448 <= 1062
run: write/main 6: (((sleep)) ((until-location-changes literal)) ((5 integer-address) (deref)))
mem: ((5 integer-address) (deref)) => 1
schedule: pushing write/main to sleep queue
schedule: waking up read/read-file/read-move
schedule: read/read-file/read-move
run: read/read-file/read-move 6: (((4 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: read/read-file/read-move 6: 1062 => ((4 integer-address))
mem: ((4 integer-address)): 101445 <= 1062
run: read/read-file/read-move 7: (((5 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: read/read-file/read-move 7: 1065 => ((5 tagged-value-array-address))
mem: ((5 tagged-value-array-address)): 101446 <= 1065
run: read/read-file/read-move 8: (((6 tagged-value)) <- ((index)) ((5 tagged-value-array-address) (deref)) ((4 integer-address) (deref)))
mem: ((4 integer-address) (deref)) => 1
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
mem: ((1068 tagged-value) (raw)) => #(tagged record (character a . nil))
run: read/read-file/read-move 8: #(tagged record (character #\a . nil)) => ((6 tagged-value))
mem: ((6 tagged-value)): 101447 <= character
mem: ((6 tagged-value)): 101448 <= #\a
run: read/read-file/read-move 9: (((4 integer-address) (deref)) <- ((add)) ((4 integer-address) (deref)) ((1 literal)))
mem: ((4 integer-address) (deref)) => 1
run: read/read-file/read-move 9: 2 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1062 <= 2
run: read/read-file/read-move 10: (((8 integer)) <- ((length)) ((5 tagged-value-array-address) (deref)))
array-len: ((5 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: read/read-file/read-move 10: 2 => ((8 integer))
mem: ((8 integer)): 101449 <= 2
run: read/read-file/read-move 11: (((9 boolean)) <- ((less-than)) ((4 integer-address) (deref)) ((8 integer)))
mem: ((4 integer-address) (deref)) => 2
mem: ((8 integer)) => 2
run: read/read-file/read-move 11: nil => ((9 boolean))
mem: ((9 boolean)): 101450 <= nil
run: read/read-file/read-move 12: (((jump-if)) ((9 boolean)) ((1 offset)))
mem: ((9 boolean)) => nil
run: read/read-file/read-move 13: (((4 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: read/read-file/read-move 13: 0 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1062 <= 0
run: read/read-file/read-move 14: (((reply)) ((6 tagged-value)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((6 tagged-value)) => #(tagged record (character a . nil))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (0 0 1065 . nil))
run: read-file/read-move 2: #(tagged record (character #\a . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 101412 <= character
mem: ((2 tagged-value)): 101413 <= #\a
run: read-file/read-move 2: #(tagged record (0 0 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 0
mem: ((1 channel-address) (deref)): 1063 <= 0
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: read-file/read-move 3: (((4 character)) <- ((copy)) ((a literal)))
run: read-file/read-move 3: #\a => ((4 character))
mem: ((4 character)): 101414 <= #\a
run: read-file/read-move 4: (((5 integer)) <- ((character-to-integer)) ((4 character)))
mem: ((4 character)) => a
run: read-file/read-move 4: 97 => ((5 integer))
mem: ((5 integer)): 101415 <= 97
run: read-file/read-move 5: (((6 character)) <- ((maybe-coerce)) ((2 tagged-value)) ((character literal)))
mem: ((2 tagged-value)) => #(tagged record (character a . nil))
run: maybe-coerce/read-file/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: maybe-coerce/read-file/read-move 0: 101502 => ((default-space space-address))
run: maybe-coerce/read-file/read-move 1: (((1 tagged-value-address)) <- ((new)) ((tagged-value literal)))
run: maybe-coerce/read-file/read-move 1: 101533 => ((1 tagged-value-address))
mem: ((1 tagged-value-address)): 101504 <= 101533
run: maybe-coerce/read-file/read-move 2: (((1 tagged-value-address) (deref)) <- ((next-input)))
arg: nil 0 (#(tagged record (character #\a . nil)) character)
run: maybe-coerce/read-file/read-move 2: #(tagged record (character #\a . nil)) => ((1 tagged-value-address) (deref))
mem: ((1 tagged-value-address) (deref)): 101533 <= character
mem: ((1 tagged-value-address) (deref)): 101534 <= #\a
run: maybe-coerce/read-file/read-move 3: (((2 type)) <- ((next-input)))
arg: nil 1 (#(tagged record (character #\a . nil)) character)
run: maybe-coerce/read-file/read-move 3: character => ((2 type))
mem: ((2 type)): 101505 <= character
run: maybe-coerce/read-file/read-move 4: (((3 type)) <- ((get)) ((1 tagged-value-address) (deref)) ((0 offset)))
mem: ((101533 type) (raw)) => character
run: maybe-coerce/read-file/read-move 4: character => ((3 type))
mem: ((3 type)): 101506 <= character
run: maybe-coerce/read-file/read-move 5: (((4 boolean)) <- ((equal)) ((3 type)) ((2 type)))
mem: ((3 type)) => character
mem: ((2 type)) => character
run: maybe-coerce/read-file/read-move 5: t => ((4 boolean))
mem: ((4 boolean)): 101507 <= t
run: maybe-coerce/read-file/read-move 6: (((jump-if)) ((4 boolean)) ((1 offset)))
mem: ((4 boolean)) => t
run: maybe-coerce/read-file/read-move 8: (((5 location)) <- ((get)) ((1 tagged-value-address) (deref)) ((1 offset)))
mem: ((101534 location) (raw)) => a
run: maybe-coerce/read-file/read-move 8: #\a => ((5 location))
mem: ((5 location)): 101508 <= #\a
run: maybe-coerce/read-file/read-move 9: (((reply)) ((5 location)) ((4 boolean)))
mem: ((5 location)) => a
mem: ((4 boolean)) => t
run: read-file/read-move 5: #\a => ((6 character))
mem: ((6 character)): 101416 <= #\a
run: read-file/read-move 6: (((7 boolean)) <- ((equal)) ((6 character)) ((q literal)))
mem: ((6 character)) => a
run: read-file/read-move 6: nil => ((7 boolean))
mem: ((7 boolean)): 101417 <= nil
run: read-file/read-move 7: (((jump-unless)) ((7 boolean)) ((1 offset)))
mem: ((7 boolean)) => nil
run: read-file/read-move 9: (((8 integer)) <- ((character-to-integer)) ((6 character)))
mem: ((6 character)) => a
run: read-file/read-move 9: 97 => ((8 integer))
mem: ((8 integer)): 101418 <= 97
run: read-file/read-move 10: (((8 integer)) <- ((subtract)) ((8 integer)) ((5 integer)))
mem: ((8 integer)) => 97
mem: ((5 integer)) => 97
run: read-file/read-move 10: 0 => ((8 integer))
mem: ((8 integer)): 101418 <= 0
run: read-file/read-move 11: (((9 boolean)) <- ((greater-or-equal)) ((8 integer)) ((0 literal)))
mem: ((8 integer)) => 0
run: read-file/read-move 11: t => ((9 boolean))
mem: ((9 boolean)): 101419 <= t
run: read-file/read-move 12: (((assert)) ((9 boolean)) ((file too low literal)))
mem: ((9 boolean)) => t
run: read-file/read-move 13: (((10 boolean)) <- ((lesser-or-equal)) ((8 integer)) ((7 literal)))
mem: ((8 integer)) => 0
run: read-file/read-move 13: t => ((10 boolean))
mem: ((10 boolean)): 101420 <= t
run: read-file/read-move 14: (((assert)) ((10 boolean)) ((file too high literal)))
mem: ((10 boolean)) => t
run: read-file/read-move 15: (((reply)) ((8 integer)))
mem: ((8 integer)) => 0
run: read-move 7: 0 => ((4 integer))
mem: ((4 integer)): 101005 <= 0
run: read-move 8: (((5 integer)) <- ((read-rank)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: read-rank/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read-rank/read-move 0: 101535 => ((default-space space-address))
run: read-rank/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read-rank/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101537 <= 1062
run: read-rank/read-move 2: (((2 tagged-value)) ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: read/read-rank/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read/read-rank/read-move 0: 101566 => ((default-space space-address))
run: read/read-rank/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read/read-rank/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101568 <= 1062
run: read/read-rank/read-move 2: (((2 boolean)) <- ((empty?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (0 0 1065 . nil))
run: empty?/read/read-rank/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: empty?/read/read-rank/read-move 0: 101597 => ((default-space space-address))
run: empty?/read/read-rank/read-move 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 0 1065 . nil)))
run: empty?/read/read-rank/read-move 1: #(tagged record (0 0 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 101599 <= 0
mem: ((1 channel)): 101600 <= 0
mem: ((1 channel)): 101601 <= 1065
run: empty?/read/read-rank/read-move 2: (((4 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((101599 integer) (raw)) => 0
run: empty?/read/read-rank/read-move 2: 0 => ((4 integer))
mem: ((4 integer)): 101602 <= 0
run: empty?/read/read-rank/read-move 3: (((5 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((101600 integer) (raw)) => 0
run: empty?/read/read-rank/read-move 3: 0 => ((5 integer))
mem: ((5 integer)): 101603 <= 0
run: empty?/read/read-rank/read-move 4: (((6 boolean)) <- ((equal)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 0
mem: ((5 integer)) => 0
run: empty?/read/read-rank/read-move 4: t => ((6 boolean))
mem: ((6 boolean)): 101604 <= t
run: empty?/read/read-rank/read-move 5: (((reply)) ((6 boolean)))
mem: ((6 boolean)) => t
run: read/read-rank/read-move 2: t => ((2 boolean))
mem: ((2 boolean)): 101569 <= t
run: read/read-rank/read-move 3: (((jump-unless)) ((2 boolean)) ((2 offset)))
mem: ((2 boolean)) => t
run: read/read-rank/read-move 4: (((3 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: read/read-rank/read-move 4: 1063 => ((3 integer-address))
mem: ((3 integer-address)): 101570 <= 1063
run: read/read-rank/read-move 5: (((sleep)) ((until-location-changes literal)) ((3 integer-address) (deref)))
mem: ((3 integer-address) (deref)) => 0
schedule: pushing read/read-rank/read-move to sleep queue
schedule: waking up write/main
schedule: write/main
run: write/main 7: (((6 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: write/main 7: 1065 => ((6 tagged-value-array-address))
mem: ((6 tagged-value-array-address)): 1449 <= 1065
run: write/main 8: (((7 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: write/main 8: 1063 => ((7 integer-address))
mem: ((7 integer-address)): 1450 <= 1063
run: write/main 9: (((8 tagged-value-address)) <- ((index-address)) ((6 tagged-value-array-address) (deref)) ((7 integer-address) (deref)))
mem: ((7 integer-address) (deref)) => 0
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
run: write/main 9: 1066 => ((8 tagged-value-address))
mem: ((8 tagged-value-address)): 1451 <= 1066
run: write/main 10: (((8 tagged-value-address) (deref)) <- ((copy)) ((2 tagged-value)))
mem: ((2 tagged-value)) => #(tagged record (character 4 . nil))
run: write/main 10: #(tagged record (character #\4 . nil)) => ((8 tagged-value-address) (deref))
mem: ((8 tagged-value-address) (deref)): 1066 <= character
mem: ((8 tagged-value-address) (deref)): 1067 <= #\4
run: write/main 11: (((7 integer-address) (deref)) <- ((add)) ((7 integer-address) (deref)) ((1 literal)))
mem: ((7 integer-address) (deref)) => 0
run: write/main 11: 1 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1063 <= 1
run: write/main 12: (((9 integer)) <- ((length)) ((6 tagged-value-array-address) (deref)))
array-len: ((6 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: write/main 12: 2 => ((9 integer))
mem: ((9 integer)): 1452 <= 2
run: write/main 13: (((10 boolean)) <- ((less-than)) ((7 integer-address) (deref)) ((9 integer)))
mem: ((7 integer-address) (deref)) => 1
mem: ((9 integer)) => 2
run: write/main 13: t => ((10 boolean))
mem: ((10 boolean)): 1453 <= t
run: write/main 14: (((jump-if)) ((10 boolean)) ((1 offset)))
mem: ((10 boolean)) => t
run: write/main 16: (((reply)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (0 1 1065 . nil))
run: main 17: #(tagged record (0 1 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 0
mem: ((1 channel-address) (deref)): 1063 <= 1
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: main 18: (((3 character)) <- ((copy)) ((
 literal)))
run: main 18: #\newline => ((3 character))
mem: ((3 character)): 1004 <= #\newline
run: main 19: (((4 tagged-value)) <- ((save-type)) ((3 character)))
mem: ((3 character)) => 

run: main 19: #(tagged record (character #\newline)) => ((4 tagged-value))
mem: ((4 tagged-value)): 1005 <= character
mem: ((4 tagged-value)): 1006 <= #\newline
run: main 20: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((4 tagged-value)))
mem: ((1 channel-address)) => 1062
mem: ((4 tagged-value)) => #(tagged record (character 
 . nil))
run: write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: write/main 0: 1535 => ((default-space space-address))
run: write/main 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062 #(tagged record (character #\newline . nil)))
run: write/main 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 1537 <= 1062
run: write/main 2: (((2 tagged-value)) <- ((next-input)))
arg: nil 1 (1062 #(tagged record (character #\newline . nil)))
run: write/main 2: #(tagged record (character #\newline . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 1538 <= character
mem: ((2 tagged-value)): 1539 <= #\newline
run: write/main 3: (((4 boolean)) <- ((full?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (0 1 1065 . nil))
run: full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: full?/write/main 0: 1566 => ((default-space space-address))
run: full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 1 1065 . nil)))
run: full?/write/main 1: #(tagged record (0 1 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1568 <= 0
mem: ((1 channel)): 1569 <= 1
mem: ((1 channel)): 1570 <= 1065
run: full?/write/main 2: (((4 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((1569 integer) (raw)) => 1
run: full?/write/main 2: 1 => ((4 integer))
mem: ((4 integer)): 1571 <= 1
run: full?/write/main 3: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal)))
mem: ((4 integer)) => 1
run: full?/write/main 3: 2 => ((4 integer))
mem: ((4 integer)): 1571 <= 2
run: full?/write/main 4: (((5 integer)) <- ((capacity)) ((1 channel)))
mem: ((1 channel)) => #(tagged record (0 1 1065 . nil))
run: capacity/full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: capacity/full?/write/main 0: 1597 => ((default-space space-address))
run: capacity/full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 1 1065 . nil)))
run: capacity/full?/write/main 1: #(tagged record (0 1 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 1599 <= 0
mem: ((1 channel)): 1600 <= 1
mem: ((1 channel)): 1601 <= 1065
run: capacity/full?/write/main 2: (((4 tagged-value-array-address)) <- ((get)) ((1 channel)) ((2 offset)))
mem: ((1601 tagged-value-array-address) (raw)) => 1065
run: capacity/full?/write/main 2: 1065 => ((4 tagged-value-array-address))
mem: ((4 tagged-value-array-address)): 1602 <= 1065
run: capacity/full?/write/main 3: (((5 integer)) <- ((length)) ((4 tagged-value-array-address) (deref)))
array-len: ((4 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: capacity/full?/write/main 3: 2 => ((5 integer))
mem: ((5 integer)): 1603 <= 2
run: capacity/full?/write/main 4: (((reply)) ((5 integer)))
mem: ((5 integer)) => 2
run: full?/write/main 4: 2 => ((5 integer))
mem: ((5 integer)): 1572 <= 2
run: full?/write/main 5: (((6 boolean)) <- ((less-than)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 2
mem: ((5 integer)) => 2
run: full?/write/main 5: nil => ((6 boolean))
mem: ((6 boolean)): 1573 <= nil
run: full?/write/main 6: (((jump-if)) ((6 boolean)) ((1 offset)))
mem: ((6 boolean)) => nil
run: full?/write/main 7: (((4 integer)) <- ((copy)) ((0 literal)))
run: full?/write/main 7: 0 => ((4 integer))
mem: ((4 integer)): 1571 <= 0
run: full?/write/main 8: (((7 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((1568 integer) (raw)) => 0
run: full?/write/main 8: 0 => ((7 integer))
mem: ((7 integer)): 1574 <= 0
run: full?/write/main 9: (((8 boolean)) <- ((equal)) ((7 integer)) ((4 integer)))
mem: ((7 integer)) => 0
mem: ((4 integer)) => 0
run: full?/write/main 9: t => ((8 boolean))
mem: ((8 boolean)): 1575 <= t
run: full?/write/main 10: (((reply)) ((8 boolean)))
mem: ((8 boolean)) => t
run: write/main 3: t => ((4 boolean))
mem: ((4 boolean)): 1540 <= t
run: write/main 4: (((jump-unless)) ((4 boolean)) ((2 offset)))
mem: ((4 boolean)) => t
run: write/main 5: (((5 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: write/main 5: 1062 => ((5 integer-address))
mem: ((5 integer-address)): 1541 <= 1062
run: write/main 6: (((sleep)) ((until-location-changes literal)) ((5 integer-address) (deref)))
mem: ((5 integer-address) (deref)) => 0
schedule: pushing write/main to sleep queue
schedule: waking up read/read-rank/read-move
schedule: read/read-rank/read-move
run: read/read-rank/read-move 6: (((4 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: read/read-rank/read-move 6: 1062 => ((4 integer-address))
mem: ((4 integer-address)): 101571 <= 1062
run: read/read-rank/read-move 7: (((5 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: read/read-rank/read-move 7: 1065 => ((5 tagged-value-array-address))
mem: ((5 tagged-value-array-address)): 101572 <= 1065
run: read/read-rank/read-move 8: (((6 tagged-value)) <- ((index)) ((5 tagged-value-array-address) (deref)) ((4 integer-address) (deref)))
mem: ((4 integer-address) (deref)) => 0
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
mem: ((1066 tagged-value) (raw)) => #(tagged record (character 4 . nil))
run: read/read-rank/read-move 8: #(tagged record (character #\4 . nil)) => ((6 tagged-value))
mem: ((6 tagged-value)): 101573 <= character
mem: ((6 tagged-value)): 101574 <= #\4
run: read/read-rank/read-move 9: (((4 integer-address) (deref)) <- ((add)) ((4 integer-address) (deref)) ((1 literal)))
mem: ((4 integer-address) (deref)) => 0
run: read/read-rank/read-move 9: 1 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1062 <= 1
run: read/read-rank/read-move 10: (((8 integer)) <- ((length)) ((5 tagged-value-array-address) (deref)))
array-len: ((5 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: read/read-rank/read-move 10: 2 => ((8 integer))
mem: ((8 integer)): 101575 <= 2
run: read/read-rank/read-move 11: (((9 boolean)) <- ((less-than)) ((4 integer-address) (deref)) ((8 integer)))
mem: ((4 integer-address) (deref)) => 1
mem: ((8 integer)) => 2
run: read/read-rank/read-move 11: t => ((9 boolean))
mem: ((9 boolean)): 101576 <= t
run: read/read-rank/read-move 12: (((jump-if)) ((9 boolean)) ((1 offset)))
mem: ((9 boolean)) => t
run: read/read-rank/read-move 14: (((reply)) ((6 tagged-value)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((6 tagged-value)) => #(tagged record (character 4 . nil))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (1 1 1065 . nil))
run: read-rank/read-move 2: #(tagged record (character #\4 . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 101538 <= character
mem: ((2 tagged-value)): 101539 <= #\4
run: read-rank/read-move 2: #(tagged record (1 1 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 1
mem: ((1 channel-address) (deref)): 1063 <= 1
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: read-rank/read-move 3: (((4 character)) <- ((maybe-coerce)) ((2 tagged-value)) ((character literal)))
mem: ((2 tagged-value)) => #(tagged record (character 4 . nil))
run: maybe-coerce/read-rank/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: maybe-coerce/read-rank/read-move 0: 101628 => ((default-space space-address))
run: maybe-coerce/read-rank/read-move 1: (((1 tagged-value-address)) <- ((new)) ((tagged-value literal)))
run: maybe-coerce/read-rank/read-move 1: 101659 => ((1 tagged-value-address))
mem: ((1 tagged-value-address)): 101630 <= 101659
run: maybe-coerce/read-rank/read-move 2: (((1 tagged-value-address) (deref)) <- ((next-input)))
arg: nil 0 (#(tagged record (character #\4 . nil)) character)
run: maybe-coerce/read-rank/read-move 2: #(tagged record (character #\4 . nil)) => ((1 tagged-value-address) (deref))
mem: ((1 tagged-value-address) (deref)): 101659 <= character
mem: ((1 tagged-value-address) (deref)): 101660 <= #\4
run: maybe-coerce/read-rank/read-move 3: (((2 type)) <- ((next-input)))
arg: nil 1 (#(tagged record (character #\4 . nil)) character)
run: maybe-coerce/read-rank/read-move 3: character => ((2 type))
mem: ((2 type)): 101631 <= character
run: maybe-coerce/read-rank/read-move 4: (((3 type)) <- ((get)) ((1 tagged-value-address) (deref)) ((0 offset)))
mem: ((101659 type) (raw)) => character
run: maybe-coerce/read-rank/read-move 4: character => ((3 type))
mem: ((3 type)): 101632 <= character
run: maybe-coerce/read-rank/read-move 5: (((4 boolean)) <- ((equal)) ((3 type)) ((2 type)))
mem: ((3 type)) => character
mem: ((2 type)) => character
run: maybe-coerce/read-rank/read-move 5: t => ((4 boolean))
mem: ((4 boolean)): 101633 <= t
run: maybe-coerce/read-rank/read-move 6: (((jump-if)) ((4 boolean)) ((1 offset)))
mem: ((4 boolean)) => t
run: maybe-coerce/read-rank/read-move 8: (((5 location)) <- ((get)) ((1 tagged-value-address) (deref)) ((1 offset)))
mem: ((101660 location) (raw)) => 4
run: maybe-coerce/read-rank/read-move 8: #\4 => ((5 location))
mem: ((5 location)): 101634 <= #\4
run: maybe-coerce/read-rank/read-move 9: (((reply)) ((5 location)) ((4 boolean)))
mem: ((5 location)) => 4
mem: ((4 boolean)) => t
run: read-rank/read-move 3: #\4 => ((4 character))
mem: ((4 character)): 101540 <= #\4
run: read-rank/read-move 4: (((5 boolean)) <- ((equal)) ((4 character)) ((q literal)))
mem: ((4 character)) => 4
run: read-rank/read-move 4: nil => ((5 boolean))
mem: ((5 boolean)): 101541 <= nil
run: read-rank/read-move 5: (((jump-unless)) ((5 boolean)) ((1 offset)))
mem: ((5 boolean)) => nil
run: read-rank/read-move 7: (((6 integer)) <- ((character-to-integer)) ((4 character)))
mem: ((4 character)) => 4
run: read-rank/read-move 7: 52 => ((6 integer))
mem: ((6 integer)): 101542 <= 52
run: read-rank/read-move 8: (((7 character)) <- ((copy)) ((1 literal)))
run: read-rank/read-move 8: #\1 => ((7 character))
mem: ((7 character)): 101543 <= #\1
run: read-rank/read-move 9: (((8 integer)) <- ((character-to-integer)) ((7 character)))
mem: ((7 character)) => 1
run: read-rank/read-move 9: 49 => ((8 integer))
mem: ((8 integer)): 101544 <= 49
run: read-rank/read-move 10: (((6 integer)) <- ((subtract)) ((6 integer)) ((8 integer)))
mem: ((6 integer)) => 52
mem: ((8 integer)) => 49
run: read-rank/read-move 10: 3 => ((6 integer))
mem: ((6 integer)): 101542 <= 3
run: read-rank/read-move 11: (((9 boolean)) <- ((greater-or-equal)) ((6 integer)) ((0 literal)))
mem: ((6 integer)) => 3
run: read-rank/read-move 11: t => ((9 boolean))
mem: ((9 boolean)): 101545 <= t
run: read-rank/read-move 12: (((assert)) ((9 boolean)) ((rank too low literal)))
mem: ((9 boolean)) => t
run: read-rank/read-move 13: (((10 boolean)) <- ((lesser-or-equal)) ((6 integer)) ((7 literal)))
mem: ((6 integer)) => 3
run: read-rank/read-move 13: t => ((10 boolean))
mem: ((10 boolean)): 101546 <= t
run: read-rank/read-move 14: (((assert)) ((10 boolean)) ((rank too high literal)))
mem: ((10 boolean)) => t
run: read-rank/read-move 15: (((reply)) ((6 integer)))
mem: ((6 integer)) => 3
run: read-move 8: 3 => ((5 integer))
mem: ((5 integer)): 101006 <= 3
run: read-move 9: (((expect-stdin)) ((1 channel-address)) ((
 literal)))
mem: ((1 channel-address)) => 1062
run: expect-stdin/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: expect-stdin/read-move 0: 101661 => ((default-space space-address))
run: expect-stdin/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062 #\newline)
run: expect-stdin/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101663 <= 1062
run: expect-stdin/read-move 2: (((2 tagged-value)) ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
mem: ((1 channel-address)) => 1062
run: read/expect-stdin/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read/expect-stdin/read-move 0: 101692 => ((default-space space-address))
run: read/expect-stdin/read-move 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1062)
run: read/expect-stdin/read-move 1: 1062 => ((1 channel-address))
mem: ((1 channel-address)): 101694 <= 1062
run: read/expect-stdin/read-move 2: (((2 boolean)) <- ((empty?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (1 1 1065 . nil))
run: empty?/read/expect-stdin/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: empty?/read/expect-stdin/read-move 0: 101723 => ((default-space space-address))
run: empty?/read/expect-stdin/read-move 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (1 1 1065 . nil)))
run: empty?/read/expect-stdin/read-move 1: #(tagged record (1 1 1065 . nil)) => ((1 channel))
mem: ((1 channel)): 101725 <= 1
mem: ((1 channel)): 101726 <= 1
mem: ((1 channel)): 101727 <= 1065
run: empty?/read/expect-stdin/read-move 2: (((4 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((101725 integer) (raw)) => 1
run: empty?/read/expect-stdin/read-move 2: 1 => ((4 integer))
mem: ((4 integer)): 101728 <= 1
run: empty?/read/expect-stdin/read-move 3: (((5 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((101726 integer) (raw)) => 1
run: empty?/read/expect-stdin/read-move 3: 1 => ((5 integer))
mem: ((5 integer)): 101729 <= 1
run: empty?/read/expect-stdin/read-move 4: (((6 boolean)) <- ((equal)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 1
mem: ((5 integer)) => 1
run: empty?/read/expect-stdin/read-move 4: t => ((6 boolean))
mem: ((6 boolean)): 101730 <= t
run: empty?/read/expect-stdin/read-move 5: (((reply)) ((6 boolean)))
mem: ((6 boolean)) => t
run: read/expect-stdin/read-move 2: t => ((2 boolean))
mem: ((2 boolean)): 101695 <= t
run: read/expect-stdin/read-move 3: (((jump-unless)) ((2 boolean)) ((2 offset)))
mem: ((2 boolean)) => t
run: read/expect-stdin/read-move 4: (((3 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: read/expect-stdin/read-move 4: 1063 => ((3 integer-address))
mem: ((3 integer-address)): 101696 <= 1063
run: read/expect-stdin/read-move 5: (((sleep)) ((until-location-changes literal)) ((3 integer-address) (deref)))
mem: ((3 integer-address) (deref)) => 1
schedule: pushing read/expect-stdin/read-move to sleep queue
schedule: waking up write/main
schedule: write/main
run: write/main 7: (((6 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: write/main 7: 1065 => ((6 tagged-value-array-address))
mem: ((6 tagged-value-array-address)): 1542 <= 1065
run: write/main 8: (((7 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: write/main 8: 1063 => ((7 integer-address))
mem: ((7 integer-address)): 1543 <= 1063
run: write/main 9: (((8 tagged-value-address)) <- ((index-address)) ((6 tagged-value-array-address) (deref)) ((7 integer-address) (deref)))
mem: ((7 integer-address) (deref)) => 1
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
run: write/main 9: 1068 => ((8 tagged-value-address))
mem: ((8 tagged-value-address)): 1544 <= 1068
run: write/main 10: (((8 tagged-value-address) (deref)) <- ((copy)) ((2 tagged-value)))
mem: ((2 tagged-value)) => #(tagged record (character 
 . nil))
run: write/main 10: #(tagged record (character #\newline . nil)) => ((8 tagged-value-address) (deref))
mem: ((8 tagged-value-address) (deref)): 1068 <= character
mem: ((8 tagged-value-address) (deref)): 1069 <= #\newline
run: write/main 11: (((7 integer-address) (deref)) <- ((add)) ((7 integer-address) (deref)) ((1 literal)))
mem: ((7 integer-address) (deref)) => 1
run: write/main 11: 2 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1063 <= 2
run: write/main 12: (((9 integer)) <- ((length)) ((6 tagged-value-array-address) (deref)))
array-len: ((6 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: write/main 12: 2 => ((9 integer))
mem: ((9 integer)): 1545 <= 2
run: write/main 13: (((10 boolean)) <- ((less-than)) ((7 integer-address) (deref)) ((9 integer)))
mem: ((7 integer-address) (deref)) => 2
mem: ((9 integer)) => 2
run: write/main 13: nil => ((10 boolean))
mem: ((10 boolean)): 1546 <= nil
run: write/main 14: (((jump-if)) ((10 boolean)) ((1 offset)))
mem: ((10 boolean)) => nil
run: write/main 15: (((7 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: write/main 15: 0 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1063 <= 0
run: write/main 16: (((reply)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (1 0 1065 . nil))
run: main 20: #(tagged record (1 0 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 1
mem: ((1 channel-address) (deref)): 1063 <= 0
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: main 21: (((sleep)) ((until-routine-done literal)) ((2 integer) (routine)))
mem: ((2 integer) (routine)) => 1
schedule: pushing main to sleep queue
schedule: waking up read/expect-stdin/read-move
schedule: read/expect-stdin/read-move
run: read/expect-stdin/read-move 6: (((4 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: read/expect-stdin/read-move 6: 1062 => ((4 integer-address))
mem: ((4 integer-address)): 101697 <= 1062
run: read/expect-stdin/read-move 7: (((5 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1064 tagged-value-array-address) (raw)) => 1065
run: read/expect-stdin/read-move 7: 1065 => ((5 tagged-value-array-address))
mem: ((5 tagged-value-array-address)): 101698 <= 1065
run: read/expect-stdin/read-move 8: (((6 tagged-value)) <- ((index)) ((5 tagged-value-array-address) (deref)) ((4 integer-address) (deref)))
mem: ((4 integer-address) (deref)) => 1
array-len: ((1065 tagged-value-array) (raw))
mem: ((1065 integer) (raw)) => 2
mem: ((1068 tagged-value) (raw)) => #(tagged record (character 
 . nil))
run: read/expect-stdin/read-move 8: #(tagged record (character #\newline . nil)) => ((6 tagged-value))
mem: ((6 tagged-value)): 101699 <= character
mem: ((6 tagged-value)): 101700 <= #\newline
run: read/expect-stdin/read-move 9: (((4 integer-address) (deref)) <- ((add)) ((4 integer-address) (deref)) ((1 literal)))
mem: ((4 integer-address) (deref)) => 1
run: read/expect-stdin/read-move 9: 2 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1062 <= 2
run: read/expect-stdin/read-move 10: (((8 integer)) <- ((length)) ((5 tagged-value-array-address) (deref)))
array-len: ((5 tagged-value-array-address) (deref))
mem: ((1065 integer) (raw)) => 2
run: read/expect-stdin/read-move 10: 2 => ((8 integer))
mem: ((8 integer)): 101701 <= 2
run: read/expect-stdin/read-move 11: (((9 boolean)) <- ((less-than)) ((4 integer-address) (deref)) ((8 integer)))
mem: ((4 integer-address) (deref)) => 2
mem: ((8 integer)) => 2
run: read/expect-stdin/read-move 11: nil => ((9 boolean))
mem: ((9 boolean)): 101702 <= nil
run: read/expect-stdin/read-move 12: (((jump-if)) ((9 boolean)) ((1 offset)))
mem: ((9 boolean)) => nil
run: read/expect-stdin/read-move 13: (((4 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: read/expect-stdin/read-move 13: 0 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1062 <= 0
run: read/expect-stdin/read-move 14: (((reply)) ((6 tagged-value)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((6 tagged-value)) => #(tagged record (character 
 . nil))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (0 0 1065 . nil))
run: expect-stdin/read-move 2: #(tagged record (character #\newline . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 101664 <= character
mem: ((2 tagged-value)): 101665 <= #\newline
run: expect-stdin/read-move 2: #(tagged record (0 0 1065 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1062 <= 0
mem: ((1 channel-address) (deref)): 1063 <= 0
mem: ((1 channel-address) (deref)): 1064 <= 1065
run: expect-stdin/read-move 3: (((4 character)) <- ((maybe-coerce)) ((2 tagged-value)) ((character literal)))
mem: ((2 tagged-value)) => #(tagged record (character 
 . nil))
run: maybe-coerce/expect-stdin/read-move 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: maybe-coerce/expect-stdin/read-move 0: 101754 => ((default-space space-address))
run: maybe-coerce/expect-stdin/read-move 1: (((1 tagged-value-address)) <- ((new)) ((tagged-value literal)))
run: maybe-coerce/expect-stdin/read-move 1: 101785 => ((1 tagged-value-address))
mem: ((1 tagged-value-address)): 101756 <= 101785
run: maybe-coerce/expect-stdin/read-move 2: (((1 tagged-value-address) (deref)) <- ((next-input)))
arg: nil 0 (#(tagged record (character #\newline . nil)) character)
run: maybe-coerce/expect-stdin/read-move 2: #(tagged record (character #\newline . nil)) => ((1 tagged-value-address) (deref))
mem: ((1 tagged-value-address) (deref)): 101785 <= character
mem: ((1 tagged-value-address) (deref)): 101786 <= #\newline
run: maybe-coerce/expect-stdin/read-move 3: (((2 type)) <- ((next-input)))
arg: nil 1 (#(tagged record (character #\newline . nil)) character)
run: maybe-coerce/expect-stdin/read-move 3: character => ((2 type))
mem: ((2 type)): 101757 <= character
run: maybe-coerce/expect-stdin/read-move 4: (((3 type)) <- ((get)) ((1 tagged-value-address) (deref)) ((0 offset)))
mem: ((101785 type) (raw)) => character
run: maybe-coerce/expect-stdin/read-move 4: character => ((3 type))
mem: ((3 type)): 101758 <= character
run: maybe-coerce/expect-stdin/read-move 5: (((4 boolean)) <- ((equal)) ((3 type)) ((2 type)))
mem: ((3 type)) => character
mem: ((2 type)) => character
run: maybe-coerce/expect-stdin/read-move 5: t => ((4 boolean))
mem: ((4 boolean)): 101759 <= t
run: maybe-coerce/expect-stdin/read-move 6: (((jump-if)) ((4 boolean)) ((1 offset)))
mem: ((4 boolean)) => t
run: maybe-coerce/expect-stdin/read-move 8: (((5 location)) <- ((get)) ((1 tagged-value-address) (deref)) ((1 offset)))
mem: ((101786 location) (raw)) => 

run: maybe-coerce/expect-stdin/read-move 8: #\newline => ((5 location))
mem: ((5 location)): 101760 <= #\newline
run: maybe-coerce/expect-stdin/read-move 9: (((reply)) ((5 location)) ((4 boolean)))
mem: ((5 location)) => 

mem: ((4 boolean)) => t
run: expect-stdin/read-move 3: #\newline => ((4 character))
mem: ((4 character)): 101666 <= #\newline
run: expect-stdin/read-move 4: (((5 character)) <- ((next-input)))
arg: nil 1 (1062 #\newline)
run: expect-stdin/read-move 4: #\newline => ((5 character))
mem: ((5 character)): 101667 <= #\newline
run: expect-stdin/read-move 5: (((6 boolean)) <- ((equal)) ((4 character)) ((5 character)))
mem: ((4 character)) => 

mem: ((5 character)) => 

run: expect-stdin/read-move 5: t => ((6 boolean))
mem: ((6 boolean)): 101668 <= t
run: expect-stdin/read-move 6: (((assert)) ((6 boolean)) ((expected character not found literal)))
mem: ((6 boolean)) => t
run: read-move 10: (((6 move-address)) <- ((new)) ((move literal)))
run: read-move 10: 101787 => ((6 move-address))
mem: ((6 move-address)): 101007 <= 101787
run: read-move 11: (((7 integer-integer-pair-address)) <- ((get-address)) ((6 move-address) (deref)) ((0 offset)))
run: read-move 11: 101787 => ((7 integer-integer-pair-address))
mem: ((7 integer-integer-pair-address)): 101008 <= 101787
run: read-move 12: (((8 integer-address)) <- ((get-address)) ((7 integer-integer-pair-address) (deref)) ((0 offset)))
run: read-move 12: 101787 => ((8 integer-address))
mem: ((8 integer-address)): 101009 <= 101787
run: read-move 13: (((8 integer-address) (deref)) <- ((copy)) ((2 integer)))
mem: ((2 integer)) => 0
run: read-move 13: 0 => ((8 integer-address) (deref))
mem: ((8 integer-address) (deref)): 101787 <= 0
run: read-move 14: (((8 integer-address)) <- ((get-address)) ((7 integer-integer-pair-address) (deref)) ((1 offset)))
run: read-move 14: 101788 => ((8 integer-address))
mem: ((8 integer-address)): 101009 <= 101788
run: read-move 15: (((8 integer-address) (deref)) <- ((copy)) ((3 integer)))
mem: ((3 integer)) => 1
run: read-move 15: 1 => ((8 integer-address) (deref))
mem: ((8 integer-address) (deref)): 101788 <= 1
run: read-move 16: (((9 integer-integer-pair-address)) <- ((get-address)) ((6 move-address) (deref)) ((1 offset)))
run: read-move 16: 101789 => ((9 integer-integer-pair-address))
mem: ((9 integer-integer-pair-address)): 101010 <= 101789
run: read-move 17: (((8 integer-address)) <- ((get-address)) ((9 integer-integer-pair-address) (deref)) ((0 offset)))
run: read-move 17: 101789 => ((8 integer-address))
mem: ((8 integer-address)): 101009 <= 101789
run: read-move 18: (((8 integer-address) (deref)) <- ((copy)) ((4 integer)))
mem: ((4 integer)) => 0
run: read-move 18: 0 => ((8 integer-address) (deref))
mem: ((8 integer-address) (deref)): 101789 <= 0
run: read-move 19: (((8 integer-address)) <- ((get-address)) ((9 integer-integer-pair-address) (deref)) ((1 offset)))
run: read-move 19: 101790 => ((8 integer-address))
mem: ((8 integer-address)): 101009 <= 101790
run: read-move 20: (((8 integer-address) (deref)) <- ((copy)) ((5 integer)))
mem: ((5 integer)) => 3
run: read-move 20: 3 => ((8 integer-address) (deref))
mem: ((8 integer-address) (deref)): 101790 <= 3
run: read-move 21: (((reply)) ((6 move-address)))
mem: ((6 move-address)) => 101787
schedule: done with routine nil
schedule: waking up main
schedule: main
schedule: done with routine nil
