1. parse-trigger-spec: strip [condition] from event names, store as "filter" modifier 2. bind-event: native SX filter for key=='X' patterns (extracts key char and checks event.key + not-input guard) 3. bind-event from: modifier: resolve "body"/"document"/"window" to direct DOM references instead of dom-query 4. sx-platform-2.js: global keyboard dispatch — WASM host-callbacks on document/body don't fire, so keyboard triggers with from:body are handled from JS, calling execute-request via K.eval 5. bind-inline-handlers: map afterSwap/beforeRequest to sx: prefix, eval JS bodies via Function constructor Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 line
31 KiB
JSON
1 line
31 KiB
JSON
{"magic":"SXBC","version":1,"hash":"d3bc304c4e6d7b00","module":{"arity":0,"bytecode":[51,1,0,128,0,0,5,51,3,0,128,2,0,5,51,5,0,128,4,0,5,51,7,0,128,6,0,5,51,9,0,128,8,0,5,51,11,0,128,10,0,5,51,13,0,128,12,0,5,51,15,0,128,14,0,5,51,17,0,128,16,0,5,51,19,0,128,18,0,5,51,21,0,128,20,0,5,51,23,0,128,22,0,5,51,25,0,128,24,0,5,51,27,0,128,26,0,5,51,29,0,128,28,0,5,51,31,0,128,30,0,5,51,33,0,128,32,0,5,51,35,0,128,34,0,5,51,37,0,128,36,0,5,51,39,0,128,38,0,5,51,41,0,128,40,0,5,51,43,0,128,42,0,5,51,45,0,128,44,0,5,51,47,0,128,46,0,5,51,49,0,128,48,0,5,51,51,0,128,50,0,5,51,53,0,128,52,0,5,51,55,0,128,54,0,5,51,57,0,128,56,0,5,51,59,0,128,58,0,5,51,61,0,128,60,0,5,51,63,0,128,62,0,50],"constants":[{"t":"s","v":"make-upvalue-cell"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,20,1,0,65,1,0,50],"constants":[{"t":"s","v":"uv-value"},{"t":"s","v":"value"}]}},{"t":"s","v":"uv-get"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"cell"},{"t":"s","v":"uv-value"}]}},{"t":"s","v":"uv-set!"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,20,3,0,52,0,0,3,50],"constants":[{"t":"s","v":"dict-set!"},{"t":"s","v":"cell"},{"t":"s","v":"uv-value"},{"t":"s","v":"value"}]}},{"t":"s","v":"make-vm-code"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,20,1,0,1,2,0,20,3,0,1,4,0,20,5,0,1,6,0,20,7,0,65,4,0,50],"constants":[{"t":"s","v":"vc-bytecode"},{"t":"s","v":"bytecode"},{"t":"s","v":"vc-locals"},{"t":"s","v":"locals"},{"t":"s","v":"vc-arity"},{"t":"s","v":"arity"},{"t":"s","v":"vc-constants"},{"t":"s","v":"constants"}]}},{"t":"s","v":"make-vm-closure"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,20,1,0,1,2,0,20,3,0,1,4,0,20,5,0,1,6,0,20,7,0,1,8,0,20,9,0,65,5,0,50],"constants":[{"t":"s","v":"vm-globals"},{"t":"s","v":"globals"},{"t":"s","v":"vm-upvalues"},{"t":"s","v":"upvalues"},{"t":"s","v":"vm-name"},{"t":"s","v":"name"},{"t":"s","v":"vm-code"},{"t":"s","v":"code"},{"t":"s","v":"vm-closure-env"},{"t":"s","v":"closure-env"}]}},{"t":"s","v":"make-vm-frame"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,1,1,0,1,2,0,20,2,0,1,3,0,20,3,0,1,4,0,65,0,0,65,4,0,50],"constants":[{"t":"s","v":"ip"},{"t":"n","v":0},{"t":"s","v":"closure"},{"t":"s","v":"base"},{"t":"s","v":"local-cells"}]}},{"t":"s","v":"make-vm"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,1,1,0,1,2,0,52,3,0,0,1,4,0,1,6,0,52,5,0,1,1,7,0,20,7,0,65,4,0,50],"constants":[{"t":"s","v":"sp"},{"t":"n","v":0},{"t":"s","v":"frames"},{"t":"s","v":"list"},{"t":"s","v":"stack"},{"t":"s","v":"make-vm-stack"},{"t":"n","v":4096},{"t":"s","v":"globals"}]}},{"t":"s","v":"vm-push"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,17,2,20,1,0,1,3,0,52,0,0,2,17,3,20,2,0,20,3,0,52,5,0,1,52,4,0,2,33,53,0,20,2,0,1,8,0,52,7,0,2,52,6,0,1,17,4,20,3,0,20,10,0,20,2,0,52,9,0,3,5,20,1,0,1,3,0,20,10,0,52,11,0,3,5,20,10,0,21,3,0,32,1,0,2,5,20,3,0,20,2,0,20,13,0,52,12,0,3,5,20,1,0,1,2,0,20,2,0,1,15,0,52,14,0,2,52,11,0,3,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"vm"},{"t":"s","v":"sp"},{"t":"s","v":"stack"},{"t":"s","v":">="},{"t":"s","v":"vm-stack-length"},{"t":"s","v":"make-vm-stack"},{"t":"s","v":"*"},{"t":"n","v":2},{"t":"s","v":"vm-stack-copy!"},{"t":"s","v":"new-stack"},{"t":"s","v":"dict-set!"},{"t":"s","v":"vm-stack-set!"},{"t":"s","v":"value"},{"t":"s","v":"+"},{"t":"n","v":1}]}},{"t":"s","v":"vm-pop"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,1,3,0,52,1,0,2,1,4,0,52,0,0,2,17,1,20,2,0,1,3,0,20,3,0,52,5,0,3,5,20,2,0,1,7,0,52,1,0,2,20,3,0,52,6,0,2,50],"constants":[{"t":"s","v":"-"},{"t":"s","v":"get"},{"t":"s","v":"vm"},{"t":"s","v":"sp"},{"t":"n","v":1},{"t":"s","v":"dict-set!"},{"t":"s","v":"vm-stack-get"},{"t":"s","v":"stack"}]}},{"t":"s","v":"vm-peek"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,1,3,0,52,1,0,2,20,2,0,1,5,0,52,1,0,2,1,6,0,52,4,0,2,52,0,0,2,50],"constants":[{"t":"s","v":"vm-stack-get"},{"t":"s","v":"get"},{"t":"s","v":"vm"},{"t":"s","v":"stack"},{"t":"s","v":"-"},{"t":"s","v":"sp"},{"t":"n","v":1}]}},{"t":"s","v":"frame-read-u8"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,17,1,20,1,0,1,3,0,52,0,0,2,1,4,0,52,0,0,2,1,5,0,52,0,0,2,17,2,20,7,0,20,2,0,52,6,0,2,17,3,20,1,0,1,2,0,20,2,0,1,10,0,52,9,0,2,52,8,0,3,5,20,11,0,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"frame"},{"t":"s","v":"ip"},{"t":"s","v":"closure"},{"t":"s","v":"vm-code"},{"t":"s","v":"vc-bytecode"},{"t":"s","v":"nth"},{"t":"s","v":"bc"},{"t":"s","v":"dict-set!"},{"t":"s","v":"+"},{"t":"n","v":1},{"t":"s","v":"v"}]}},{"t":"s","v":"frame-read-u16"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,48,1,17,1,20,0,0,20,1,0,48,1,17,2,20,3,0,20,5,0,1,6,0,52,4,0,2,52,2,0,2,50],"constants":[{"t":"s","v":"frame-read-u8"},{"t":"s","v":"frame"},{"t":"s","v":"+"},{"t":"s","v":"lo"},{"t":"s","v":"*"},{"t":"s","v":"hi"},{"t":"n","v":256}]}},{"t":"s","v":"frame-read-i16"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,48,1,17,1,20,3,0,1,4,0,52,2,0,2,33,13,0,20,3,0,1,6,0,52,5,0,2,32,3,0,20,3,0,50],"constants":[{"t":"s","v":"frame-read-u16"},{"t":"s","v":"frame"},{"t":"s","v":">="},{"t":"s","v":"v"},{"t":"n","v":32768},{"t":"s","v":"-"},{"t":"n","v":65536}]}},{"t":"s","v":"vm-push-frame"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,3,0,1,4,0,52,2,0,2,48,2,17,3,51,6,0,20,7,0,52,5,0,2,5,20,7,0,52,8,0,1,17,4,20,1,0,1,9,0,52,2,0,2,1,10,0,52,2,0,2,17,5,20,12,0,20,13,0,52,11,0,2,17,6,20,15,0,1,16,0,52,14,0,2,33,19,0,1,16,0,17,7,51,17,0,17,9,5,20,18,0,48,0,32,1,0,2,5,20,3,0,1,20,0,20,22,0,20,3,0,1,20,0,52,2,0,2,52,21,0,2,52,19,0,3,50],"constants":[{"t":"s","v":"make-vm-frame"},{"t":"s","v":"closure"},{"t":"s","v":"get"},{"t":"s","v":"vm"},{"t":"s","v":"sp"},{"t":"s","v":"for-each"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,49,2,50],"constants":[{"t":"s","v":"vm-push"},{"t":"s","v":"vm"},{"t":"s","v":"a"}]}},{"t":"s","v":"args"},{"t":"s","v":"len"},{"t":"s","v":"vm-code"},{"t":"s","v":"vc-locals"},{"t":"s","v":"-"},{"t":"s","v":"total-locals"},{"t":"s","v":"arity"},{"t":"s","v":">"},{"t":"s","v":"pad-count"},{"t":"n","v":0},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,20,2,0,52,0,0,2,33,32,0,20,3,0,20,4,0,2,48,2,5,20,1,0,1,6,0,52,5,0,2,21,1,0,5,20,7,0,49,0,32,1,0,2,50],"constants":[{"t":"s","v":"<"},{"t":"s","v":"i"},{"t":"s","v":"pad-count"},{"t":"s","v":"vm-push"},{"t":"s","v":"vm"},{"t":"s","v":"+"},{"t":"n","v":1},{"t":"s","v":"pad-loop"}]}},{"t":"s","v":"pad-loop"},{"t":"s","v":"dict-set!"},{"t":"s","v":"frames"},{"t":"s","v":"cons"},{"t":"s","v":"frame"}]}},{"t":"s","v":"code-from-value"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,5,20,3,0,52,2,0,1,52,1,0,1,33,22,0,20,4,0,1,5,0,1,6,0,52,7,0,0,52,7,0,0,49,4,32,125,0,20,3,0,1,9,0,52,8,0,2,17,1,20,11,0,52,10,0,1,33,7,0,52,7,0,0,32,3,0,20,11,0,17,2,20,3,0,1,12,0,52,8,0,2,17,3,20,13,0,52,10,0,1,33,7,0,52,7,0,0,32,3,0,20,13,0,17,4,20,3,0,1,14,0,52,8,0,2,17,5,20,15,0,52,10,0,1,33,6,0,1,5,0,32,3,0,20,15,0,17,6,20,4,0,20,14,0,20,14,0,1,6,0,52,16,0,2,20,17,0,20,18,0,49,4,50],"constants":[{"t":"s","v":"Convert a compiler output dict to a vm-code object."},{"t":"s","v":"not"},{"t":"s","v":"dict?"},{"t":"s","v":"v"},{"t":"s","v":"make-vm-code"},{"t":"n","v":0},{"t":"n","v":16},{"t":"s","v":"list"},{"t":"s","v":"get"},{"t":"s","v":"bytecode"},{"t":"s","v":"nil?"},{"t":"s","v":"bc-raw"},{"t":"s","v":"constants"},{"t":"s","v":"consts-raw"},{"t":"s","v":"arity"},{"t":"s","v":"arity-raw"},{"t":"s","v":"+"},{"t":"s","v":"bc"},{"t":"s","v":"consts"}]}},{"t":"s","v":"vm-closure?"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,52,0,0,1,6,33,11,0,5,20,1,0,1,3,0,52,2,0,2,50],"constants":[{"t":"s","v":"dict?"},{"t":"s","v":"v"},{"t":"s","v":"has-key?"},{"t":"s","v":"vm-code"}]}},{"t":"s","v":"vm-call"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,48,1,33,17,0,20,2,0,20,3,0,20,1,0,20,4,0,49,3,32,127,0,20,1,0,52,6,0,1,1,7,0,52,5,0,2,6,34,34,0,5,20,1,0,52,6,0,1,1,8,0,52,5,0,2,6,34,15,0,5,20,1,0,52,6,0,1,1,9,0,52,5,0,2,33,22,0,20,10,0,20,3,0,20,11,0,20,1,0,20,4,0,48,2,49,2,32,50,0,20,12,0,20,1,0,48,1,33,21,0,20,10,0,20,3,0,20,1,0,20,4,0,52,13,0,2,49,2,32,18,0,1,16,0,20,1,0,52,6,0,1,52,15,0,2,52,14,0,1,50],"constants":[{"t":"s","v":"vm-closure?"},{"t":"s","v":"f"},{"t":"s","v":"vm-push-frame"},{"t":"s","v":"vm"},{"t":"s","v":"args"},{"t":"s","v":"="},{"t":"s","v":"type-of"},{"t":"s","v":"lambda"},{"t":"s","v":"component"},{"t":"s","v":"island"},{"t":"s","v":"vm-push"},{"t":"s","v":"cek-call"},{"t":"s","v":"callable?"},{"t":"s","v":"apply"},{"t":"s","v":"error"},{"t":"s","v":"str"},{"t":"s","v":"VM: not callable: "}]}},{"t":"s","v":"frame-local-get"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,5,20,2,0,1,3,0,52,1,0,2,17,3,20,5,0,52,4,0,1,17,4,20,7,0,20,8,0,52,6,0,2,33,18,0,20,9,0,20,7,0,20,8,0,52,1,0,2,49,1,32,31,0,20,11,0,1,12,0,52,1,0,2,20,2,0,1,14,0,52,1,0,2,20,5,0,52,13,0,2,52,10,0,2,50],"constants":[{"t":"s","v":"Read a local variable — check shared cells first, then stack."},{"t":"s","v":"get"},{"t":"s","v":"frame"},{"t":"s","v":"local-cells"},{"t":"s","v":"str"},{"t":"s","v":"slot"},{"t":"s","v":"has-key?"},{"t":"s","v":"cells"},{"t":"s","v":"key"},{"t":"s","v":"uv-get"},{"t":"s","v":"vm-stack-get"},{"t":"s","v":"vm"},{"t":"s","v":"stack"},{"t":"s","v":"+"},{"t":"s","v":"base"}]}},{"t":"s","v":"frame-local-set"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,5,20,2,0,1,3,0,52,1,0,2,17,4,20,5,0,52,4,0,1,17,5,20,7,0,20,8,0,52,6,0,2,33,21,0,20,9,0,20,7,0,20,8,0,52,1,0,2,20,10,0,49,2,32,34,0,20,12,0,1,13,0,52,1,0,2,20,2,0,1,15,0,52,1,0,2,20,5,0,52,14,0,2,20,10,0,52,11,0,3,50],"constants":[{"t":"s","v":"Write a local variable — to shared cell if captured, else to stack."},{"t":"s","v":"get"},{"t":"s","v":"frame"},{"t":"s","v":"local-cells"},{"t":"s","v":"str"},{"t":"s","v":"slot"},{"t":"s","v":"has-key?"},{"t":"s","v":"cells"},{"t":"s","v":"key"},{"t":"s","v":"uv-set!"},{"t":"s","v":"value"},{"t":"s","v":"vm-stack-set!"},{"t":"s","v":"vm"},{"t":"s","v":"stack"},{"t":"s","v":"+"},{"t":"s","v":"base"}]}},{"t":"s","v":"frame-upvalue-get"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,3,0,1,4,0,52,2,0,2,1,5,0,52,2,0,2,20,6,0,52,1,0,2,49,1,50],"constants":[{"t":"s","v":"uv-get"},{"t":"s","v":"nth"},{"t":"s","v":"get"},{"t":"s","v":"frame"},{"t":"s","v":"closure"},{"t":"s","v":"vm-upvalues"},{"t":"s","v":"idx"}]}},{"t":"s","v":"frame-upvalue-set"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,3,0,1,4,0,52,2,0,2,1,5,0,52,2,0,2,20,6,0,52,1,0,2,20,7,0,49,2,50],"constants":[{"t":"s","v":"uv-set!"},{"t":"s","v":"nth"},{"t":"s","v":"get"},{"t":"s","v":"frame"},{"t":"s","v":"closure"},{"t":"s","v":"vm-upvalues"},{"t":"s","v":"idx"},{"t":"s","v":"value"}]}},{"t":"s","v":"vm-global-get"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,5,20,2,0,1,3,0,52,1,0,2,17,3,20,3,0,20,5,0,52,4,0,2,33,13,0,20,3,0,20,5,0,52,1,0,2,32,83,0,20,6,0,1,7,0,52,1,0,2,1,8,0,52,1,0,2,17,4,20,8,0,52,9,0,1,33,14,0,20,10,0,51,11,0,51,12,0,49,2,32,40,0,20,13,0,20,8,0,20,5,0,48,2,17,5,20,14,0,52,9,0,1,33,14,0,20,10,0,51,11,0,51,12,0,49,2,32,3,0,20,14,0,50],"constants":[{"t":"s","v":"Look up a global: globals table → closure env → primitives → HO wrappers"},{"t":"s","v":"get"},{"t":"s","v":"vm"},{"t":"s","v":"globals"},{"t":"s","v":"has-key?"},{"t":"s","v":"name"},{"t":"s","v":"frame"},{"t":"s","v":"closure"},{"t":"s","v":"closure-env"},{"t":"s","v":"nil?"},{"t":"s","v":"cek-try"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,52,0,0,1,50],"constants":[{"t":"s","v":"get-primitive"},{"t":"s","v":"name"}]}},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,49,2,50],"constants":[{"t":"s","v":"vm-resolve-ho-form"},{"t":"s","v":"vm"},{"t":"s","v":"name"}]}},{"t":"s","v":"env-walk"},{"t":"s","v":"found"}]}},{"t":"s","v":"vm-resolve-ho-form"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,33,6,0,51,3,0,32,128,0,20,1,0,1,4,0,52,0,0,2,33,6,0,51,5,0,32,109,0,20,1,0,1,6,0,52,0,0,2,33,6,0,51,7,0,32,90,0,20,1,0,1,8,0,52,0,0,2,33,6,0,51,9,0,32,71,0,20,1,0,1,10,0,52,0,0,2,33,6,0,51,11,0,32,52,0,20,1,0,1,12,0,52,0,0,2,33,6,0,51,13,0,32,33,0,20,1,0,1,14,0,52,0,0,2,33,6,0,51,15,0,32,14,0,1,18,0,20,1,0,52,17,0,2,52,16,0,1,50],"constants":[{"t":"s","v":"="},{"t":"s","v":"name"},{"t":"s","v":"for-each"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,1,0,20,2,0,52,0,0,2,50],"constants":[{"t":"s","v":"for-each"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,4,0,52,3,0,1,49,3,50],"constants":[{"t":"s","v":"vm-call-external"},{"t":"s","v":"vm"},{"t":"s","v":"f"},{"t":"s","v":"list"},{"t":"s","v":"x"}]}},{"t":"s","v":"coll"}]}},{"t":"s","v":"map"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,1,0,20,2,0,52,0,0,2,50],"constants":[{"t":"s","v":"map"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,4,0,52,3,0,1,49,3,50],"constants":[{"t":"s","v":"vm-call-external"},{"t":"s","v":"vm"},{"t":"s","v":"f"},{"t":"s","v":"list"},{"t":"s","v":"x"}]}},{"t":"s","v":"coll"}]}},{"t":"s","v":"map-indexed"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,1,0,20,2,0,52,0,0,2,50],"constants":[{"t":"s","v":"map-indexed"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,4,0,20,5,0,52,3,0,2,49,3,50],"constants":[{"t":"s","v":"vm-call-external"},{"t":"s","v":"vm"},{"t":"s","v":"f"},{"t":"s","v":"list"},{"t":"s","v":"i"},{"t":"s","v":"x"}]}},{"t":"s","v":"coll"}]}},{"t":"s","v":"filter"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,1,0,20,2,0,52,0,0,2,50],"constants":[{"t":"s","v":"filter"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,4,0,52,3,0,1,49,3,50],"constants":[{"t":"s","v":"vm-call-external"},{"t":"s","v":"vm"},{"t":"s","v":"f"},{"t":"s","v":"list"},{"t":"s","v":"x"}]}},{"t":"s","v":"coll"}]}},{"t":"s","v":"reduce"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,1,0,20,2,0,20,3,0,52,0,0,3,50],"constants":[{"t":"s","v":"reduce"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,4,0,20,5,0,52,3,0,2,49,3,50],"constants":[{"t":"s","v":"vm-call-external"},{"t":"s","v":"vm"},{"t":"s","v":"f"},{"t":"s","v":"list"},{"t":"s","v":"acc"},{"t":"s","v":"x"}]}},{"t":"s","v":"init"},{"t":"s","v":"coll"}]}},{"t":"s","v":"some"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,1,0,20,2,0,52,0,0,2,50],"constants":[{"t":"s","v":"some"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,4,0,52,3,0,1,49,3,50],"constants":[{"t":"s","v":"vm-call-external"},{"t":"s","v":"vm"},{"t":"s","v":"f"},{"t":"s","v":"list"},{"t":"s","v":"x"}]}},{"t":"s","v":"coll"}]}},{"t":"s","v":"every?"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,1,0,20,2,0,52,0,0,2,50],"constants":[{"t":"s","v":"every?"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,4,0,52,3,0,1,49,3,50],"constants":[{"t":"s","v":"vm-call-external"},{"t":"s","v":"vm"},{"t":"s","v":"f"},{"t":"s","v":"list"},{"t":"s","v":"x"}]}},{"t":"s","v":"coll"}]}},{"t":"s","v":"error"},{"t":"s","v":"str"},{"t":"s","v":"VM undefined: "}]}},{"t":"s","v":"vm-call-external"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,48,1,33,24,0,20,2,0,20,1,0,20,3,0,20,5,0,1,6,0,52,4,0,2,49,3,32,11,0,20,7,0,20,1,0,20,3,0,49,2,50],"constants":[{"t":"s","v":"vm-closure?"},{"t":"s","v":"f"},{"t":"s","v":"vm-call-closure"},{"t":"s","v":"args"},{"t":"s","v":"get"},{"t":"s","v":"vm"},{"t":"s","v":"globals"},{"t":"s","v":"cek-call"}]}},{"t":"s","v":"vm-global-set"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,5,20,2,0,1,3,0,52,1,0,2,1,4,0,52,1,0,2,17,4,4,17,5,20,7,0,52,6,0,1,52,5,0,1,33,20,0,20,8,0,20,7,0,20,9,0,20,10,0,48,3,21,11,0,32,1,0,2,5,20,11,0,52,5,0,1,33,23,0,20,13,0,1,14,0,52,1,0,2,20,9,0,20,10,0,52,12,0,3,32,1,0,2,50],"constants":[{"t":"s","v":"Set a global: write to closure env if name exists there, else globals."},{"t":"s","v":"get"},{"t":"s","v":"frame"},{"t":"s","v":"closure"},{"t":"s","v":"vm-closure-env"},{"t":"s","v":"not"},{"t":"s","v":"nil?"},{"t":"s","v":"closure-env"},{"t":"s","v":"env-walk-set!"},{"t":"s","v":"name"},{"t":"s","v":"value"},{"t":"s","v":"written"},{"t":"s","v":"dict-set!"},{"t":"s","v":"vm"},{"t":"s","v":"globals"}]}},{"t":"s","v":"env-walk"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,52,0,0,1,33,4,0,2,32,63,0,20,2,0,20,1,0,20,3,0,48,2,33,14,0,20,4,0,20,1,0,20,3,0,49,2,32,35,0,20,5,0,20,1,0,48,1,17,2,20,6,0,52,0,0,1,33,4,0,2,32,11,0,20,7,0,20,6,0,20,3,0,49,2,50],"constants":[{"t":"s","v":"nil?"},{"t":"s","v":"env"},{"t":"s","v":"env-has?"},{"t":"s","v":"name"},{"t":"s","v":"env-get"},{"t":"s","v":"env-parent"},{"t":"s","v":"parent"},{"t":"s","v":"env-walk"}]}},{"t":"s","v":"env-walk-set!"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,52,0,0,1,33,4,0,4,32,71,0,20,2,0,20,1,0,20,3,0,48,2,33,19,0,20,4,0,20,1,0,20,3,0,20,5,0,48,3,5,3,32,38,0,20,6,0,20,1,0,48,1,17,3,20,7,0,52,0,0,1,33,4,0,4,32,14,0,20,8,0,20,7,0,20,3,0,20,5,0,49,3,50],"constants":[{"t":"s","v":"nil?"},{"t":"s","v":"env"},{"t":"s","v":"env-has?"},{"t":"s","v":"name"},{"t":"s","v":"env-set!"},{"t":"s","v":"value"},{"t":"s","v":"env-parent"},{"t":"s","v":"parent"},{"t":"s","v":"env-walk-set!"}]}},{"t":"s","v":"vm-create-closure"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,5,20,1,0,20,2,0,48,1,17,3,20,2,0,52,3,0,1,33,34,0,20,2,0,1,5,0,52,4,0,2,17,5,20,7,0,52,6,0,1,33,6,0,1,8,0,32,3,0,20,7,0,32,3,0,1,8,0,17,4,52,9,0,0,17,6,1,8,0,17,7,51,10,0,17,9,5,20,11,0,48,0,5,20,12,0,17,5,20,13,0,20,14,0,20,15,0,2,20,16,0,1,17,0,52,4,0,2,2,49,5,50],"constants":[{"t":"s","v":"Create a closure from a code constant. Reads upvalue descriptors\n from the bytecode stream and captures values from the enclosing frame."},{"t":"s","v":"code-from-value"},{"t":"s","v":"code-val"},{"t":"s","v":"dict?"},{"t":"s","v":"get"},{"t":"s","v":"upvalue-count"},{"t":"s","v":"nil?"},{"t":"s","v":"n"},{"t":"n","v":0},{"t":"s","v":"list"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,20,2,0,52,0,0,2,33,198,0,20,3,0,20,4,0,48,1,17,0,20,3,0,20,4,0,48,1,17,1,20,6,0,1,7,0,52,5,0,2,33,105,0,20,4,0,1,9,0,52,8,0,2,17,3,20,11,0,52,10,0,1,17,4,20,13,0,20,14,0,52,12,0,2,33,13,0,20,13,0,20,14,0,52,8,0,2,32,55,0,20,15,0,20,17,0,1,18,0,52,8,0,2,20,4,0,1,20,0,52,8,0,2,20,11,0,52,19,0,2,52,16,0,2,48,1,17,5,20,13,0,20,14,0,20,22,0,52,21,0,3,5,20,22,0,32,24,0,20,4,0,1,24,0,52,8,0,2,1,25,0,52,8,0,2,20,11,0,52,23,0,2,17,2,20,26,0,20,27,0,20,28,0,48,2,5,20,1,0,1,7,0,52,19,0,2,21,1,0,5,20,29,0,49,0,32,1,0,2,50],"constants":[{"t":"s","v":"<"},{"t":"s","v":"i"},{"t":"s","v":"uv-count"},{"t":"s","v":"frame-read-u8"},{"t":"s","v":"frame"},{"t":"s","v":"="},{"t":"s","v":"is-local"},{"t":"n","v":1},{"t":"s","v":"get"},{"t":"s","v":"local-cells"},{"t":"s","v":"str"},{"t":"s","v":"index"},{"t":"s","v":"has-key?"},{"t":"s","v":"cells"},{"t":"s","v":"key"},{"t":"s","v":"make-upvalue-cell"},{"t":"s","v":"vm-stack-get"},{"t":"s","v":"vm"},{"t":"s","v":"stack"},{"t":"s","v":"+"},{"t":"s","v":"base"},{"t":"s","v":"dict-set!"},{"t":"s","v":"c"},{"t":"s","v":"nth"},{"t":"s","v":"closure"},{"t":"s","v":"vm-upvalues"},{"t":"s","v":"append!"},{"t":"s","v":"result"},{"t":"s","v":"cell"},{"t":"s","v":"capture-loop"}]}},{"t":"s","v":"capture-loop"},{"t":"s","v":"result"},{"t":"s","v":"make-vm-closure"},{"t":"s","v":"code"},{"t":"s","v":"upvalues"},{"t":"s","v":"vm"},{"t":"s","v":"globals"}]}},{"t":"s","v":"vm-run"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,5,51,1,0,17,3,5,20,2,0,49,0,50],"constants":[{"t":"s","v":"Execute bytecode until all frames are exhausted.\n VmClosure calls push new frames; the loop picks them up.\n OP_TAIL_CALL + VmClosure = true TCO: drop frame, push new, loop."},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,3,0,1,4,0,52,2,0,2,52,1,0,1,52,0,0,1,33,154,0,20,3,0,1,4,0,52,2,0,2,52,5,0,1,17,0,20,3,0,1,4,0,52,2,0,2,52,6,0,1,17,1,20,7,0,1,8,0,52,2,0,2,1,9,0,52,2,0,2,1,10,0,52,2,0,2,17,2,20,7,0,1,8,0,52,2,0,2,1,9,0,52,2,0,2,1,11,0,52,2,0,2,17,3,20,7,0,1,13,0,52,2,0,2,20,15,0,52,14,0,1,52,12,0,2,33,17,0,20,3,0,1,4,0,52,17,0,0,52,16,0,3,32,26,0,20,18,0,20,3,0,20,7,0,20,19,0,20,15,0,20,20,0,48,5,5,20,21,0,49,0,32,1,0,2,50],"constants":[{"t":"s","v":"not"},{"t":"s","v":"empty?"},{"t":"s","v":"get"},{"t":"s","v":"vm"},{"t":"s","v":"frames"},{"t":"s","v":"first"},{"t":"s","v":"rest"},{"t":"s","v":"frame"},{"t":"s","v":"closure"},{"t":"s","v":"vm-code"},{"t":"s","v":"vc-bytecode"},{"t":"s","v":"vc-constants"},{"t":"s","v":">="},{"t":"s","v":"ip"},{"t":"s","v":"len"},{"t":"s","v":"bc"},{"t":"s","v":"dict-set!"},{"t":"s","v":"list"},{"t":"s","v":"vm-step"},{"t":"s","v":"rest-frames"},{"t":"s","v":"consts"},{"t":"s","v":"loop"}]}},{"t":"s","v":"loop"}]}},{"t":"s","v":"vm-step"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,48,1,17,5,20,3,0,1,4,0,52,2,0,2,33,31,0,20,5,0,20,1,0,48,1,17,6,20,6,0,20,7,0,20,9,0,20,10,0,52,8,0,2,49,2,32,3,8,20,3,0,1,11,0,52,2,0,2,33,12,0,20,6,0,20,7,0,2,49,2,32,234,7,20,3,0,1,12,0,52,2,0,2,33,12,0,20,6,0,20,7,0,3,49,2,32,209,7,20,3,0,1,13,0,52,2,0,2,33,12,0,20,6,0,20,7,0,4,49,2,32,184,7,20,3,0,1,14,0,52,2,0,2,33,11,0,20,15,0,20,7,0,49,1,32,160,7,20,3,0,1,16,0,52,2,0,2,33,19,0,20,6,0,20,7,0,20,17,0,20,7,0,48,1,49,2,32,128,7,20,3,0,1,18,0,52,2,0,2,33,35,0,20,0,0,20,1,0,48,1,17,6,20,6,0,20,7,0,20,19,0,20,7,0,20,1,0,20,20,0,48,3,49,2,32,80,7,20,3,0,1,21,0,52,2,0,2,33,35,0,20,0,0,20,1,0,48,1,17,6,20,22,0,20,7,0,20,1,0,20,20,0,20,17,0,20,7,0,48,1,49,4,32,32,7,20,3,0,1,23,0,52,2,0,2,33,32,0,20,0,0,20,1,0,48,1,17,6,20,6,0,20,7,0,20,24,0,20,1,0,20,10,0,48,2,49,2,32,243,6,20,3,0,1,25,0,52,2,0,2,33,32,0,20,0,0,20,1,0,48,1,17,6,20,26,0,20,1,0,20,10,0,20,17,0,20,7,0,48,1,49,3,32,198,6,20,3,0,1,27,0,52,2,0,2,33,47,0,20,5,0,20,1,0,48,1,17,6,20,9,0,20,10,0,52,8,0,2,17,7,20,6,0,20,7,0,20,28,0,20,7,0,20,1,0,20,29,0,48,3,49,2,32,138,6,20,3,0,1,30,0,52,2,0,2,33,47,0,20,5,0,20,1,0,48,1,17,6,20,9,0,20,10,0,52,8,0,2,17,7,20,31,0,20,7,0,20,1,0,20,29,0,20,17,0,20,7,0,48,1,49,4,32,78,6,20,3,0,1,32,0,52,2,0,2,33,40,0,20,33,0,20,1,0,48,1,17,6,20,1,0,1,35,0,20,1,0,1,35,0,52,37,0,2,20,38,0,52,36,0,2,52,34,0,3,32,25,6,20,3,0,1,39,0,52,2,0,2,33,64,0,20,33,0,20,1,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,41,0,52,40,0,1,33,30,0,20,1,0,1,35,0,20,1,0,1,35,0,52,37,0,2,20,38,0,52,36,0,2,52,34,0,3,32,1,0,2,32,204,5,20,3,0,1,42,0,52,2,0,2,33,60,0,20,33,0,20,1,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,41,0,33,30,0,20,1,0,1,35,0,20,1,0,1,35,0,52,37,0,2,20,38,0,52,36,0,2,52,34,0,3,32,1,0,2,32,131,5,20,3,0,1,43,0,52,2,0,2,33,60,0,20,0,0,20,1,0,48,1,17,6,52,44,0,0,17,7,1,45,0,17,8,51,46,0,17,10,5,20,47,0,48,0,5,20,15,0,20,7,0,48,1,17,11,20,48,0,20,7,0,20,49,0,20,50,0,49,3,32,58,5,20,3,0,1,51,0,52,2,0,2,33,95,0,20,0,0,20,1,0,48,1,17,6,52,44,0,0,17,7,1,45,0,17,8,51,46,0,17,10,5,20,47,0,48,0,5,20,15,0,20,7,0,48,1,17,11,20,7,0,1,52,0,20,53,0,52,34,0,3,5,20,7,0,1,54,0,20,1,0,1,55,0,52,37,0,2,52,34,0,3,5,20,48,0,20,7,0,20,49,0,20,50,0,49,3,32,206,4,20,3,0,1,56,0,52,2,0,2,33,59,0,20,15,0,20,7,0,48,1,17,6,20,7,0,1,52,0,20,53,0,52,34,0,3,5,20,7,0,1,54,0,20,1,0,1,55,0,52,37,0,2,52,34,0,3,5,20,6,0,20,7,0,20,57,0,49,2,32,134,4,20,3,0,1,58,0,52,2,0,2,33,52,0,20,5,0,20,1,0,48,1,17,6,20,9,0,20,10,0,52,8,0,2,17,7,20,59,0,20,7,0,20,1,0,20,60,0,48,3,17,8,20,6,0,20,7,0,20,61,0,49,2,32,69,4,20,3,0,1,62,0,52,2,0,2,33,76,0,20,5,0,20,1,0,48,1,17,6,20,0,0,20,1,0,48,1,17,7,20,9,0,20,10,0,52,8,0,2,17,8,52,44,0,0,17,9,1,45,0,17,10,51,46,0,17,12,5,20,47,0,48,0,5,20,6,0,20,7,0,20,29,0,20,50,0,52,63,0,2,49,2,32,236,3,20,3,0,1,64,0,52,2,0,2,33,47,0,20,5,0,20,1,0,48,1,17,6,52,44,0,0,17,7,1,45,0,17,8,51,65,0,17,10,5,20,66,0,48,0,5,20,6,0,20,7,0,20,67,0,49,2,32,176,3,20,3,0,1,68,0,52,2,0,2,33,46,0,20,5,0,20,1,0,48,1,17,6,65,0,0,17,7,1,45,0,17,8,51,69,0,17,10,5,20,70,0,48,0,5,20,6,0,20,7,0,20,71,0,49,2,32,117,3,20,3,0,1,72,0,52,2,0,2,33,54,0,20,0,0,20,1,0,48,1,17,6,52,44,0,0,17,7,1,45,0,17,8,51,73,0,17,10,5,20,74,0,48,0,5,20,6,0,20,7,0,20,76,0,20,77,0,52,75,0,2,49,2,32,50,3,20,3,0,1,78,0,52,2,0,2,33,50,0,20,5,0,20,1,0,48,1,17,6,20,9,0,20,10,0,52,8,0,2,17,7,20,7,0,1,79,0,52,37,0,2,20,29,0,20,17,0,20,7,0,48,1,52,34,0,3,32,243,2,20,3,0,1,80,0,52,2,0,2,33,41,0,20,15,0,20,7,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,6,0,20,7,0,20,81,0,20,82,0,52,36,0,2,49,2,32,189,2,20,3,0,1,83,0,52,2,0,2,33,41,0,20,15,0,20,7,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,6,0,20,7,0,20,81,0,20,82,0,52,84,0,2,49,2,32,135,2,20,3,0,1,85,0,52,2,0,2,33,41,0,20,15,0,20,7,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,6,0,20,7,0,20,81,0,20,82,0,52,86,0,2,49,2,32,81,2,20,3,0,1,87,0,52,2,0,2,33,41,0,20,15,0,20,7,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,6,0,20,7,0,20,81,0,20,82,0,52,88,0,2,49,2,32,27,2,20,3,0,1,89,0,52,2,0,2,33,41,0,20,15,0,20,7,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,6,0,20,7,0,20,81,0,20,82,0,52,2,0,2,49,2,32,229,1,20,3,0,1,90,0,52,2,0,2,33,41,0,20,15,0,20,7,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,6,0,20,7,0,20,81,0,20,82,0,52,91,0,2,49,2,32,175,1,20,3,0,1,92,0,52,2,0,2,33,41,0,20,15,0,20,7,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,6,0,20,7,0,20,81,0,20,82,0,52,93,0,2,49,2,32,121,1,20,3,0,1,94,0,52,2,0,2,33,23,0,20,6,0,20,7,0,20,15,0,20,7,0,48,1,52,40,0,1,49,2,32,85,1,20,3,0,1,95,0,52,2,0,2,33,23,0,20,6,0,20,7,0,20,15,0,20,7,0,48,1,52,96,0,1,49,2,32,49,1,20,3,0,1,97,0,52,2,0,2,33,23,0,20,6,0,20,7,0,20,15,0,20,7,0,48,1,52,98,0,1,49,2,32,13,1,20,3,0,1,99,0,52,2,0,2,33,23,0,20,6,0,20,7,0,20,15,0,20,7,0,48,1,52,100,0,1,49,2,32,233,0,20,3,0,1,101,0,52,2,0,2,33,41,0,20,15,0,20,7,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,6,0,20,7,0,20,102,0,20,103,0,52,8,0,2,49,2,32,179,0,20,3,0,1,104,0,52,2,0,2,33,41,0,20,15,0,20,7,0,48,1,17,6,20,15,0,20,7,0,48,1,17,7,20,6,0,20,7,0,20,106,0,20,102,0,52,105,0,2,49,2,32,125,0,20,3,0,1,107,0,52,2,0,2,33,26,0,20,6,0,20,7,0,1,45,0,20,15,0,20,7,0,48,1,52,84,0,2,49,2,32,86,0,20,3,0,1,108,0,52,2,0,2,33,23,0,20,6,0,20,7,0,20,15,0,20,7,0,48,1,52,109,0,1,49,2,32,50,0,20,3,0,1,110,0,52,2,0,2,33,23,0,20,6,0,20,7,0,20,15,0,20,7,0,48,1,52,111,0,1,49,2,32,14,0,1,113,0,20,3,0,52,76,0,2,52,112,0,1,50],"constants":[{"t":"s","v":"frame-read-u8"},{"t":"s","v":"frame"},{"t":"s","v":"="},{"t":"s","v":"op"},{"t":"n","v":1},{"t":"s","v":"frame-read-u16"},{"t":"s","v":"vm-push"},{"t":"s","v":"vm"},{"t":"s","v":"nth"},{"t":"s","v":"consts"},{"t":"s","v":"idx"},{"t":"n","v":2},{"t":"n","v":3},{"t":"n","v":4},{"t":"n","v":5},{"t":"s","v":"vm-pop"},{"t":"n","v":6},{"t":"s","v":"vm-peek"},{"t":"n","v":16},{"t":"s","v":"frame-local-get"},{"t":"s","v":"slot"},{"t":"n","v":17},{"t":"s","v":"frame-local-set"},{"t":"n","v":18},{"t":"s","v":"frame-upvalue-get"},{"t":"n","v":19},{"t":"s","v":"frame-upvalue-set"},{"t":"n","v":20},{"t":"s","v":"vm-global-get"},{"t":"s","v":"name"},{"t":"n","v":21},{"t":"s","v":"vm-global-set"},{"t":"n","v":32},{"t":"s","v":"frame-read-i16"},{"t":"s","v":"dict-set!"},{"t":"s","v":"ip"},{"t":"s","v":"+"},{"t":"s","v":"get"},{"t":"s","v":"offset"},{"t":"n","v":33},{"t":"s","v":"not"},{"t":"s","v":"v"},{"t":"n","v":34},{"t":"n","v":48},{"t":"s","v":"list"},{"t":"n","v":0},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,20,2,0,52,0,0,2,33,41,0,20,4,0,20,5,0,48,1,20,6,0,52,3,0,2,21,6,0,5,20,1,0,1,8,0,52,7,0,2,21,1,0,5,20,9,0,49,0,32,1,0,2,50],"constants":[{"t":"s","v":"<"},{"t":"s","v":"i"},{"t":"s","v":"argc"},{"t":"s","v":"cons"},{"t":"s","v":"vm-pop"},{"t":"s","v":"vm"},{"t":"s","v":"args-rev"},{"t":"s","v":"+"},{"t":"n","v":1},{"t":"s","v":"collect-args"}]}},{"t":"s","v":"collect-args"},{"t":"s","v":"vm-call"},{"t":"s","v":"f"},{"t":"s","v":"args-rev"},{"t":"n","v":49},{"t":"s","v":"frames"},{"t":"s","v":"rest-frames"},{"t":"s","v":"sp"},{"t":"s","v":"base"},{"t":"n","v":50},{"t":"s","v":"result"},{"t":"n","v":51},{"t":"s","v":"vm-create-closure"},{"t":"s","v":"code-val"},{"t":"s","v":"cl"},{"t":"n","v":52},{"t":"s","v":"call-primitive"},{"t":"n","v":64},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,20,2,0,52,0,0,2,33,41,0,20,4,0,20,5,0,48,1,20,6,0,52,3,0,2,21,6,0,5,20,1,0,1,8,0,52,7,0,2,21,1,0,5,20,9,0,49,0,32,1,0,2,50],"constants":[{"t":"s","v":"<"},{"t":"s","v":"i"},{"t":"s","v":"count"},{"t":"s","v":"cons"},{"t":"s","v":"vm-pop"},{"t":"s","v":"vm"},{"t":"s","v":"items-rev"},{"t":"s","v":"+"},{"t":"n","v":1},{"t":"s","v":"collect-items"}]}},{"t":"s","v":"collect-items"},{"t":"s","v":"items-rev"},{"t":"n","v":65},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,20,2,0,52,0,0,2,33,56,0,20,3,0,20,4,0,48,1,17,0,20,3,0,20,4,0,48,1,17,1,20,6,0,20,7,0,20,8,0,52,5,0,3,5,20,1,0,1,10,0,52,9,0,2,21,1,0,5,20,11,0,49,0,32,1,0,2,50],"constants":[{"t":"s","v":"<"},{"t":"s","v":"i"},{"t":"s","v":"count"},{"t":"s","v":"vm-pop"},{"t":"s","v":"vm"},{"t":"s","v":"dict-set!"},{"t":"s","v":"d"},{"t":"s","v":"k"},{"t":"s","v":"v"},{"t":"s","v":"+"},{"t":"n","v":1},{"t":"s","v":"collect-pairs"}]}},{"t":"s","v":"collect-pairs"},{"t":"s","v":"d"},{"t":"n","v":144},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,20,2,0,52,0,0,2,33,41,0,20,4,0,20,5,0,48,1,20,6,0,52,3,0,2,21,6,0,5,20,1,0,1,8,0,52,7,0,2,21,1,0,5,20,9,0,49,0,32,1,0,2,50],"constants":[{"t":"s","v":"<"},{"t":"s","v":"i"},{"t":"s","v":"count"},{"t":"s","v":"cons"},{"t":"s","v":"vm-pop"},{"t":"s","v":"vm"},{"t":"s","v":"parts-rev"},{"t":"s","v":"+"},{"t":"n","v":1},{"t":"s","v":"collect-parts"}]}},{"t":"s","v":"collect-parts"},{"t":"s","v":"apply"},{"t":"s","v":"str"},{"t":"s","v":"parts-rev"},{"t":"n","v":128},{"t":"s","v":"globals"},{"t":"n","v":160},{"t":"s","v":"a"},{"t":"s","v":"b"},{"t":"n","v":161},{"t":"s","v":"-"},{"t":"n","v":162},{"t":"s","v":"*"},{"t":"n","v":163},{"t":"s","v":"/"},{"t":"n","v":164},{"t":"n","v":165},{"t":"s","v":"<"},{"t":"n","v":166},{"t":"s","v":">"},{"t":"n","v":167},{"t":"n","v":168},{"t":"s","v":"len"},{"t":"n","v":169},{"t":"s","v":"first"},{"t":"n","v":170},{"t":"s","v":"rest"},{"t":"n","v":171},{"t":"s","v":"coll"},{"t":"s","v":"n"},{"t":"n","v":172},{"t":"s","v":"cons"},{"t":"s","v":"x"},{"t":"n","v":173},{"t":"n","v":174},{"t":"s","v":"inc"},{"t":"n","v":175},{"t":"s","v":"dec"},{"t":"s","v":"error"},{"t":"s","v":"VM: unknown opcode "}]}},{"t":"s","v":"vm-call-closure"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,48,1,17,3,20,2,0,20,3,0,20,4,0,20,5,0,48,3,5,20,6,0,20,3,0,48,1,5,20,7,0,20,3,0,49,1,50],"constants":[{"t":"s","v":"make-vm"},{"t":"s","v":"globals"},{"t":"s","v":"vm-push-frame"},{"t":"s","v":"vm"},{"t":"s","v":"closure"},{"t":"s","v":"args"},{"t":"s","v":"vm-run"},{"t":"s","v":"vm-pop"}]}},{"t":"s","v":"vm-execute-module"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,52,2,0,0,1,3,0,20,4,0,2,48,5,17,2,20,5,0,20,4,0,48,1,17,3,20,6,0,20,7,0,1,8,0,48,2,17,4,1,8,0,17,5,20,1,0,1,10,0,52,9,0,2,17,6,51,11,0,17,8,5,20,12,0,48,0,5,20,14,0,1,15,0,20,16,0,52,2,0,1,52,13,0,3,5,20,17,0,20,14,0,48,1,5,20,18,0,20,14,0,49,1,50],"constants":[{"t":"s","v":"make-vm-closure"},{"t":"s","v":"code"},{"t":"s","v":"list"},{"t":"s","v":"module"},{"t":"s","v":"globals"},{"t":"s","v":"make-vm"},{"t":"s","v":"make-vm-frame"},{"t":"s","v":"closure"},{"t":"n","v":0},{"t":"s","v":"get"},{"t":"s","v":"vc-locals"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,20,2,0,52,0,0,2,33,32,0,20,3,0,20,4,0,2,48,2,5,20,1,0,1,6,0,52,5,0,2,21,1,0,5,20,7,0,49,0,32,1,0,2,50],"constants":[{"t":"s","v":"<"},{"t":"s","v":"i"},{"t":"s","v":"total"},{"t":"s","v":"vm-push"},{"t":"s","v":"vm"},{"t":"s","v":"+"},{"t":"n","v":1},{"t":"s","v":"pad-loop"}]}},{"t":"s","v":"pad-loop"},{"t":"s","v":"dict-set!"},{"t":"s","v":"vm"},{"t":"s","v":"frames"},{"t":"s","v":"frame"},{"t":"s","v":"vm-run"},{"t":"s","v":"vm-pop"}]}}]}} |