When an error occurs during resumed VM execution (after perform/hs-wait), resume_vm now checks the VM's handler_stack. If a handler exists (from a compiled guard form's OP_PUSH_HANDLER), it unwinds frames and jumps to the catch block — exactly like OP_RAISE. This enables try/catch across async perform/resume boundaries. The guard form compiles to OP_PUSH_HANDLER which lives on the vm struct and survives across setTimeout-based async resume. Previously, errors during resume escaped to the JS console as unhandled exceptions. Also restored guard in the test runner (was cek-try which doesn't survive async) and restored error-throwing assertions in run-action. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4 lines
24 KiB
Plaintext
4 lines
24 KiB
Plaintext
(sxbc 1 "999c32d583e8f902"
|
|
(code
|
|
:constants ("hs-each" {:upvalue-count 0 :arity 2 :constants ("list?" "for-each") :bytecode (16 0 52 0 0 1 33 11 0 16 1 16 0 52 1 0 2 32 6 0 16 1 16 0 49 1 50)} "hs-on" {:upvalue-count 0 :arity 3 :constants ("dom-listen") :bytecode (20 0 0 16 0 16 1 16 2 49 3 50)} "hs-on-every" "hs-init" {:upvalue-count 0 :arity 1 :constants () :bytecode (16 0 49 0 50)} "hs-wait" {:upvalue-count 0 :arity 1 :constants ("list" io-sleep) :bytecode (1 1 0 16 0 52 0 0 2 112 50)} "hs-wait-for" {:upvalue-count 0 :arity 2 :constants ("list" io-wait-event) :bytecode (1 1 0 16 0 16 1 52 0 0 3 112 50)} "hs-settle" {:upvalue-count 0 :arity 1 :constants ("list" io-settle) :bytecode (1 1 0 16 0 52 0 0 2 112 50)} "hs-toggle-class!" {:upvalue-count 0 :arity 2 :constants ("host-call" "host-get" "classList" "toggle") :bytecode (16 0 1 2 0 52 1 0 2 1 3 0 16 1 52 0 0 3 50)} "hs-toggle-between!" {:upvalue-count 0 :arity 3 :constants ("dom-has-class?" "dom-remove-class" "dom-add-class") :bytecode (20 0 0 16 0 16 1 48 2 33 22 0 20 1 0 16 0 16 1 48 2 5 20 2 0 16 0 16 2 49 2 32 19 0 20 1 0 16 0 16 2 48 2 5 20 2 0 16 0 16 1 49 2 50)} "hs-toggle-style!" {:upvalue-count 0 :arity 2 :constants ("dom-get-style" "=" "visibility" "hidden" "dom-set-style" "visible" "display" "opacity" "none" "0" "1" "") :bytecode (20 0 0 16 0 16 1 48 2 17 2 16 1 1 2 0 52 1 0 2 33 42 0 16 2 1 3 0 52 1 0 2 33 15 0 20 4 0 16 0 16 1 1 5 0 49 3 32 12 0 20 4 0 16 0 16 1 1 3 0 49 3 32 169 0 16 1 1 6 0 52 1 0 2 6 34 10 0 5 16 1 1 7 0 52 1 0 2 33 92 0 16 2 1 8 0 52 1 0 2 6 34 10 0 5 16 2 1 9 0 52 1 0 2 33 33 0 20 4 0 16 0 16 1 16 1 1 7 0 52 1 0 2 33 6 0 1 10 0 32 3 0 1 11 0 49 3 32 30 0 20 4 0 16 0 16 1 16 1 1 6 0 52 1 0 2 33 6 0 1 8 0 32 3 0 1 9 0 49 3 32 51 0 16 2 1 11 0 52 1 0 2 6 34 8 0 5 16 2 2 52 1 0 2 33 15 0 20 4 0 16 0 16 1 1 3 0 49 3 32 12 0 20 4 0 16 0 16 1 1 11 0 49 3 50)} "hs-take!" {:upvalue-count 0 :arity 5 :constants ("list?" "list" "dom-parent" "dom-child-list" "=" "class" "for-each" {:upvalue-count 1 :arity 1 :constants ("dom-remove-class") :bytecode (20 0 0 16 0 18 0 49 2 50)} "dom-add-class" ">" "len" 0 "first" 1 "nth" {:upvalue-count 2 :arity 1 :constants ("dom-set-attr") :bytecode (20 0 0 16 0 18 0 18 1 49 3 50)} "dom-set-attr" "") :rest-arity 4 :bytecode (16 3 33 23 0 16 3 52 0 0 1 33 5 0 16 3 32 6 0 16 3 52 1 0 1 32 28 0 20 2 0 16 0 48 1 17 5 16 5 33 10 0 20 3 0 16 5 48 1 32 4 0 52 1 0 0 17 5 16 1 1 5 0 52 4 0 2 33 24 0 51 7 0 1 2 16 5 52 6 0 2 5 20 8 0 16 0 16 2 49 2 32 113 0 16 4 52 10 0 1 1 11 0 52 9 0 2 33 9 0 16 4 52 12 0 1 32 1 0 2 17 6 16 4 52 10 0 1 1 13 0 52 9 0 2 33 12 0 16 4 1 13 0 52 14 0 2 32 1 0 2 17 7 16 7 33 16 0 51 15 0 1 2 1 7 16 5 52 6 0 2 32 1 0 2 5 16 6 33 14 0 20 16 0 16 0 16 2 16 6 49 3 32 12 0 20 16 0 16 0 16 2 1 17 0 49 3 50)} "hs-put!" {:upvalue-count 0 :arity 3 :constants ("=" "into" "dom-set-inner-html" "before" "dom-insert-adjacent-html" "beforebegin" "after" "afterend" "start" "afterbegin" "end" "beforeend") :bytecode (16 1 1 1 0 52 0 0 2 33 12 0 20 2 0 16 2 16 0 49 2 32 109 0 16 1 1 3 0 52 0 0 2 33 15 0 20 4 0 16 2 1 5 0 16 0 49 3 32 82 0 16 1 1 6 0 52 0 0 2 33 15 0 20 4 0 16 2 1 7 0 16 0 49 3 32 55 0 16 1 1 8 0 52 0 0 2 33 15 0 20 4 0 16 2 1 9 0 16 0 49 3 32 28 0 16 1 1 10 0 52 0 0 2 33 15 0 20 4 0 16 2 1 11 0 16 0 49 3 32 1 0 2 50)} "hs-navigate!" {:upvalue-count 0 :arity 1 :constants ("list" io-navigate) :bytecode (1 1 0 16 0 52 0 0 2 112 50)} "hs-scroll!" {:upvalue-count 0 :arity 2 :constants ("host-call" "scrollIntoView" "list" "=" "bottom" "dict" "block" "end" "start") :bytecode (16 0 1 1 0 16 1 1 4 0 52 3 0 2 33 13 0 1 6 0 1 7 0 52 5 0 2 32 10 0 1 6 0 1 8 0 52 5 0 2 52 2 0 1 52 0 0 3 50)} "hs-halt!" {:upvalue-count 0 :arity 1 :constants ("event" "host-call" "preventDefault" "list" "=" "stopPropagation") :bytecode (20 0 0 33 48 0 20 0 0 1 2 0 52 3 0 0 52 1 0 3 5 16 0 1 0 0 52 4 0 2 33 17 0 20 0 0 1 5 0 52 3 0 0 52 1 0 3 32 1 0 2 32 1 0 2 50)} "hs-select!" {:upvalue-count 0 :arity 1 :constants ("host-call" "select" "list") :bytecode (16 0 1 1 0 52 2 0 0 52 0 0 3 50)} "hs-reset!" {:upvalue-count 0 :arity 1 :constants ("host-call" "reset" "list") :bytecode (16 0 1 1 0 52 2 0 0 52 0 0 3 50)} "hs-next" {:upvalue-count 0 :arity 2 :constants ("=" "*" "dom-next-sibling" {:upvalue-count 2 :arity 1 :constants ("nil?" "dom-matches?" "dom-next-sibling") :bytecode (16 0 52 0 0 1 33 4 0 2 32 28 0 20 1 0 16 0 18 0 48 2 33 5 0 16 0 32 11 0 18 1 20 2 0 16 0 48 1 49 1 50)}) :bytecode (16 1 1 1 0 52 0 0 2 33 10 0 20 2 0 16 0 49 1 32 25 0 20 2 0 16 0 48 1 17 2 51 3 0 1 1 1 3 17 3 5 16 3 16 2 49 1 50)} "hs-previous" {:upvalue-count 0 :arity 2 :constants ("=" "*" "dom-get-prop" "previousElementSibling" {:upvalue-count 2 :arity 1 :constants ("nil?" "dom-matches?" "dom-get-prop" "previousElementSibling") :bytecode (16 0 52 0 0 1 33 4 0 2 32 31 0 20 1 0 16 0 18 0 48 2 33 5 0 16 0 32 14 0 18 1 20 2 0 16 0 1 3 0 48 2 49 1 50)}) :bytecode (16 1 1 1 0 52 0 0 2 33 13 0 20 2 0 16 0 1 3 0 49 2 32 28 0 20 2 0 16 0 1 3 0 48 2 17 2 51 4 0 1 1 1 3 17 3 5 16 3 16 2 49 1 50)} "hs-query-all" {:upvalue-count 0 :arity 1 :constants ("host-call" "dom-body" "querySelectorAll") :bytecode (20 1 0 48 0 1 2 0 16 0 52 0 0 3 50)} "hs-query-first" {:upvalue-count 0 :arity 1 :constants ("host-call" "host-global" "document" "querySelector") :bytecode (1 2 0 52 1 0 1 1 3 0 16 0 52 0 0 3 50)} "hs-query-last" {:upvalue-count 0 :arity 1 :constants ("dom-query-all" "dom-body" ">" "len" 0 "nth" "-" 1) :bytecode (20 0 0 20 1 0 48 0 16 0 48 2 17 1 16 1 52 3 0 1 1 4 0 52 2 0 2 33 22 0 16 1 16 1 52 3 0 1 1 7 0 52 6 0 2 52 5 0 2 32 1 0 2 50)} "hs-first" {:upvalue-count 0 :arity 2 :constants ("dom-query-all") :bytecode (20 0 0 16 0 16 1 49 2 50)} "hs-last" {:upvalue-count 0 :arity 2 :constants ("dom-query-all" ">" "len" 0 "nth" "-" 1) :bytecode (20 0 0 16 0 16 1 48 2 17 2 16 2 52 2 0 1 1 3 0 52 1 0 2 33 22 0 16 2 16 2 52 2 0 1 1 6 0 52 5 0 2 52 4 0 2 32 1 0 2 50)} "hs-repeat-times" {:upvalue-count 0 :arity 3 :constants ({:upvalue-count 3 :arity 1 :constants ("<" "+" 1) :bytecode (16 0 18 0 52 0 0 2 33 21 0 18 1 48 0 5 18 2 16 0 1 2 0 52 1 0 2 49 1 32 1 0 2 50)} 0) :bytecode (51 0 0 1 0 1 1 1 2 17 2 5 16 2 1 1 0 49 1 50)} "hs-repeat-forever" {:upvalue-count 0 :arity 2 :constants ({:upvalue-count 2 :arity 0 :constants () :bytecode (18 0 48 0 5 18 1 49 0 50)}) :bytecode (51 0 0 1 0 1 1 17 1 5 16 1 49 0 50)} "hs-repeat-while" {:upvalue-count 0 :arity 2 :constants ("hs-repeat-while") :bytecode (16 0 48 0 33 17 0 16 1 48 0 5 20 0 0 16 0 16 1 49 2 32 1 0 2 50)} "hs-fetch" {:upvalue-count 0 :arity 2 :constants ("list" "io-fetch" "text") :bytecode (1 1 0 16 0 16 1 33 5 0 16 1 32 3 0 1 2 0 52 0 0 3 112 50)} "hs-coerce" {:upvalue-count 0 :arity 2 :constants ("=" "Int" "floor" "+" 0 "Integer" "Float" "Number" "String" "str" "Bool" "not" "hs-falsy?" "Boolean" "Array" "list?" "list" "HTML" "JSON" "string?" "host-call" "host-global" "stringify" "Object" "parse" "Fixed" "Fixed:" ">" "string-length" 6 "substring" "**" 10 "/" "*" 0.5 "Selector" "Fragment" "Values" "dict?" "map" {:upvalue-count 1 :arity 1 :constants ("get") :bytecode (18 0 16 0 52 0 0 2 50)} "keys" "Keys" "Entries" {:upvalue-count 1 :arity 1 :constants ("list" "get") :bytecode (16 0 18 0 16 0 52 1 0 2 52 0 0 2 50)} "Reversed" "reverse" "Unique" "reduce" {:upvalue-count 0 :arity 2 :constants ("some" {:upvalue-count 1 :arity 1 :constants ("=") :bytecode (16 0 18 0 52 0 0 2 50)} "append" "list") :bytecode (51 1 0 1 1 16 0 52 0 0 2 33 5 0 16 0 32 12 0 16 0 16 1 52 3 0 1 52 2 0 2 50)} "Flattened" "Flat" {:upvalue-count 0 :arity 2 :constants ("list?" "append" "list") :bytecode (16 1 52 0 0 1 33 11 0 16 0 16 1 52 1 0 2 32 12 0 16 0 16 1 52 2 0 1 52 1 0 2 50)} "Set" "Map") :bytecode (16 1 1 1 0 52 0 0 2 33 16 0 16 0 1 4 0 52 3 0 2 52 2 0 1 32 61 3 16 1 1 5 0 52 0 0 2 33 16 0 16 0 1 4 0 52 3 0 2 52 2 0 1 32 33 3 16 1 1 6 0 52 0 0 2 33 12 0 16 0 1 4 0 52 3 0 2 32 9 3 16 1 1 7 0 52 0 0 2 33 12 0 16 0 1 4 0 52 3 0 2 32 241 2 16 1 1 8 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 220 2 16 1 1 10 0 52 0 0 2 33 14 0 20 12 0 16 0 48 1 52 11 0 1 32 194 2 16 1 1 13 0 52 0 0 2 33 14 0 20 12 0 16 0 48 1 52 11 0 1 32 168 2 16 1 1 14 0 52 0 0 2 33 23 0 16 0 52 15 0 1 33 5 0 16 0 32 6 0 16 0 52 16 0 1 32 133 2 16 1 1 17 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 112 2 16 1 1 18 0 52 0 0 2 33 33 0 16 0 52 19 0 1 33 5 0 16 0 32 16 0 1 18 0 52 21 0 1 1 22 0 16 0 52 20 0 3 32 67 2 16 1 1 23 0 52 0 0 2 33 33 0 16 0 52 19 0 1 33 19 0 1 18 0 52 21 0 1 1 24 0 16 0 52 20 0 3 32 2 0 16 0 32 22 2 16 1 1 25 0 52 0 0 2 6 34 10 0 5 16 1 1 26 0 52 0 0 2 33 126 0 16 1 52 28 0 1 1 29 0 52 27 0 2 33 25 0 16 1 1 29 0 16 1 52 28 0 1 52 30 0 3 1 4 0 52 3 0 2 32 3 0 1 4 0 17 2 16 0 1 4 0 52 3 0 2 17 3 16 2 1 4 0 52 0 0 2 33 13 0 16 3 52 2 0 1 52 9 0 1 32 41 0 20 31 0 1 32 0 16 2 48 2 17 4 16 3 16 4 52 34 0 2 1 35 0 52 3 0 2 52 2 0 1 16 4 52 33 0 2 52 9 0 1 32 126 1 16 1 1 36 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 105 1 16 1 1 37 0 52 0 0 2 33 5 0 16 0 32 88 1 16 1 1 38 0 52 0 0 2 33 32 0 16 0 52 39 0 1 33 18 0 51 41 0 1 0 16 0 52 42 0 1 52 40 0 2 32 2 0 16 0 32 44 1 16 1 1 43 0 52 0 0 2 33 23 0 16 0 52 39 0 1 33 9 0 16 0 52 42 0 1 32 2 0 16 0 32 9 1 16 1 1 44 0 52 0 0 2 33 32 0 16 0 52 39 0 1 33 18 0 51 45 0 1 0 16 0 52 42 0 1 52 40 0 2 32 2 0 16 0 32 221 0 16 1 1 46 0 52 0 0 2 33 23 0 16 0 52 15 0 1 33 9 0 16 0 52 47 0 1 32 2 0 16 0 32 186 0 16 1 1 48 0 52 0 0 2 33 30 0 16 0 52 15 0 1 33 16 0 51 50 0 52 16 0 0 16 0 52 49 0 3 32 2 0 16 0 32 144 0 16 1 1 51 0 52 0 0 2 6 34 10 0 5 16 1 1 52 0 52 0 0 2 33 30 0 16 0 52 15 0 1 33 16 0 51 53 0 52 16 0 0 16 0 52 49 0 3 32 2 0 16 0 32 88 0 16 1 1 54 0 52 0 0 2 33 30 0 16 0 52 15 0 1 33 16 0 51 50 0 52 16 0 0 16 0 52 49 0 3 32 2 0 16 0 32 46 0 16 1 1 55 0 52 0 0 2 33 32 0 16 0 52 39 0 1 33 18 0 51 45 0 1 0 16 0 52 42 0 1 52 40 0 2 32 2 0 16 0 32 2 0 16 0 50)} "hs-add" {:upvalue-count 0 :arity 2 :constants ("list?" "append" "list" "cons" "string?" "str" "+") :bytecode (16 0 52 0 0 1 33 35 0 16 1 52 0 0 1 33 11 0 16 0 16 1 52 1 0 2 32 12 0 16 0 16 1 52 2 0 1 52 1 0 2 32 59 0 16 1 52 0 0 1 33 11 0 16 0 16 1 52 3 0 2 32 39 0 16 0 52 4 0 1 6 34 7 0 5 16 1 52 4 0 1 33 11 0 16 0 16 1 52 5 0 2 32 8 0 16 0 16 1 52 6 0 2 50)} "hs-make" {:upvalue-count 0 :arity 1 :constants ("=" "Object" "dict" "Array" "list" "Set" "Map") :bytecode (16 0 1 1 0 52 0 0 2 33 7 0 52 2 0 0 32 61 0 16 0 1 3 0 52 0 0 2 33 7 0 52 4 0 0 32 42 0 16 0 1 5 0 52 0 0 2 33 7 0 52 4 0 0 32 23 0 16 0 1 6 0 52 0 0 2 33 7 0 52 2 0 0 32 4 0 52 2 0 0 50)} "hs-install" {:upvalue-count 0 :arity 1 :constants ("me") :bytecode (16 0 20 0 0 49 1 50)} "hs-measure" {:upvalue-count 0 :arity 1 :constants ("list" io-measure) :bytecode (1 1 0 16 0 52 0 0 2 112 50)} "hs-transition" {:upvalue-count 0 :arity 4 :constants ("dom-set-style" "transition" "str" " " "/" 1000 "s" "hs-settle") :bytecode (16 3 33 34 0 20 0 0 16 0 1 1 0 16 1 1 3 0 16 3 1 5 0 52 4 0 2 1 6 0 52 2 0 4 48 3 32 1 0 2 5 20 0 0 16 0 16 1 16 2 48 3 5 16 3 33 10 0 20 7 0 16 0 49 1 32 1 0 2 50)} "hs-transition-from" {:upvalue-count 0 :arity 5 :constants ("dom-set-style" "str" "transition" " " "/" 1000 "s" "hs-settle") :bytecode (20 0 0 16 0 16 1 16 2 52 1 0 1 48 3 5 16 4 33 34 0 20 0 0 16 0 1 2 0 16 1 1 3 0 16 4 1 5 0 52 4 0 2 1 6 0 52 1 0 4 48 3 32 1 0 2 5 20 0 0 16 0 16 1 16 3 52 1 0 1 48 3 5 16 4 33 10 0 20 7 0 16 0 49 1 32 1 0 2 50)} "hs-type-check" {:upvalue-count 0 :arity 2 :constants ("nil?" "=" "Number" "number?" "String" "string?" "Boolean" "Array" "list?" "Object" "dict?" "Element" "host-typeof" "element" "Node" "text" "downcase") :bytecode (16 0 52 0 0 1 33 4 0 3 32 208 0 16 1 1 2 0 52 1 0 2 33 9 0 16 0 52 3 0 1 32 187 0 16 1 1 4 0 52 1 0 2 33 9 0 16 0 52 5 0 1 32 166 0 16 1 1 6 0 52 1 0 2 33 22 0 16 0 3 52 1 0 2 6 34 8 0 5 16 0 4 52 1 0 2 32 132 0 16 1 1 7 0 52 1 0 2 33 9 0 16 0 52 8 0 1 32 111 0 16 1 1 9 0 52 1 0 2 33 9 0 16 0 52 10 0 1 32 90 0 16 1 1 11 0 52 1 0 2 33 16 0 16 0 52 12 0 1 1 13 0 52 1 0 2 32 62 0 16 1 1 14 0 52 1 0 2 33 34 0 16 0 52 12 0 1 1 13 0 52 1 0 2 6 34 14 0 5 16 0 52 12 0 1 1 15 0 52 1 0 2 32 16 0 16 0 52 12 0 1 16 1 52 16 0 1 52 1 0 2 50)} "hs-type-check-strict" {:upvalue-count 0 :arity 2 :constants ("nil?" "hs-type-check") :bytecode (16 0 52 0 0 1 33 4 0 4 32 9 0 20 1 0 16 0 16 1 49 2 50)} "hs-strict-eq" {:upvalue-count 0 :arity 2 :constants ("=" "type-of") :bytecode (16 0 52 1 0 1 16 1 52 1 0 1 52 0 0 2 6 33 9 0 5 16 0 16 1 52 0 0 2 50)} "hs-eq-ignore-case" {:upvalue-count 0 :arity 2 :constants ("=" "downcase" "str") :bytecode (16 0 52 2 0 1 52 1 0 1 16 1 52 2 0 1 52 1 0 1 52 0 0 2 50)} "hs-starts-with-ic?" {:upvalue-count 0 :arity 2 :constants ("starts-with?" "downcase") :bytecode (16 0 52 1 0 1 16 1 52 1 0 1 52 0 0 2 50)} "hs-contains-ignore-case?" {:upvalue-count 0 :arity 2 :constants ("contains?" "downcase" "str") :bytecode (16 0 52 2 0 1 52 1 0 1 16 1 52 2 0 1 52 1 0 1 52 0 0 2 50)} "hs-falsy?" {:upvalue-count 0 :arity 1 :constants ("nil?" "=" "string?" "" "list?" "len" 0) :bytecode (16 0 52 0 0 1 33 4 0 3 32 89 0 16 0 4 52 1 0 2 33 4 0 3 32 75 0 16 0 52 2 0 1 6 33 10 0 5 16 0 1 3 0 52 1 0 2 33 4 0 3 32 48 0 16 0 52 4 0 1 6 33 14 0 5 16 0 52 5 0 1 1 6 0 52 1 0 2 33 4 0 3 32 17 0 16 0 1 6 0 52 1 0 2 33 4 0 3 32 1 0 4 50)} "hs-matches?" {:upvalue-count 0 :arity 2 :constants ("string?" "=" ".*" "string-contains?" "host-typeof" "element" "host-call" "matches") :bytecode (16 0 52 0 0 1 33 27 0 16 1 1 2 0 52 1 0 2 33 4 0 3 32 8 0 16 0 16 1 52 3 0 2 32 44 0 16 0 52 4 0 1 1 5 0 52 1 0 2 33 27 0 16 1 52 0 0 1 33 14 0 16 0 1 7 0 16 1 52 6 0 3 32 1 0 4 32 1 0 4 50)} "hs-contains?" {:upvalue-count 0 :arity 2 :constants ("nil?" "string?" "string-contains?" "str" "list?" "filter" {:upvalue-count 1 :arity 1 :constants ("hs-contains?") :bytecode (20 0 0 18 0 16 0 49 2 50)} "=" "len" 0 "first" "hs-contains?" "rest") :bytecode (16 0 52 0 0 1 33 4 0 4 32 112 0 16 0 52 1 0 1 33 15 0 16 0 16 1 52 3 0 1 52 2 0 2 32 88 0 16 0 52 4 0 1 33 78 0 16 1 52 4 0 1 33 14 0 51 6 0 1 0 16 1 52 5 0 2 32 52 0 16 0 52 8 0 1 1 9 0 52 7 0 2 33 4 0 4 32 32 0 16 0 52 10 0 1 16 1 52 7 0 2 33 4 0 3 32 13 0 20 11 0 16 0 52 12 0 1 16 1 49 2 32 1 0 4 50)} "precedes?" {:upvalue-count 0 :arity 2 :constants ("<" "str") :bytecode (16 0 52 1 0 1 16 1 52 1 0 1 52 0 0 2 50)} "hs-empty?" {:upvalue-count 0 :arity 1 :constants ("nil?" "string?" "=" "len" 0 "list?" "dict?" "keys") :bytecode (16 0 52 0 0 1 33 4 0 3 32 80 0 16 0 52 1 0 1 33 16 0 16 0 52 3 0 1 1 4 0 52 2 0 2 32 55 0 16 0 52 5 0 1 33 16 0 16 0 52 3 0 1 1 4 0 52 2 0 2 32 30 0 16 0 52 6 0 1 33 20 0 16 0 52 7 0 1 52 3 0 1 1 4 0 52 2 0 2 32 1 0 4 50)} "hs-empty-target!" {:upvalue-count 0 :arity 1 :constants ("list?" "for-each" {:upvalue-count 0 :arity 1 :constants ("hs-empty-target!") :bytecode (20 0 0 16 0 49 1 50)} "nil?" "dom-get-prop" "tagName" "=" "INPUT" "TEXTAREA" "type" "checkbox" "radio" "dom-set-prop" "checked" "value" "" "FORM" "dom-set-inner-html" "host-call" "querySelectorAll" "input, textarea, select") :bytecode (16 0 52 0 0 1 33 12 0 51 2 0 16 0 52 1 0 2 32 192 0 16 0 52 3 0 1 33 4 0 2 32 179 0 20 4 0 16 0 1 5 0 48 2 17 1 16 1 1 7 0 52 6 0 2 6 34 10 0 5 16 1 1 8 0 52 6 0 2 33 68 0 20 4 0 16 0 1 9 0 48 2 17 2 16 2 1 10 0 52 6 0 2 6 34 10 0 5 16 2 1 11 0 52 6 0 2 33 14 0 20 12 0 16 0 1 13 0 4 49 3 32 13 0 20 12 0 16 0 1 14 0 1 15 0 49 3 32 73 0 16 1 1 16 0 52 6 0 2 33 13 0 20 17 0 16 0 1 15 0 49 2 32 48 0 16 1 1 16 0 52 6 0 2 33 26 0 16 0 1 19 0 1 20 0 52 18 0 3 17 2 51 2 0 16 2 52 1 0 2 32 10 0 20 17 0 16 0 1 15 0 49 2 50)} "hs-open!" {:upvalue-count 0 :arity 1 :constants ("dom-get-prop" "tagName" "=" "DIALOG" "host-call" "showModal" "dom-set-prop" "open") :bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 1 3 0 52 2 0 2 33 12 0 16 0 1 5 0 52 4 0 2 32 11 0 20 6 0 16 0 1 7 0 3 49 3 50)} "hs-close!" {:upvalue-count 0 :arity 1 :constants ("dom-get-prop" "tagName" "=" "DIALOG" "host-call" "close" "dom-set-prop" "open") :bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 1 3 0 52 2 0 2 33 12 0 16 0 1 5 0 52 4 0 2 32 11 0 20 6 0 16 0 1 7 0 4 49 3 50)} "hs-hide!" {:upvalue-count 0 :arity 2 :constants ("dom-get-prop" "tagName" "=" "DIALOG" "dom-has-attr?" "open" "host-call" "close" "DETAILS" "dom-set-prop" "opacity" "dom-set-style" "0" "visibility" "hidden" "display" "none") :bytecode (20 0 0 16 0 1 1 0 48 2 17 2 16 2 1 3 0 52 2 0 2 33 29 0 20 4 0 16 0 1 5 0 48 2 33 12 0 16 0 1 7 0 52 6 0 2 32 1 0 2 32 95 0 16 2 1 8 0 52 2 0 2 33 14 0 20 9 0 16 0 1 5 0 4 49 3 32 69 0 16 1 1 10 0 52 2 0 2 33 16 0 20 11 0 16 0 1 10 0 1 12 0 49 3 32 41 0 16 1 1 13 0 52 2 0 2 33 16 0 20 11 0 16 0 1 13 0 1 14 0 49 3 32 13 0 20 11 0 16 0 1 15 0 1 16 0 49 3 50)} "hs-show!" {:upvalue-count 0 :arity 2 :constants ("dom-get-prop" "tagName" "=" "DIALOG" "not" "dom-has-attr?" "open" "host-call" "showModal" "DETAILS" "dom-set-prop" "opacity" "dom-set-style" "1" "visibility" "visible" "display" "") :bytecode (20 0 0 16 0 1 1 0 48 2 17 2 16 2 1 3 0 52 2 0 2 33 33 0 20 5 0 16 0 1 6 0 48 2 52 4 0 1 33 12 0 16 0 1 8 0 52 7 0 2 32 1 0 2 32 95 0 16 2 1 9 0 52 2 0 2 33 14 0 20 10 0 16 0 1 6 0 3 49 3 32 69 0 16 1 1 11 0 52 2 0 2 33 16 0 20 12 0 16 0 1 11 0 1 13 0 49 3 32 41 0 16 1 1 14 0 52 2 0 2 33 16 0 20 12 0 16 0 1 14 0 1 15 0 49 3 32 13 0 20 12 0 16 0 1 16 0 1 17 0 49 3 50)} {:upvalue-count 0 :arity 1 :constants ("first") :bytecode (16 0 52 0 0 1 50)} {:upvalue-count 0 :arity 1 :constants ("last") :bytecode (16 0 52 0 0 1 50)} "hs-template" {:upvalue-count 0 :arity 1 :constants ("" 0 "len" {:upvalue-count 5 :arity 0 :constants ("<" "nth" "=" "$" "+" 1 "{" 2 {:upvalue-count 3 :arity 2 :constants (">=" "=" "nth" "}" 1 "+" "-" "{") :bytecode (16 0 18 0 52 0 0 2 33 5 0 16 0 32 118 0 18 1 16 0 52 2 0 2 1 3 0 52 1 0 2 33 42 0 16 1 1 4 0 52 1 0 2 33 5 0 16 0 32 22 0 18 2 16 0 1 4 0 52 5 0 2 16 1 1 4 0 52 6 0 2 49 2 32 58 0 18 1 16 0 52 2 0 2 1 7 0 52 1 0 2 33 25 0 18 2 16 0 1 4 0 52 5 0 2 16 1 1 4 0 52 5 0 2 49 2 32 15 0 18 2 16 0 1 4 0 52 5 0 2 16 1 49 2 50)} "slice" "str" "cek-eval" "hs-to-sx" "hs-compile" {:upvalue-count 3 :arity 1 :constants ("<" "nth" ">=" "a" "<=" "z" "A" "Z" "0" "9" "=" "_" "." "+" 1) :bytecode (16 0 18 0 52 0 0 2 6 33 118 0 5 18 1 16 0 52 1 0 2 17 1 16 1 1 3 0 52 2 0 2 6 33 10 0 5 16 1 1 5 0 52 4 0 2 6 34 80 0 5 16 1 1 6 0 52 2 0 2 6 33 10 0 5 16 1 1 7 0 52 4 0 2 6 34 52 0 5 16 1 1 8 0 52 2 0 2 6 33 10 0 5 16 1 1 9 0 52 4 0 2 6 34 24 0 5 16 1 1 11 0 52 10 0 2 6 34 10 0 5 16 1 1 12 0 52 10 0 2 33 16 0 18 2 16 0 1 14 0 52 13 0 2 49 1 32 2 0 16 0 50)}) :bytecode (18 0 18 1 52 0 0 2 33 13 1 18 2 18 0 52 1 0 2 17 0 16 0 1 3 0 52 2 0 2 6 33 16 0 5 18 0 1 5 0 52 4 0 2 18 1 52 0 0 2 33 197 0 18 2 18 0 1 5 0 52 4 0 2 52 1 0 2 1 6 0 52 2 0 2 33 91 0 18 0 1 7 0 52 4 0 2 17 1 51 8 0 0 1 0 2 1 2 17 2 5 16 2 16 1 1 5 0 48 2 17 3 18 2 16 1 16 3 52 9 0 3 17 4 18 3 20 11 0 20 12 0 20 13 0 16 4 48 1 48 1 48 1 52 10 0 2 19 3 5 16 3 1 5 0 52 4 0 2 19 0 5 18 4 49 0 32 78 0 18 0 1 5 0 52 4 0 2 17 1 51 14 0 0 1 0 2 1 2 17 2 5 16 2 16 1 48 1 17 3 18 2 16 1 16 3 52 9 0 3 17 4 18 3 20 11 0 20 12 0 20 13 0 16 4 48 1 48 1 48 1 52 10 0 2 19 3 5 16 3 19 0 5 18 4 49 0 32 27 0 18 3 16 0 52 10 0 2 19 3 5 18 0 1 5 0 52 4 0 2 19 0 5 18 4 49 0 32 1 0 2 50)}) :bytecode (1 0 0 17 1 1 1 0 17 2 16 0 52 2 0 1 17 3 51 3 0 1 2 1 3 1 0 1 1 1 4 17 4 5 16 4 48 0 5 16 1 50)} "hs-make-object" {:upvalue-count 0 :arity 1 :constants ("for-each" {:upvalue-count 1 :arity 1 :constants ("dict-set!" "first" "nth" 1) :bytecode (18 0 16 0 52 1 0 1 16 0 1 3 0 52 2 0 2 52 0 0 3 50)}) :bytecode (65 0 0 17 1 51 1 0 1 1 16 0 52 0 0 2 5 16 1 50)} "hs-method-call" {:upvalue-count 0 :arity 3 :constants ("=" "map" "first" "push" "append!" "filter" "join" "indexOf" {:upvalue-count 2 :arity 2 :constants ("=" "len" 0 -1 "first" "rest" "+" 1) :bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 6 0 1 3 0 32 39 0 16 0 52 4 0 1 18 0 52 0 0 2 33 5 0 16 1 32 19 0 18 1 16 0 52 5 0 1 16 1 1 7 0 52 6 0 2 49 2 50)} 0) :rest-arity 2 :bytecode (16 1 1 1 0 52 0 0 2 33 15 0 16 2 52 2 0 1 16 0 52 1 0 2 32 127 0 16 1 1 3 0 52 0 0 2 33 18 0 16 0 16 2 52 2 0 1 52 4 0 2 5 16 0 32 97 0 16 1 1 5 0 52 0 0 2 33 15 0 16 2 52 2 0 1 16 0 52 5 0 2 32 70 0 16 1 1 6 0 52 0 0 2 33 15 0 16 0 16 2 52 2 0 1 52 6 0 2 32 43 0 16 1 1 7 0 52 0 0 2 33 30 0 16 2 52 2 0 1 17 3 51 8 0 1 3 1 4 17 4 5 16 4 16 0 1 9 0 49 2 32 1 0 2 50)} "hs-beep" {:upvalue-count 0 :arity 1 :constants () :bytecode (16 0 50)} "hs-prop-is" {:upvalue-count 0 :arity 2 :constants ("not" "hs-falsy?" "host-get") :bytecode (20 1 0 16 0 16 1 52 2 0 2 48 1 52 0 0 1 50)} "hs-slice" {:upvalue-count 0 :arity 3 :constants ("nil?" 0 "len" "+" 1 "slice") :bytecode (16 1 52 0 0 1 33 6 0 1 1 0 32 2 0 16 1 17 3 16 2 52 0 0 1 33 9 0 16 0 52 2 0 1 32 9 0 16 2 1 4 0 52 3 0 2 17 4 16 0 16 3 16 4 52 5 0 3 50)} "hs-sorted-by" {:upvalue-count 0 :arity 2 :constants ("map" {:upvalue-count 1 :arity 1 :constants ("list") :bytecode (18 0 16 0 48 1 16 0 52 0 0 2 50)} {:upvalue-count 0 :arity 1 :constants ("nth" 1) :bytecode (16 0 1 1 0 52 0 0 2 50)} "sort" {:upvalue-count 0 :arity 2 :constants ("<" "first") :bytecode (16 0 52 1 0 1 16 1 52 1 0 1 52 0 0 2 33 4 0 3 32 1 0 4 50)}) :bytecode (51 1 0 1 1 16 0 52 0 0 2 17 2 51 2 0 51 4 0 16 2 52 3 0 2 52 0 0 2 50)} "hs-sorted-by-desc" {:upvalue-count 0 :arity 2 :constants ("map" {:upvalue-count 1 :arity 1 :constants ("list") :bytecode (18 0 16 0 48 1 16 0 52 0 0 2 50)} {:upvalue-count 0 :arity 1 :constants ("nth" 1) :bytecode (16 0 1 1 0 52 0 0 2 50)} "sort" {:upvalue-count 0 :arity 2 :constants (">" "first") :bytecode (16 0 52 1 0 1 16 1 52 1 0 1 52 0 0 2 33 4 0 3 32 1 0 4 50)}) :bytecode (51 1 0 1 1 16 0 52 0 0 2 17 2 51 2 0 51 4 0 16 2 52 3 0 2 52 0 0 2 50)} "hs-split-by" {:upvalue-count 0 :arity 2 :constants ("split") :bytecode (16 0 16 1 52 0 0 2 50)} "hs-joined-by" {:upvalue-count 0 :arity 2 :constants ("join") :bytecode (16 1 16 0 52 0 0 2 50)} {:upvalue-count 0 :arity 2 :constants ("map" {:upvalue-count 1 :arity 1 :constants ("list") :bytecode (18 0 16 0 48 1 16 0 52 0 0 2 50)} "sort" "first" {:upvalue-count 1 :arity 3 :constants ("=" "len" 0 "first" {:upvalue-count 2 :arity 1 :constants ("=" "len" 0 "first" "rest") :bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 4 0 2 32 38 0 16 0 52 3 0 1 52 3 0 1 18 0 52 0 0 2 33 9 0 16 0 52 3 0 1 32 10 0 18 1 16 0 52 4 0 1 49 1 50)} "rest" "append" "list" "nth" 1 "filter" {:upvalue-count 1 :arity 1 :constants ("not" "=") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 50)}) :bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 5 0 16 1 32 66 0 16 0 52 3 0 1 17 3 51 4 0 1 3 1 4 17 4 5 16 4 16 2 48 1 17 5 18 0 16 0 52 5 0 1 16 1 16 5 1 9 0 52 8 0 2 52 7 0 1 52 6 0 2 51 11 0 1 5 16 2 52 10 0 2 49 3 50)} "list") :bytecode (51 1 0 1 1 16 0 52 0 0 2 17 2 20 3 0 16 2 52 0 0 2 52 2 0 1 17 3 51 4 0 1 4 17 4 5 16 4 16 3 52 5 0 0 16 2 49 3 50)} {:upvalue-count 0 :arity 2 :constants ("reverse" "hs-sorted-by") :bytecode (20 1 0 16 0 16 1 48 2 52 0 0 1 50)}) :bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 3 0 128 4 0 5 51 6 0 128 5 0 5 51 8 0 128 7 0 5 51 10 0 128 9 0 5 51 12 0 128 11 0 5 51 14 0 128 13 0 5 51 16 0 128 15 0 5 51 18 0 128 17 0 5 51 20 0 128 19 0 5 51 22 0 128 21 0 5 51 24 0 128 23 0 5 51 26 0 128 25 0 5 51 28 0 128 27 0 5 51 30 0 128 29 0 5 51 32 0 128 31 0 5 51 34 0 128 33 0 5 51 36 0 128 35 0 5 51 38 0 128 37 0 5 51 40 0 128 39 0 5 51 42 0 128 41 0 5 51 44 0 128 43 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 5 51 68 0 128 67 0 5 51 70 0 128 69 0 5 51 72 0 128 71 0 5 51 74 0 128 73 0 5 51 76 0 128 75 0 5 51 78 0 128 77 0 5 51 80 0 128 79 0 5 51 82 0 128 81 0 5 51 84 0 128 83 0 5 51 86 0 128 85 0 5 51 88 0 128 87 0 5 51 90 0 128 89 0 5 51 92 0 128 91 0 5 51 94 0 128 93 0 5 51 96 0 128 95 0 5 51 98 0 128 97 0 5 51 100 0 128 99 0 5 51 101 0 128 43 0 5 51 102 0 128 45 0 5 51 104 0 128 103 0 5 51 106 0 128 105 0 5 51 108 0 128 107 0 5 51 110 0 128 109 0 5 51 112 0 128 111 0 5 51 114 0 128 113 0 5 51 116 0 128 115 0 5 51 118 0 128 117 0 5 51 120 0 128 119 0 5 51 122 0 128 121 0 5 51 123 0 128 115 0 5 51 124 0 128 117 0 50)))
|