c{0: 0 (((1 string-address)) <- ((new)) a/b/c) -- nil c{0: 1 (((2 string-address-array-address)) <- ((split)) ((1 string-address)) ((/ literal))) -- nil c{1: 0 ✓ (((1 string-address)) <- ((new)) a/b/c) c{1: 1 ✓ (((2 string-address-array-address)) <- ((split)) ((1 string-address)) ((/ literal))) cn0: convert-names in main cn0: (((1 string-address)) <- ((new)) a/b/c) nil nil cn0: checking arg a/b/c cn0: checking oarg ((1 string-address)) maybe-add: ((1 string-address)) cn0: (((2 string-address-array-address)) <- ((split)) ((1 string-address)) ((/ literal))) nil nil cn0: checking arg ((1 string-address)) maybe-add: ((1 string-address)) cn0: checking arg ((/ literal)) cn0: checking oarg ((2 string-address-array-address)) maybe-add: ((2 string-address-array-address)) cn1: (((1 string-address)) <- ((new)) a/b/c) cn1: (((2 string-address-array-address)) <- ((split)) ((1 string-address)) ((/ literal))) schedule: main run: main 0: (((1 string-address)) <- ((new)) a/b/c) run: main 0: 1000 => ((1 string-address)) mem: ((1 string-address)): 1 <= 1000 run: main 1: (((2 string-address-array-address)) <- ((split)) ((1 string-address)) ((/ literal))) mem: ((1 string-address)) => 1000 run: split/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: split/main 0: 1006 => ((default-space space-address)) run: split/main 1: (((1 string-address)) <- ((next-input))) arg: nil 0 (1000 #\/) run: split/main 1: 1000 => ((1 string-address)) mem: ((1 string-address)): 1008 <= 1000 run: split/main 2: (((2 character)) <- ((next-input))) arg: nil 1 (1000 #\/) run: split/main 2: #\/ => ((2 character)) mem: ((2 character)): 1009 <= #\/ run: split/main 3: (((3 integer)) <- ((length)) ((1 string-address) (deref))) array-len: ((1 string-address) (deref)) mem: ((1000 integer) (raw)) => 5 run: split/main 3: 5 => ((3 integer)) mem: ((3 integer)): 1010 <= 5 run: split/main 4: (((4 boolean)) <- ((equal)) ((3 integer)) ((0 literal))) mem: ((3 integer)) => 5 run: split/main 4: nil => ((4 boolean)) mem: ((4 boolean)): 1011 <= nil run: split/main 5: (((jump-unless)) ((4 boolean)) ((2 offset))) mem: ((4 boolean)) => nil run: split/main 8: (((6 integer)) <- ((copy)) ((1 literal))) run: split/main 8: 1 => ((6 integer)) mem: ((6 integer)): 1013 <= 1 run: split/main 9: (((7 integer)) <- ((copy)) ((0 literal))) run: split/main 9: 0 => ((7 integer)) mem: ((7 integer)): 1014 <= 0 run: split/main 10: (((7 integer)) <- ((find-next)) ((1 string-address)) ((2 character)) ((7 integer))) mem: ((1 string-address)) => 1000 mem: ((2 character)) => / mem: ((7 integer)) => 0 run: find-next/split/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: find-next/split/main 0: 1037 => ((default-space space-address)) run: find-next/split/main 1: (((1 string-address)) <- ((next-input))) arg: nil 0 (1000 #\/ 0) run: find-next/split/main 1: 1000 => ((1 string-address)) mem: ((1 string-address)): 1039 <= 1000 run: find-next/split/main 2: (((2 character)) <- ((next-input))) arg: nil 1 (1000 #\/ 0) run: find-next/split/main 2: #\/ => ((2 character)) mem: ((2 character)): 1040 <= #\/ run: find-next/split/main 3: (((3 integer)) <- ((next-input))) arg: nil 2 (1000 #\/ 0) run: find-next/split/main 3: 0 => ((3 integer)) mem: ((3 integer)): 1041 <= 0 run: find-next/split/main 4: (((4 integer)) <- ((length)) ((1 string-address) (deref))) array-len: ((1 string-address) (deref)) mem: ((1000 integer) (raw)) => 5 run: find-next/split/main 4: 5 => ((4 integer)) mem: ((4 integer)): 1042 <= 5 run: find-next/split/main 5: (((5 boolean)) <- ((greater-or-equal)) ((3 integer)) ((4 integer))) mem: ((3 integer)) => 0 mem: ((4 integer)) => 5 run: find-next/split/main 5: nil => ((5 boolean)) mem: ((5 boolean)): 1043 <= nil run: find-next/split/main 6: (((jump-if)) ((5 boolean)) ((5 offset))) mem: ((5 boolean)) => nil run: find-next/split/main 7: (((6 byte)) <- ((index)) ((1 string-address) (deref)) ((3 integer))) mem: ((3 integer)) => 0 array-len: ((1000 string) (raw)) mem: ((1000 integer) (raw)) => 5 mem: ((1001 byte) (raw)) => a run: find-next/split/main 7: #\a => ((6 byte)) mem: ((6 byte)): 1044 <= #\a run: find-next/split/main 8: (((7 boolean)) <- ((equal)) ((6 byte)) ((2 character))) mem: ((6 byte)) => a mem: ((2 character)) => / run: find-next/split/main 8: nil => ((7 boolean)) mem: ((7 boolean)): 1045 <= nil run: find-next/split/main 9: (((jump-if)) ((7 boolean)) ((2 offset))) mem: ((7 boolean)) => nil run: find-next/split/main 10: (((3 integer)) <- ((add)) ((3 integer)) ((1 literal))) mem: ((3 integer)) => 0 run: find-next/split/main 10: 1 => ((3 integer)) mem: ((3 integer)): 1041 <= 1 run: find-next/split/main 11: (((jump)) ((-7 offset))) run: find-next/split/main 5: (((5 boolean)) <- ((greater-or-equal)) ((3 integer)) ((4 integer))) mem: ((3 integer)) => 1 mem: ((4 integer)) => 5 run: find-next/split/main 5: nil => ((5 boolean)) mem: ((5 boolean)): 1043 <= nil run: find-next/split/main 6: (((jump-if)) ((5 boolean)) ((5 offset))) mem: ((5 boolean)) => nil run: find-next/split/main 7: (((6 byte)) <- ((index)) ((1 string-address) (deref)) ((3 integer))) mem: ((3 integer)) => 1 array-len: ((1000 string) (raw)) mem: ((1000 integer) (raw)) => 5 mem: ((1002 byte) (raw)) => / run: find-next/split/main 7: #\/ => ((6 byte)) mem: ((6 byte)): 1044 <= #\/ run: find-next/split/main 8: (((7 boolean)) <- ((equal)) ((6 byte)) ((2 character))) mem: ((6 byte)) => / mem: ((2 character)) => / run: find-next/split/main 8: t => ((7 boolean)) mem: ((7 boolean)): 1045 <= t run: find-next/split/main 9: (((jump-if)) ((7 boolean)) ((2 offset))) mem: ((7 boolean)) => t run: find-next/split/main 12: (((reply)) ((3 integer))) mem: ((3 integer)) => 1 run: split/main 10: 1 => ((7 integer)) mem: ((7 integer)): 1014 <= 1 run: split/main 11: (((8 boolean)) <- ((greater-or-equal)) ((7 integer)) ((3 integer))) mem: ((7 integer)) => 1 mem: ((3 integer)) => 5 run: split/main 11: nil => ((8 boolean)) mem: ((8 boolean)): 1015 <= nil run: split/main 12: (((jump-if)) ((8 boolean)) ((3 offset))) mem: ((8 boolean)) => nil run: split/main 13: (((7 integer)) <- ((add)) ((7 integer)) ((1 literal))) mem: ((7 integer)) => 1 run: split/main 13: 2 => ((7 integer)) mem: ((7 integer)): 1014 <= 2 run: split/main 14: (((6 integer)) <- ((add)) ((6 integer)) ((1 literal))) mem: ((6 integer)) => 1 run: split/main 14: 2 => ((6 integer)) mem: ((6 integer)): 1013 <= 2 run: split/main 15: (((jump)) ((-6 offset))) run: split/main 10: (((7 integer)) <- ((find-next)) ((1 string-address)) ((2 character)) ((7 integer))) mem: ((1 string-address)) => 1000 mem: ((2 character)) => / mem: ((7 integer)) => 2 run: find-next/split/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: find-next/split/main 0: 1068 => ((default-space space-address)) run: find-next/split/main 1: (((1 string-address)) <- ((next-input))) arg: nil 0 (1000 #\/ 2) run: find-next/split/main 1: 1000 => ((1 string-address)) mem: ((1 string-address)): 1070 <= 1000 run: find-next/split/main 2: (((2 character)) <- ((next-input))) arg: nil 1 (1000 #\/ 2) run: find-next/split/main 2: #\/ => ((2 character)) mem: ((2 character)): 1071 <= #\/ run: find-next/split/main 3: (((3 integer)) <- ((next-input))) arg: nil 2 (1000 #\/ 2) run: find-next/split/main 3: 2 => ((3 integer)) mem: ((3 integer)): 1072 <= 2 run: find-next/split/main 4: (((4 integer)) <- ((length)) ((1 string-address) (deref))) array-len: ((1 string-address) (deref)) mem: ((1000 integer) (raw)) => 5 run: find-next/split/main 4: 5 => ((4 integer)) mem: ((4 integer)): 1073 <= 5 run: find-next/split/main 5: (((5 boolean)) <- ((greater-or-equal)) ((3 integer)) ((4 integer))) mem: ((3 integer)) => 2 mem: ((4 integer)) => 5 run: find-next/split/main 5: nil => ((5 boolean)) mem: ((5 boolean)): 1074 <= nil run: find-next/split/main 6: (((jump-if)) ((5 boolean)) ((5 offset))) mem: ((5 boolean)) => nil run: find-next/split/main 7: (((6 byte)) <- ((index)) ((1 string-address) (deref)) ((3 integer))) mem: ((3 integer)) => 2 array-len: ((1000 string) (raw)) mem: ((1000 integer) (raw)) => 5 mem: ((1003 byte) (raw)) => b run: find-next/split/main 7: #\b => ((6 byte)) mem: ((6 byte)): 1075 <= #\b run: find-next/split/main 8: (((7 boolean)) <- ((equal)) ((6 byte)) ((2 character))) mem: ((6 byte)) => b mem: ((2 character)) => / run: find-next/split/main 8: nil => ((7 boolean)) mem: ((7 boolean)): 1076 <= nil run: find-next/split/main 9: (((jump-if)) ((7 boolean)) ((2 offset))) mem: ((7 boolean)) => nil run: find-next/split/main 10: (((3 integer)) <- ((add)) ((3 integer)) ((1 literal))) mem: ((3 integer)) => 2 run: find-next/split/main 10: 3 => ((3 integer)) mem: ((3 integer)): 1072 <= 3 run: find-next/split/main 11: (((jump)) ((-7 offset))) run: find-next/split/main 5: (((5 boolean)) <- ((greater-or-equal)) ((3 integer)) ((4 integer))) mem: ((3 integer)) => 3 mem: ((4 integer)) => 5 run: find-next/split/main 5: nil => ((5 boolean)) mem: ((5 boolean)): 1074 <= nil run: find-next/split/main 6: (((jump-if)) ((5 boolean)) ((5 offset))) mem: ((5 boolean)) => nil run: find-next/split/main 7: (((6 byte)) <- ((index)) ((1 string-address) (deref)) ((3 integer))) mem: ((3 integer)) => 3 array-len: ((1000 string) (raw)) mem: ((1000 integer) (raw)) => 5 mem: ((1004 byte) (raw)) => / run: find-next/split/main 7: #\/ => ((6 byte)) mem: ((6 byte)): 1075 <= #\/ run: find-next/split/main 8: (((7 boolean)) <- ((equal)) ((6 byte)) ((2 character))) mem: ((6 byte)) => / mem: ((2 character)) => / run: find-next/split/main 8: t => ((7 boolean)) mem: ((7 boolean)): 1076 <= t run: find-next/split/main 9: (((jump-if)) ((7 boolean)) ((2 offset))) mem: ((7 boolean)) => t run: find-next/split/main 12: (((reply)) ((3 integer))) mem: ((3 integer)) => 3 run: split/main 10: 3 => ((7 integer)) mem: ((7 integer)): 1014 <= 3 run: split/main 11: (((8 boolean)) <- ((greater-or-equal)) ((7 integer)) ((3 integer))) mem: ((7 integer)) => 3 mem: ((3 integer)) => 5 run: split/main 11: nil => ((8 boolean)) mem: ((8 boolean)): 1015 <= nil run: split/main 12: (((jump-if)) ((8 boolean)) ((3 offset))) mem: ((8 boolean)) => nil run: split/main 13: (((7 integer)) <- ((add)) ((7 integer)) ((1 literal))) mem: ((7 integer)) => 3 run: split/main 13: 4 => ((7 integer)) mem: ((7 integer)): 1014 <= 4 run: split/main 14: (((6 integer)) <- ((add)) ((6 integer)) ((1 literal))) mem: ((6 integer)) => 2 run: split/main 14: 3 => ((6 integer)) mem: ((6 integer)): 1013 <= 3 run: split/main 15: (((jump)) ((-6 offset))) run: split/main 10: (((7 integer)) <- ((find-next)) ((1 string-address)) ((2 character)) ((7 integer))) mem: ((1 string-address)) => 1000 mem: ((2 character)) => / mem: ((7 integer)) => 4 run: find-next/split/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: find-next/split/main 0: 1099 => ((default-space space-address)) run: find-next/split/main 1: (((1 string-address)) <- ((next-input))) arg: nil 0 (1000 #\/ 4) run: find-next/split/main 1: 1000 => ((1 string-address)) mem: ((1 string-address)): 1101 <= 1000 run: find-next/split/main 2: (((2 character)) <- ((next-input))) arg: nil 1 (1000 #\/ 4) run: find-next/split/main 2: #\/ => ((2 character)) mem: ((2 character)): 1102 <= #\/ run: find-next/split/main 3: (((3 integer)) <- ((next-input))) arg: nil 2 (1000 #\/ 4) run: find-next/split/main 3: 4 => ((3 integer)) mem: ((3 integer)): 1103 <= 4 run: find-next/split/main 4: (((4 integer)) <- ((length)) ((1 string-address) (deref))) array-len: ((1 string-address) (deref)) mem: ((1000 integer) (raw)) => 5 run: find-next/split/main 4: 5 => ((4 integer)) mem: ((4 integer)): 1104 <= 5 run: find-next/split/main 5: (((5 boolean)) <- ((greater-or-equal)) ((3 integer)) ((4 integer))) mem: ((3 integer)) => 4 mem: ((4 integer)) => 5 run: find-next/split/main 5: nil => ((5 boolean)) mem: ((5 boolean)): 1105 <= nil run: find-next/split/main 6: (((jump-if)) ((5 boolean)) ((5 offset))) mem: ((5 boolean)) => nil run: find-next/split/main 7: (((6 byte)) <- ((index)) ((1 string-address) (deref)) ((3 integer))) mem: ((3 integer)) => 4 array-len: ((1000 string) (raw)) mem: ((1000 integer) (raw)) => 5 mem: ((1005 byte) (raw)) => c run: find-next/split/main 7: #\c => ((6 byte)) mem: ((6 byte)): 1106 <= #\c run: find-next/split/main 8: (((7 boolean)) <- ((equal)) ((6 byte)) ((2 character))) mem: ((6 byte)) => c mem: ((2 character)) => / run: find-next/split/main 8: nil => ((7 boolean)) mem: ((7 boolean)): 1107 <= nil run: find-next/split/main 9: (((jump-if)) ((7 boolean)) ((2 offset))) mem: ((7 boolean)) => nil run: find-next/split/main 10: (((3 integer)) <- ((add)) ((3 integer)) ((1 literal))) mem: ((3 integer)) => 4 run: find-next/split/main 10: 5 => ((3 integer)) mem: ((3 integer)): 1103 <= 5 run: find-next/split/main 11: (((jump)) ((-7 offset))) run: find-next/split/main 5: (((5 boolean)) <- ((greater-or-equal)) ((3 integer)) ((4 integer))) mem: ((3 integer)) => 5 mem: ((4 integer)) => 5 run: find-next/split/main 5: t => ((5 boolean)) mem: ((5 boolean)): 110
; reads and prints keys until you hit 'q'
; no need to hit 'enter', and 'enter' has no special meaning
; dies if you wait a while, because so far we never free memory
(function main [
  (default-space:space-address <- new space:literal 30:literal)
  (cursor-mode)
  ; hook up stdin
  (stdin:channel-address <- init-channel 1:literal)
;?   ($print (("main: stdin is " literal)))
;?   ($print stdin:channel-address)
;?   ($print (("\n" literal)))
  (fork-helper send-keys-to-stdin:fn nil:literal/globals nil:literal/limit nil:literal/keyboard stdin:channel-address)
  ; now read characters from stdin until a 'q' is typed
  ($print (("? " literal)))
  { begin
    (x:tagged-value stdin:channel-address/deref <- read stdin:channel-address)
    (c:character <- maybe-coerce x:tagged-value character:literal)
;?     ($print (("main: stdin is " literal)))
;?     ($print stdin:channel-address)
;?     ($print (("\n" literal)))
;?     ($print (("check: " literal)))
;?     ($print c:character)
    (done?:boolean <- equal c:character ((#\q literal)))
    (break-if done?:boolean)
    (loop)
  }
])
64 <= 3 run: string-copy/split/main 4: (((4 integer)) <- ((length)) ((1 string-address) (deref))) array-len: ((1 string-address) (deref)) mem: ((1000 integer) (raw)) => 5 run: string-copy/split/main 4: 5 => ((4 integer)) mem: ((4 integer)): 1265 <= 5 run: string-copy/split/main 5: (((3 integer)) <- ((min)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 5 mem: ((3 integer)) => 3 run: min/string-copy/split/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: min/string-copy/split/main 0: 1291 => ((default-space space-address)) run: min/string-copy/split/main 1: (((1 integer)) <- ((next-input))) arg: nil 0 (5 3) run: min/string-copy/split/main 1: 5 => ((1 integer)) mem: ((1 integer)): 1293 <= 5 run: min/string-copy/split/main 2: (((2 integer)) <- ((next-input))) arg: nil 1 (5 3) run: min/string-copy/split/main 2: 3 => ((2 integer)) mem: ((2 integer)): 1294 <= 3 run: min/string-copy/split/main 3: (((3 boolean)) <- ((less-than)) ((1 integer)) ((2 integer))) mem: ((1 integer)) => 5 mem: ((2 integer)) => 3 run: min/string-copy/split/main 3: nil => ((3 boolean)) mem: ((3 boolean)): 1295 <= nil run: min/string-copy/split/main 4: (((jump-if)) ((3 boolean)) ((1 offset))) mem: ((3 boolean)) => nil run: min/string-copy/split/main 5: (((reply)) ((2 integer))) mem: ((2 integer)) => 3 run: string-copy/split/main 5: 3 => ((3 integer)) mem: ((3 integer)): 1264 <= 3 run: string-copy/split/main 6: (((4 integer)) <- ((subtract)) ((3 integer)) ((2 integer))) mem: ((3 integer)) => 3 mem: ((2 integer)) => 2 run: string-copy/split/main 6: 1 => ((4 integer)) mem: ((4 integer)): 1265 <= 1 run: string-copy/split/main 7: (((5 string-address)) <- ((new)) ((string literal)) ((4 integer))) mem: ((4 integer)) => 1 run: string-copy/split/main 7: 1322 => ((5 string-address)) mem: ((5 string-address)): 1266 <= 1322 run: string-copy/split/main 8: (((6 integer)) <- ((copy)) ((2 integer))) mem: ((2 integer)) => 2 run: string-copy/split/main 8: 2 => ((6 integer)) mem: ((6 integer)): 1267 <= 2 run: string-copy/split/main 9: (((7 integer)) <- ((copy)) ((0 literal))) run: string-copy/split/main 9: 0 => ((7 integer)) mem: ((7 integer)): 1268 <= 0 run: string-copy/split/main 10: (((8 boolean)) <- ((greater-or-equal)) ((6 integer)) ((3 integer))) mem: ((6 integer)) => 2 mem: ((3 integer)) => 3 run: string-copy/split/main 10: nil => ((8 boolean)) mem: ((8 boolean)): 1269 <= nil run: string-copy/split/main 11: (((jump-if)) ((8 boolean)) ((6 offset))) mem: ((8 boolean)) => nil run: string-copy/split/main 12: (((9 character)) <- ((index)) ((1 string-address) (deref)) ((6 integer))) mem: ((6 integer)) => 2 array-len: ((1000 string) (raw)) mem: ((1000 integer) (raw)) => 5 mem: ((1003 byte) (raw)) => b run: string-copy/split/main 12: #\b => ((9 character)) mem: ((9 character)): 1270 <= #\b run: string-copy/split/main 13: (((10 character-address)) <- ((index-address)) ((5 string-address) (deref)) ((7 integer))) mem: ((7 integer)) => 0 array-len: ((1322 string) (raw)) mem: ((1322 integer) (raw)) => 1 run: string-copy/split/main 13: 1323 => ((10 character-address)) mem: ((10 character-address)): 1271 <= 1323 run: string-copy/split/main 14: (((10 character-address) (deref)) <- ((copy)) ((9 character))) mem: ((9 character)) => b run: string-copy/split/main 14: #\b => ((10 character-address) (deref)) mem: ((10 character-address) (deref)): 1323 <= #\b run: string-copy/split/main 15: (((6 integer)) <- ((add)) ((6 integer)) ((1 literal))) mem: ((6 integer)) => 2 run: string-copy/split/main 15: 3 => ((6 integer)) mem: ((6 integer)): 1267 <= 3 run: string-copy/split/main 16: (((7 integer)) <- ((add)) ((7 integer)) ((1 literal))) mem: ((7 integer)) => 0 run: string-copy/split/main 16: 1 => ((7 integer)) mem: ((7 integer)): 1268 <= 1 run: string-copy/split/main 17: (((jump)) ((-8 offset))) run: string-copy/split/main 10: (((8 boolean)) <- ((greater-or-equal)) ((6 integer)) ((3 integer))) mem: ((6 integer)) => 3 mem: ((3 integer)) => 3 run: string-copy/split/main 10: t => ((8 boolean)) mem: ((8 boolean)): 1269 <= t run: string-copy/split/main 11: (((jump-if)) ((8 boolean)) ((6 offset))) mem: ((8 boolean)) => t run: string-copy/split/main 18: (((reply)) ((5 string-address))) mem: ((5 string-address)) => 1322 run: split/main 23: 1322 => ((12 string-address-address) (deref)) mem: ((12 string-address-address) (deref)): 1132 <= 1322 run: split/main 24: (((10 integer)) <- ((add)) ((11 integer)) ((1 literal))) mem: ((11 integer)) => 3 run: split/main 24: 4 => ((10 integer)) mem: ((10 integer)): 1017 <= 4 run: split/main 25: (((9 integer)) <- ((add)) ((9 integer)) ((1 literal))) mem: ((9 integer)) => 1 run: split/main 25: 2 => ((9 integer)) mem: ((9 integer)): 1016 <= 2 run: split/main 26: (((jump)) ((-8 offset))) run: split/main 19: (((8 boolean)) <- ((greater-or-equal)) ((10 integer)) ((3 integer))) mem: ((10 integer)) => 4 mem: ((3 integer)) => 5 run: split/main 19: nil => ((8 boolean)) mem: ((8 boolean)): 1015 <= nil run: split/main 20: (((jump-if)) ((8 boolean)) ((6 offset))) mem: ((8 boolean)) => nil run: split/main 21: (((11 integer)) <- ((find-next)) ((1 string-address)) ((2 character)) ((10 integer))) mem: ((1 string-address)) => 1000 mem: ((2 character)) => / mem: ((10 integer)) => 4 run: find-next/split/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: find-next/split/main 0: 1324 => ((default-space space-address)) run: find-next/split/main 1: (((1 string-address)) <- ((next-input))) arg: nil 0 (1000 #\/ 4) run: find-next/split/main 1: 1000 => ((1 string-address)) mem: ((1 string-address)): 1326 <= 1000 run: find-next/split/main 2: (((2 character)) <- ((next-input))) arg: nil 1 (1000 #\/ 4) run: find-next/split/main 2: #\/ => ((2 character)) mem: ((2 character)): 1327 <= #\/ run: find-next/split/main 3: (((3 integer)) <- ((next-input))) arg: nil 2 (1000 #\/ 4) run: find-next/split/main 3: 4 => ((3 integer)) mem: ((3 integer)): 1328 <= 4 run: find-next/split/main 4: (((4 integer)) <- ((length)) ((1 string-address) (deref))) array-len: ((1 string-address) (deref)) mem: ((1000 integer) (raw)) => 5 run: find-next/split/main 4: 5 => ((4 integer)) mem: ((4 integer)): 1329 <= 5 run: find-next/split/main 5: (((5 boolean)) <- ((greater-or-equal)) ((3 integer)) ((4 integer))) mem: ((3 integer)) => 4 mem: ((4 integer)) => 5 run: find-next/split/main 5: nil => ((5 boolean)) mem: ((5 boolean)): 1330 <= nil run: find-next/split/main 6: (((jump-if)) ((5 boolean)) ((5 offset))) mem: ((5 boolean)) => nil run: find-next/split/main 7: (((6 byte)) <- ((index)) ((1 string-address) (deref)) ((3 integer))) mem: ((3 integer)) => 4 array-len: ((1000 string) (raw)) mem: ((1000 integer) (raw)) => 5 mem: ((1005 byte) (raw)) => c run: find-next/split/main 7: #\c => ((6 byte)) mem: ((6 byte)): 1331 <= #\c run: find-next/split/main 8: (((7 boolean)) <- ((equal)) ((6 byte)) ((2 character))) mem: ((6 byte)) => c mem: ((2 character)) => / run: find-next/split/main 8: nil => ((7 boolean)) mem: ((7 boolean)): 1332 <= nil run: find-next/split/main 9: (((jump-if)) ((7 boolean)) ((2 offset))) mem: ((7 boolean)) => nil run: find-next/split/main 10: (((3 integer)) <- ((add)) ((3 integer)) ((1 literal))) mem: ((3 integer)) => 4 run: find-next/split/main 10: 5 => ((3 integer)) mem: ((3 integer)): 1328 <= 5 run: find-next/split/main 11: (((jump)) ((-7 offset))) run: find-next/split/main 5: (((5 boolean)) <- ((greater-or-equal)) ((3 integer)) ((4 integer))) mem: ((3 integer)) => 5 mem: ((4 integer)) => 5 run: find-next/split/main 5: t => ((5 boolean)) mem: ((5 boolean)): 1330 <= t run: find-next/split/main 6: (((jump-if)) ((5 boolean)) ((5 offset))) mem: ((5 boolean)) => t run: find-next/split/main 12: (((reply)) ((3 integer))) mem: ((3 integer)) => 5 run: split/main 21: 5 => ((11 integer)) mem: ((11 integer)): 1018 <= 5 run: split/main 22: (((12 string-address-address)) <- ((index-address)) ((5 string-address-array-address) (deref)) ((9 integer))) mem: ((9 integer)) => 2 array-len: ((1130 string-address-array) (raw)) mem: ((1130 integer) (raw)) => 3 run: split/main 22: 1133 => ((12 string-address-address)) mem: ((12 string-address-address)): 1019 <= 1133 run: split/main 23: (((12 string-address-address) (deref)) <- ((string-copy)) ((1 string-address)) ((10 integer)) ((11 integer))) mem: ((1 string-address)) => 1000 mem: ((10 integer)) => 4 mem: ((11 integer)) => 5 run: string-copy/split/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: string-copy/split/main 0: 1355 => ((default-space space-address)) run: string-copy/split/main 1: (((1 string-address)) <- ((next-input))) arg: nil 0 (1000 4 5) run: string-copy/split/main 1: 1000 => ((1 string-address)) mem: ((1 string-address)): 1357 <= 1000 run: string-copy/split/main 2: (((2 integer)) <- ((next-input))) arg: nil 1 (1000 4 5) run: string-copy/split/main 2: 4 => ((2 integer)) mem: ((2 integer)): 1358 <= 4 run: string-copy/split/main 3: (((3 integer)) <- ((next-input))) arg: nil 2 (1000 4 5) run: string-copy/split/main 3: 5 => ((3 integer)) mem: ((3 integer)): 1359 <= 5 run: string-copy/split/main 4: (((4 integer)) <- ((length)) ((1 string-address) (deref))) array-len: ((1 string-address) (deref)) mem: ((1000 integer) (raw)) => 5 run: string-copy/split/main 4: 5 => ((4 integer)) mem: ((4 integer)): 1360 <= 5 run: string-copy/split/main 5: (((3 integer)) <- ((min)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 5 mem: ((3 integer)) => 5 run: min/string-copy/split/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: min/string-copy/split/main 0: 1386 => ((default-space space-address)) run: min/string-copy/split/main 1: (((1 integer)) <- ((next-input))) arg: nil 0 (5 5) run: min/string-copy/split/main 1: 5 => ((1 integer)) mem: ((1 integer)): 1388 <= 5 run: min/string-copy/split/main 2: (((2 integer)) <- ((next-input))) arg: nil 1 (5 5) run: min/string-copy/split/main 2: 5 => ((2 integer)) mem: ((2 integer)): 1389 <= 5 run: min/string-copy/split/main 3: (((3 boolean)) <- ((less-than)) ((1 integer)) ((2 integer))) mem: ((1 integer)) => 5 mem: ((2 integer)) => 5 run: min/string-copy/split/main 3: nil => ((3 boolean)) mem: ((3 boolean)): 1390 <= nil run: min/string-copy/split/main 4: (((jump-if)) ((3 boolean)) ((1 offset))) mem: ((3 boolean)) => nil run: min/string-copy/split/main 5: (((reply)) ((2 integer))) mem: ((2 integer)) => 5 run: string-copy/split/main 5: 5 => ((3 integer)) mem: ((3 integer)): 1359 <= 5 run: string-copy/split/main 6: (((4 integer)) <- ((subtract)) ((3 integer)) ((2 integer))) mem: ((3 integer)) => 5 mem: ((2 integer)) => 4 run: string-copy/split/main 6: 1 => ((4 integer)) mem: ((4 integer)): 1360 <= 1 run: string-copy/split/main 7: (((5 string-address)) <- ((new)) ((string literal)) ((4 integer))) mem: ((4 integer)) => 1 run: string-copy/split/main 7: 1417 => ((5 string-address)) mem: ((5 string-address)): 1361 <= 1417 run: string-copy/split/main 8: (((6 integer)) <- ((copy)) ((2 integer))) mem: ((2 integer)) => 4 run: string-copy/split/main 8: 4 => ((6 integer)) mem: ((6 integer)): 1362 <= 4 run: string-copy/split/main 9: (((7 integer)) <- ((copy)) ((0 literal))) run: string-copy/split/main 9: 0 => ((7 integer)) mem: ((7 integer)): 1363 <= 0 run: string-copy/split/main 10: (((8 boolean)) <- ((greater-or-equal)) ((6 integer)) ((3 integer))) mem: ((6 integer)) => 4 mem: ((3 integer)) => 5 run: string-copy/split/main 10: nil => ((8 boolean)) mem: ((8 boolean)): 1364 <= nil run: string-copy/split/main 11: (((jump-if)) ((8 boolean)) ((6 offset))) mem: ((8 boolean)) => nil run: string-copy/split/main 12: (((9 character)) <- ((index)) ((1 string-address) (deref)) ((6 integer))) mem: ((6 integer)) => 4 array-len: ((1000 string) (raw)) mem: ((1000 integer) (raw)) => 5 mem: ((1005 byte) (raw)) => c run: string-copy/split/main 12: #\c => ((9 character)) mem: ((9 character)): 1365 <= #\c run: string-copy/split/main 13: (((10 character-address)) <- ((index-address)) ((5 string-address) (deref)) ((7 integer))) mem: ((7 integer)) => 0 array-len: ((1417 string) (raw)) mem: ((1417 integer) (raw)) => 1 run: string-copy/split/main 13: 1418 => ((10 character-address)) mem: ((10 character-address)): 1366 <= 1418 run: string-copy/split/main 14: (((10 character-address) (deref)) <- ((copy)) ((9 character))) mem: ((9 character)) => c run: string-copy/split/main 14: #\c => ((10 character-address) (deref)) mem: ((10 character-address) (deref)): 1418 <= #\c run: string-copy/split/main 15: (((6 integer)) <- ((add)) ((6 integer)) ((1 literal))) mem: ((6 integer)) => 4 run: string-copy/split/main 15: 5 => ((6 integer)) mem: ((6 integer)): 1362 <= 5 run: string-copy/split/main 16: (((7 integer)) <- ((add)) ((7 integer)) ((1 literal))) mem: ((7 integer)) => 0 run: string-copy/split/main 16: 1 => ((7 integer)) mem: ((7 integer)): 1363 <= 1 run: string-copy/split/main 17: (((jump)) ((-8 offset))) run: string-copy/split/main 10: (((8 boolean)) <- ((greater-or-equal)) ((6 integer)) ((3 integer))) mem: ((6 integer)) => 5 mem: ((3 integer)) => 5 run: string-copy/split/main 10: t => ((8 boolean)) mem: ((8 boolean)): 1364 <= t run: string-copy/split/main 11: (((jump-if)) ((8 boolean)) ((6 offset))) mem: ((8 boolean)) => t run: string-copy/split/main 18: (((reply)) ((5 string-address))) mem: ((5 string-address)) => 1417 run: split/main 23: 1417 => ((12 string-address-address) (deref)) mem: ((12 string-address-address) (deref)): 1133 <= 1417 run: split/main 24: (((10 integer)) <- ((add)) ((11 integer)) ((1 literal))) mem: ((11 integer)) => 5 run: split/main 24: 6 => ((10 integer)) mem: ((10 integer)): 1017 <= 6 run: split/main 25: (((9 integer)) <- ((add)) ((9 integer)) ((1 literal))) mem: ((9 integer)) => 2 run: split/main 25: 3 => ((9 integer)) mem: ((9 integer)): 1016 <= 3 run: split/main 26: (((jump)) ((-8 offset))) run: split/main 19: (((8 boolean)) <- ((greater-or-equal)) ((10 integer)) ((3 integer))) mem: ((10 integer)) => 6 mem: ((3 integer)) => 5 run: split/main 19: t => ((8 boolean)) mem: ((8 boolean)): 1015 <= t run: split/main 20: (((jump-if)) ((8 boolean)) ((6 offset))) mem: ((8 boolean)) => t run: split/main 27: (((reply)) ((5 string-address-array-address))) mem: ((5 string-address-array-address)) => 1130 run: main 1: 1130 => ((2 string-address-array-address)) mem: ((2 string-address-array-address)): 2 <= 1130 schedule: done with routine nil