The sx-get links were doing full page refreshes because click handlers never attached. Root causes: VM frame management bug, missing primitives, CEK/VM type dispatch mismatch, and silent error swallowing. Fixes: - VM frame exhaustion: frames <- [] now properly pops to rest_frames - length primitive: add alias for len in OCaml primitives - call_sx_fn: use sx_call directly instead of eval_expr (CEK checks for type "lambda" but VmClosure reports "function") - Boot error surfacing: Sx.init() now has try/catch + failure summary - Callback error surfacing: catch-all handler for non-Eval_error exceptions - Silent JIT failures: log before CEK fallback instead of swallowing - vm→env sync: loadModule now calls sync_vm_to_env() - sx_build_bytecode MCP tool added for bytecode compilation Tests: 50 new tests across test-vm.sx and test-vm-primitives.sx covering nested VM calls, frame integrity, CEK bridge, primitive availability, cross-module symbol resolution, and callback dispatch. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 line
15 KiB
JSON
1 line
15 KiB
JSON
{"magic":"SXBC","version":1,"hash":"c2d5bf6a702b8eb7","module":{"bytecode":[1,1,0,1,2,0,1,3,0,1,4,0,1,5,0,1,6,0,1,7,0,1,8,0,1,9,0,1,4,0,1,10,0,1,11,0,1,12,0,1,13,0,1,14,0,1,8,0,1,15,0,1,4,0,1,16,0,1,17,0,1,18,0,1,4,0,1,19,0,1,13,0,1,20,0,1,6,0,1,21,0,1,22,0,1,23,0,1,8,0,1,24,0,1,8,0,1,25,0,1,11,0,1,26,0,1,13,0,1,27,0,1,22,0,1,28,0,1,4,0,1,29,0,1,4,0,1,30,0,1,8,0,1,31,0,1,13,0,1,32,0,1,33,0,1,34,0,1,4,0,1,35,0,1,6,0,1,36,0,1,2,0,1,37,0,1,6,0,1,38,0,1,2,0,1,39,0,1,6,0,1,40,0,1,13,0,1,41,0,1,2,0,1,42,0,1,33,0,1,43,0,1,13,0,1,44,0,1,22,0,65,35,0,128,0,0,5,51,46,0,128,45,0,5,51,48,0,128,47,0,5,51,50,0,128,49,0,5,51,52,0,128,51,0,5,51,54,0,128,53,0,5,51,56,0,128,55,0,5,51,58,0,128,57,0,5,51,60,0,128,59,0,5,51,62,0,128,61,0,5,51,64,0,128,63,0,5,51,66,0,128,65,0,50],"constants":[{"t":"s","v":"special-form-category-map"},{"t":"s","v":"defmacro"},{"t":"s","v":"Functions & Components"},{"t":"s","v":"for-each"},{"t":"s","v":"Higher-Order Forms"},{"t":"s","v":"defpage"},{"t":"s","v":"Domain Definitions"},{"t":"s","v":"let"},{"t":"s","v":"Binding"},{"t":"s","v":"filter"},{"t":"s","v":"shift"},{"t":"s","v":"Continuations"},{"t":"s","v":"and"},{"t":"s","v":"Control Flow"},{"t":"s","v":"set!"},{"t":"s","v":"map-indexed"},{"t":"s","v":"dynamic-wind"},{"t":"s","v":"Guards"},{"t":"s","v":"reduce"},{"t":"s","v":"cond"},{"t":"s","v":"defquery"},{"t":"s","v":"->"},{"t":"s","v":"Sequencing & Threading"},{"t":"s","v":"let*"},{"t":"s","v":"define"},{"t":"s","v":"reset"},{"t":"s","v":"case"},{"t":"s","v":"do"},{"t":"s","v":"map"},{"t":"s","v":"some"},{"t":"s","v":"letrec"},{"t":"s","v":"if"},{"t":"s","v":"quote"},{"t":"s","v":"Quoting"},{"t":"s","v":"every?"},{"t":"s","v":"defhandler"},{"t":"s","v":"fn"},{"t":"s","v":"defstyle"},{"t":"s","v":"lambda"},{"t":"s","v":"defaction"},{"t":"s","v":"or"},{"t":"s","v":"defcomp"},{"t":"s","v":"quasiquote"},{"t":"s","v":"when"},{"t":"s","v":"begin"},{"t":"s","v":"extract-define-kwargs"},{"t":"code","v":{"bytecode":[65,0,0,17,1,16,0,1,1,0,52,0,0,2,17,2,16,2,52,2,0,1,17,3,51,4,0,1,3,1,2,1,1,1,6,0,16,3,52,5,0,2,52,3,0,2,5,16,1,50],"constants":[{"t":"s","v":"slice"},{"t":"n","v":2},{"t":"s","v":"len"},{"t":"s","v":"for-each"},{"t":"code","v":{"bytecode":[16,0,1,2,0,52,1,0,2,18,0,52,0,0,2,6,33,20,0,5,18,1,16,0,52,5,0,2,52,4,0,1,1,6,0,52,3,0,2,33,94,0,20,7,0,18,1,16,0,52,5,0,2,48,1,17,1,18,1,16,0,1,2,0,52,1,0,2,52,5,0,2,17,2,18,2,16,1,16,2,52,4,0,1,1,9,0,52,3,0,2,33,29,0,1,11,0,1,13,0,20,15,0,16,2,52,14,0,2,52,12,0,2,1,16,0,52,10,0,3,32,6,0,16,2,52,10,0,1,52,8,0,3,32,1,0,2,50],"constants":[{"t":"s","v":"<"},{"t":"s","v":"+"},{"t":"n","v":1},{"t":"s","v":"="},{"t":"s","v":"type-of"},{"t":"s","v":"nth"},{"t":"s","v":"keyword"},{"t":"s","v":"keyword-name"},{"t":"s","v":"dict-set!"},{"t":"s","v":"list"},{"t":"s","v":"str"},{"t":"s","v":"("},{"t":"s","v":"join"},{"t":"s","v":" "},{"t":"s","v":"map"},{"t":"s","v":"serialize"},{"t":"s","v":")"}],"arity":1,"upvalue-count":3}},{"t":"s","v":"range"},{"t":"n","v":0}],"arity":1}},{"t":"s","v":"categorize-special-forms"},{"t":"code","v":{"bytecode":[65,0,0,17,1,51,1,0,1,1,16,0,52,0,0,2,5,16,1,50],"constants":[{"t":"s","v":"for-each"},{"t":"code","v":{"bytecode":[16,0,52,1,0,1,1,2,0,52,0,0,2,6,33,59,0,5,16,0,52,4,0,1,1,5,0,52,3,0,2,6,33,41,0,5,16,0,52,6,0,1,52,1,0,1,1,7,0,52,0,0,2,6,33,19,0,5,20,8,0,16,0,52,6,0,1,48,1,1,9,0,52,0,0,2,33,175,0,16,0,1,11,0,52,10,0,2,17,1,20,12,0,16,0,48,1,17,2,20,14,0,16,1,52,13,0,2,6,34,4,0,5,1,15,0,17,3,18,0,16,3,52,17,0,2,52,16,0,1,33,15,0,18,0,16,3,52,2,0,0,52,18,0,3,32,1,0,2,5,20,19,0,18,0,16,3,52,13,0,2,1,20,0,16,2,1,20,0,52,13,0,2,6,34,4,0,5,1,21,0,1,22,0,16,2,1,22,0,52,13,0,2,6,34,4,0,5,1,21,0,1,23,0,16,2,1,23,0,52,13,0,2,6,34,4,0,5,1,21,0,1,24,0,16,2,1,24,0,52,13,0,2,6,34,4,0,5,1,21,0,1,25,0,16,1,65,5,0,49,2,32,1,0,2,50],"constants":[{"t":"s","v":"="},{"t":"s","v":"type-of"},{"t":"s","v":"list"},{"t":"s","v":">="},{"t":"s","v":"len"},{"t":"n","v":2},{"t":"s","v":"first"},{"t":"s","v":"symbol"},{"t":"s","v":"symbol-name"},{"t":"s","v":"define-special-form"},{"t":"s","v":"nth"},{"t":"n","v":1},{"t":"s","v":"extract-define-kwargs"},{"t":"s","v":"get"},{"t":"s","v":"special-form-category-map"},{"t":"s","v":"Other"},{"t":"s","v":"not"},{"t":"s","v":"has-key?"},{"t":"s","v":"dict-set!"},{"t":"s","v":"append!"},{"t":"s","v":"doc"},{"t":"s","v":""},{"t":"s","v":"example"},{"t":"s","v":"tail-position"},{"t":"s","v":"syntax"},{"t":"s","v":"name"}],"arity":1,"upvalue-count":1}}],"arity":1}},{"t":"s","v":"build-ref-items-with-href"},{"t":"code","v":{"bytecode":[51,1,0,1,3,1,2,1,1,16,0,52,0,0,2,50],"constants":[{"t":"s","v":"map"},{"t":"code","v":{"bytecode":[18,0,1,1,0,52,0,0,2,33,90,0,16,0,1,3,0,52,2,0,2,17,1,16,0,1,4,0,52,2,0,2,17,2,16,0,1,5,0,52,2,0,2,17,3,1,6,0,16,3,6,33,12,0,5,51,8,0,1,1,18,1,52,7,0,2,33,11,0,18,2,16,1,52,9,0,2,32,1,0,2,1,10,0,16,3,1,11,0,16,2,1,12,0,16,1,65,4,0,32,64,0,16,0,1,3,0,52,2,0,2,17,1,16,0,1,4,0,52,2,0,2,17,2,1,6,0,51,8,0,1,1,18,1,52,7,0,2,33,11,0,18,2,16,1,52,9,0,2,32,1,0,2,1,11,0,16,2,1,12,0,16,1,65,3,0,50],"constants":[{"t":"s","v":"="},{"t":"n","v":3},{"t":"s","v":"nth"},{"t":"n","v":0},{"t":"n","v":1},{"t":"n","v":2},{"t":"s","v":"href"},{"t":"s","v":"some"},{"t":"code","v":{"bytecode":[16,0,18,0,52,0,0,2,50],"constants":[{"t":"s","v":"="}],"arity":1,"upvalue-count":1}},{"t":"s","v":"str"},{"t":"s","v":"exists"},{"t":"s","v":"desc"},{"t":"s","v":"name"}],"arity":1,"upvalue-count":3}}],"arity":4}},{"t":"s","v":"build-reference-data"},{"t":"code","v":{"bytecode":[16,0,6,1,0,0,52,1,0,2,33,82,0,5,1,2,0,20,3,0,16,1,1,2,0,52,4,0,2,1,5,0,16,2,1,6,0,48,4,1,7,0,20,3,0,16,1,1,7,0,52,4,0,2,1,5,0,16,2,1,6,0,48,4,1,8,0,20,3,0,16,1,1,8,0,52,4,0,2,1,5,0,16,2,1,6,0,48,4,65,3,0,32,227,0,6,1,9,0,52,1,0,2,33,57,0,5,1,10,0,20,3,0,16,1,1,10,0,52,4,0,2,1,11,0,16,2,1,6,0,48,4,1,12,0,20,3,0,16,1,1,12,0,52,4,0,2,1,11,0,16,2,1,6,0,48,4,65,2,0,32,159,0,6,1,13,0,52,1,0,2,33,32,0,5,1,14,0,20,3,0,16,1,1,14,0,52,4,0,2,1,15,0,16,2,1,16,0,48,4,65,1,0,32,116,0,6,1,17,0,52,1,0,2,33,26,0,5,1,18,0,51,20,0,16,1,1,18,0,52,4,0,2,52,19,0,2,65,1,0,32,79,0,5,1,2,0,20,3,0,16,1,1,2,0,52,4,0,2,1,5,0,16,2,1,6,0,48,4,1,7,0,20,3,0,16,1,1,7,0,52,4,0,2,1,5,0,16,2,1,6,0,48,4,1,8,0,20,3,0,16,1,1,8,0,52,4,0,2,1,5,0,16,2,1,6,0,48,4,65,3,0,50],"constants":[{"t":"s","v":"attributes"},{"t":"s","v":"="},{"t":"s","v":"req-attrs"},{"t":"s","v":"build-ref-items-with-href"},{"t":"s","v":"get"},{"t":"s","v":"/geography/hypermedia/reference/attributes/"},{"t":"n","v":3},{"t":"s","v":"beh-attrs"},{"t":"s","v":"uniq-attrs"},{"t":"s","v":"headers"},{"t":"s","v":"req-headers"},{"t":"s","v":"/geography/hypermedia/reference/headers/"},{"t":"s","v":"resp-headers"},{"t":"s","v":"events"},{"t":"s","v":"events-list"},{"t":"s","v":"/geography/hypermedia/reference/events/"},{"t":"n","v":2},{"t":"s","v":"js-api"},{"t":"s","v":"js-api-list"},{"t":"s","v":"map"},{"t":"code","v":{"bytecode":[1,0,0,16,0,1,2,0,52,1,0,2,1,3,0,16,0,1,4,0,52,1,0,2,65,2,0,50],"constants":[{"t":"s","v":"desc"},{"t":"s","v":"nth"},{"t":"n","v":1},{"t":"s","v":"name"},{"t":"n","v":0}],"arity":1}}],"arity":3}},{"t":"s","v":"build-attr-detail"},{"t":"code","v":{"bytecode":[16,1,52,0,0,1,33,10,0,1,1,0,3,65,1,0,32,108,0,1,2,0,16,1,1,4,0,52,3,0,2,1,5,0,16,0,1,6,0,16,1,1,7,0,52,3,0,2,1,1,0,2,1,8,0,16,1,1,9,0,52,3,0,2,1,10,0,16,1,1,11,0,52,3,0,2,1,12,0,16,1,1,4,0,52,13,0,2,33,32,0,1,15,0,16,0,1,17,0,1,18,0,52,16,0,3,1,19,0,1,20,0,52,16,0,3,52,14,0,2,32,1,0,2,65,7,0,50],"constants":[{"t":"s","v":"nil?"},{"t":"s","v":"attr-not-found"},{"t":"s","v":"attr-handler"},{"t":"s","v":"get"},{"t":"s","v":"handler"},{"t":"s","v":"attr-title"},{"t":"s","v":"attr-example"},{"t":"s","v":"example"},{"t":"s","v":"attr-description"},{"t":"s","v":"description"},{"t":"s","v":"attr-demo"},{"t":"s","v":"demo"},{"t":"s","v":"attr-wire-id"},{"t":"s","v":"has-key?"},{"t":"s","v":"str"},{"t":"s","v":"ref-wire-"},{"t":"s","v":"replace"},{"t":"s","v":":"},{"t":"s","v":"-"},{"t":"s","v":"*"},{"t":"s","v":"star"}],"arity":2}},{"t":"s","v":"build-header-detail"},{"t":"code","v":{"bytecode":[16,1,52,0,0,1,33,10,0,1,1,0,3,65,1,0,32,60,0,1,2,0,16,1,1,4,0,52,3,0,2,1,5,0,16,1,1,6,0,52,3,0,2,1,1,0,2,1,7,0,16,0,1,8,0,16,1,1,9,0,52,3,0,2,1,10,0,16,1,1,11,0,52,3,0,2,65,6,0,50],"constants":[{"t":"s","v":"nil?"},{"t":"s","v":"header-not-found"},{"t":"s","v":"header-description"},{"t":"s","v":"get"},{"t":"s","v":"description"},{"t":"s","v":"header-demo"},{"t":"s","v":"demo"},{"t":"s","v":"header-title"},{"t":"s","v":"header-example"},{"t":"s","v":"example"},{"t":"s","v":"header-direction"},{"t":"s","v":"direction"}],"arity":2}},{"t":"s","v":"build-event-detail"},{"t":"code","v":{"bytecode":[16,1,52,0,0,1,33,10,0,1,1,0,3,65,1,0,32,48,0,1,2,0,16,1,1,4,0,52,3,0,2,1,5,0,16,1,1,6,0,52,3,0,2,1,7,0,16,1,1,8,0,52,3,0,2,1,1,0,2,1,9,0,16,0,65,5,0,50],"constants":[{"t":"s","v":"nil?"},{"t":"s","v":"event-not-found"},{"t":"s","v":"event-example"},{"t":"s","v":"get"},{"t":"s","v":"example"},{"t":"s","v":"event-demo"},{"t":"s","v":"demo"},{"t":"s","v":"event-description"},{"t":"s","v":"description"},{"t":"s","v":"event-title"}],"arity":2}},{"t":"s","v":"build-component-source"},{"t":"code","v":{"bytecode":[16,0,1,1,0,52,0,0,2,17,1,16,0,1,2,0,52,0,0,2,17,2,16,0,1,3,0,52,0,0,2,17,3,16,0,1,4,0,52,0,0,2,17,4,16,0,1,5,0,52,0,0,2,17,5,16,0,1,6,0,52,0,0,2,17,6,16,1,1,8,0,52,7,0,2,33,15,0,1,10,0,16,2,1,11,0,52,9,0,3,32,211,0,16,3,52,12,0,1,33,25,0,16,4,33,13,0,1,14,0,1,15,0,52,13,0,2,32,4,0,52,13,0,0,32,40,0,16,4,33,26,0,1,18,0,16,3,52,17,0,2,1,14,0,1,15,0,52,13,0,2,52,16,0,2,32,9,0,1,18,0,16,3,52,17,0,2,17,7,1,19,0,1,21,0,16,7,52,20,0,2,1,22,0,52,9,0,3,17,8,16,1,1,23,0,52,7,0,2,33,6,0,1,24,0,32,3,0,1,25,0,17,9,16,1,1,26,0,52,7,0,2,6,33,29,0,5,16,6,52,28,0,1,52,27,0,1,6,33,14,0,5,16,6,1,29,0,52,7,0,2,52,27,0,1,33,12,0,1,30,0,16,6,52,9,0,2,32,3,0,1,31,0,17,10,1,19,0,16,9,1,21,0,16,2,1,21,0,16,8,16,10,1,32,0,16,5,1,22,0,52,9,0,10,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"type"},{"t":"s","v":"name"},{"t":"s","v":"params"},{"t":"s","v":"has-children"},{"t":"s","v":"body-sx"},{"t":"s","v":"affinity"},{"t":"s","v":"="},{"t":"s","v":"not-found"},{"t":"s","v":"str"},{"t":"s","v":";; component "},{"t":"s","v":" not found"},{"t":"s","v":"empty?"},{"t":"s","v":"list"},{"t":"s","v":"&rest"},{"t":"s","v":"children"},{"t":"s","v":"append"},{"t":"s","v":"cons"},{"t":"s","v":"&key"},{"t":"s","v":"("},{"t":"s","v":"join"},{"t":"s","v":" "},{"t":"s","v":")"},{"t":"s","v":"island"},{"t":"s","v":"defisland"},{"t":"s","v":"defcomp"},{"t":"s","v":"component"},{"t":"s","v":"not"},{"t":"s","v":"nil?"},{"t":"s","v":"auto"},{"t":"s","v":" :affinity "},{"t":"s","v":""},{"t":"s","v":"\n "}],"arity":1}},{"t":"s","v":"build-bundle-analysis"},{"t":"code","v":{"bytecode":[52,0,0,0,17,6,51,2,0,1,2,1,1,1,6,16,0,52,1,0,2,5,1,3,0,16,3,1,4,0,16,6,1,5,0,16,5,1,6,0,16,4,1,7,0,16,2,65,5,0,50],"constants":[{"t":"s","v":"list"},{"t":"s","v":"for-each"},{"t":"code","v":{"bytecode":[16,0,1,1,0,52,0,0,2,17,1,16,1,52,2,0,1,17,2,18,0,1,4,0,52,3,0,2,33,22,0,16,2,18,0,52,7,0,2,1,8,0,52,6,0,2,52,5,0,1,32,3,0,1,4,0,17,3,1,8,0,16,3,52,9,0,2,17,4,1,4,0,17,5,1,4,0,17,6,52,10,0,0,17,7,52,10,0,0,17,8,51,12,0,0,1,1,5,1,6,1,7,1,8,16,1,52,11,0,2,5,20,13,0,18,2,1,14,0,16,5,1,15,0,16,7,52,2,0,1,1,16,0,16,0,1,16,0,52,0,0,2,1,17,0,16,2,1,18,0,16,6,1,19,0,16,8,1,20,0,16,4,1,21,0,16,3,1,22,0,16,0,1,22,0,52,0,0,2,1,23,0,16,0,1,23,0,52,0,0,2,65,10,0,49,2,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"needed-names"},{"t":"s","v":"len"},{"t":"s","v":">"},{"t":"n","v":0},{"t":"s","v":"round"},{"t":"s","v":"*"},{"t":"s","v":"/"},{"t":"n","v":100},{"t":"s","v":"-"},{"t":"s","v":"list"},{"t":"s","v":"for-each"},{"t":"code","v":{"bytecode":[18,0,16,0,52,0,0,2,17,1,16,1,52,2,0,1,52,1,0,1,33,174,0,16,1,1,3,0,52,0,0,2,33,14,0,18,1,1,5,0,52,4,0,2,19,1,32,39,0,18,2,1,5,0,52,4,0,2,19,2,5,51,7,0,0,3,16,1,1,8,0,52,0,0,2,6,34,5,0,5,52,9,0,0,52,6,0,2,5,20,10,0,18,4,1,8,0,16,1,1,8,0,52,0,0,2,6,34,5,0,5,52,9,0,0,1,11,0,16,1,1,11,0,52,0,0,2,1,12,0,16,1,1,12,0,52,0,0,2,6,34,5,0,5,52,9,0,0,1,13,0,16,1,1,13,0,52,0,0,2,1,14,0,16,0,1,3,0,16,1,1,3,0,52,0,0,2,1,15,0,16,1,1,15,0,52,0,0,2,65,7,0,49,2,32,1,0,2,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"not"},{"t":"s","v":"nil?"},{"t":"s","v":"is-pure"},{"t":"s","v":"+"},{"t":"n","v":1},{"t":"s","v":"for-each"},{"t":"code","v":{"bytecode":[51,2,0,1,0,18,0,52,1,0,2,52,0,0,1,33,12,0,20,3,0,18,0,16,0,49,2,32,1,0,2,50],"constants":[{"t":"s","v":"not"},{"t":"s","v":"some"},{"t":"code","v":{"bytecode":[16,0,18,0,52,0,0,2,50],"constants":[{"t":"s","v":"="}],"arity":1,"upvalue-count":1}},{"t":"s","v":"append!"}],"arity":1,"upvalue-count":1}},{"t":"s","v":"io-refs"},{"t":"s","v":"list"},{"t":"s","v":"append!"},{"t":"s","v":"render-target"},{"t":"s","v":"deps"},{"t":"s","v":"source"},{"t":"s","v":"name"},{"t":"s","v":"affinity"}],"arity":1,"upvalue-count":5}},{"t":"s","v":"append!"},{"t":"s","v":"pure-in-page"},{"t":"s","v":"io-refs"},{"t":"s","v":"direct"},{"t":"s","v":"needed"},{"t":"s","v":"io-in-page"},{"t":"s","v":"components"},{"t":"s","v":"savings"},{"t":"s","v":"pct"},{"t":"s","v":"path"},{"t":"s","v":"name"}],"arity":1,"upvalue-count":3}},{"t":"s","v":"total-macros"},{"t":"s","v":"pages"},{"t":"s","v":"io-count"},{"t":"s","v":"pure-count"},{"t":"s","v":"total-components"}],"arity":6}},{"t":"s","v":"build-routing-analysis"},{"t":"code","v":{"bytecode":[52,0,0,0,17,1,1,1,0,17,2,1,1,0,17,3,51,3,0,1,3,1,2,1,1,16,0,52,2,0,2,5,1,4,0,16,1,1,5,0,16,2,16,3,52,6,0,2,1,7,0,16,3,1,8,0,16,2,65,4,0,50],"constants":[{"t":"s","v":"list"},{"t":"n","v":0},{"t":"s","v":"for-each"},{"t":"code","v":{"bytecode":[16,0,1,1,0,52,0,0,2,17,1,16,0,1,2,0,52,0,0,2,6,34,4,0,5,1,3,0,17,2,2,17,3,1,3,0,17,4,16,1,33,26,0,1,4,0,17,3,5,1,5,0,17,4,5,18,0,1,7,0,52,6,0,2,19,0,32,52,0,16,2,52,8,0,1,33,26,0,1,4,0,17,3,5,1,9,0,17,4,5,18,0,1,7,0,52,6,0,2,19,0,32,17,0,1,10,0,17,3,5,18,1,1,7,0,52,6,0,2,19,1,5,20,11,0,18,2,1,12,0,16,4,1,13,0,16,3,1,14,0,16,2,52,16,0,1,1,17,0,52,15,0,2,33,22,0,16,2,1,20,0,1,17,0,52,19,0,3,1,21,0,52,18,0,2,32,2,0,16,2,1,1,0,16,1,1,22,0,16,0,1,22,0,52,0,0,2,1,23,0,16,0,1,23,0,52,0,0,2,65,6,0,49,2,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"has-data"},{"t":"s","v":"content-src"},{"t":"s","v":""},{"t":"s","v":"server"},{"t":"s","v":"Has :data expression — needs server IO"},{"t":"s","v":"+"},{"t":"n","v":1},{"t":"s","v":"empty?"},{"t":"s","v":"No content expression"},{"t":"s","v":"client"},{"t":"s","v":"append!"},{"t":"s","v":"reason"},{"t":"s","v":"mode"},{"t":"s","v":"content-expr"},{"t":"s","v":">"},{"t":"s","v":"len"},{"t":"n","v":80},{"t":"s","v":"str"},{"t":"s","v":"slice"},{"t":"n","v":0},{"t":"s","v":"..."},{"t":"s","v":"path"},{"t":"s","v":"name"}],"arity":1,"upvalue-count":3}},{"t":"s","v":"pages"},{"t":"s","v":"total-pages"},{"t":"s","v":"+"},{"t":"s","v":"server-count"},{"t":"s","v":"client-count"}],"arity":1}},{"t":"s","v":"build-affinity-analysis"},{"t":"code","v":{"bytecode":[1,0,0,16,0,1,1,0,16,1,65,2,0,50],"constants":[{"t":"s","v":"components"},{"t":"s","v":"page-plans"}],"arity":2}}]}} |