Bytecode compiler now emits OP_PERFORM for (import ...) and compiles
(define-library ...) bodies. The VM stores the import request in
globals["__io_request"] and stops the run loop — no exceptions needed.
vm-execute-module returns a suspension dict, vm-resume-module continues.
Browser: sx_browser.ml detects suspension dicts from execute_module and
returns JS {suspended, op, request, resume} objects. The sx-platform.js
while loop handles cascading suspensions via handleImportSuspension.
13 modules load via .sxbc bytecode in 226ms (manifest-driven), both
islands hydrate, all handlers wired. 2650/2650 tests pass including
6 new vm-import-suspension tests.
Also: consolidated sx-platform-2.js → sx-platform.js, fixed
vm-execute-module missing code-from-value call, fixed bootstrap.py
protocol registry transpiler issues.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4 lines
19 KiB
Plaintext
4 lines
19 KiB
Plaintext
(sxbc 1 "f9327868ed83a255"
|
|
(code
|
|
:constants ({:library (sx render) :op "import"} "render-to-html" {:upvalue-count 0 :arity 2 :constants ("set-render-active!" "type-of" "nil" "=" "" "string" "escape-html" "number" "str" "boolean" "true" "false" "list" "empty?" "render-list-to-html" "symbol" "render-value-to-html" "trampoline" "eval-expr" "keyword" "keyword-name" "raw-html" "raw-html-content" "spread" "scope-emit!" "element-attrs" "spread-attrs" "thunk" "render-to-html" "thunk-expr" "thunk-env") :bytecode (3 52 0 0 1 5 16 0 52 1 0 1 6 1 2 0 52 3 0 2 33 7 0 5 1 4 0 32 20 1 6 1 5 0 52 3 0 2 33 11 0 5 20 6 0 16 0 49 1 32 254 0 6 1 7 0 52 3 0 2 33 10 0 5 16 0 52 8 0 1 32 233 0 6 1 9 0 52 3 0 2 33 18 0 5 16 0 33 6 0 1 10 0 32 3 0 1 11 0 32 204 0 6 1 12 0 52 3 0 2 33 28 0 5 16 0 52 13 0 1 33 6 0 1 4 0 32 9 0 20 14 0 16 0 16 1 49 2 32 165 0 6 1 15 0 52 3 0 2 33 23 0 5 20 16 0 16 0 16 1 52 18 0 2 52 17 0 1 16 1 49 2 32 131 0 6 1 19 0 52 3 0 2 33 15 0 5 20 6 0 16 0 52 20 0 1 49 1 32 105 0 6 1 21 0 52 3 0 2 33 10 0 5 16 0 52 22 0 1 32 84 0 6 1 23 0 52 3 0 2 33 21 0 5 1 25 0 16 0 52 26 0 1 52 24 0 2 5 1 4 0 32 52 0 6 1 27 0 52 3 0 2 33 21 0 5 20 28 0 16 0 52 29 0 1 16 0 52 30 0 1 49 2 32 20 0 5 20 16 0 16 0 16 1 52 18 0 2 52 17 0 1 16 1 49 2 50)} "render-value-to-html" {:upvalue-count 0 :arity 2 :constants ("type-of" "nil" "=" "" "string" "escape-html" "number" "str" "boolean" "true" "false" "list" "render-list-to-html" "raw-html" "raw-html-content" "spread" "scope-emit!" "element-attrs" "spread-attrs" "thunk" "render-to-html" "thunk-expr" "thunk-env") :bytecode (16 0 52 0 0 1 6 1 1 0 52 2 0 2 33 7 0 5 1 3 0 32 193 0 6 1 4 0 52 2 0 2 33 11 0 5 20 5 0 16 0 49 1 32 171 0 6 1 6 0 52 2 0 2 33 10 0 5 16 0 52 7 0 1 32 150 0 6 1 8 0 52 2 0 2 33 18 0 5 16 0 33 6 0 1 9 0 32 3 0 1 10 0 32 121 0 6 1 11 0 52 2 0 2 33 13 0 5 20 12 0 16 0 16 1 49 2 32 97 0 6 1 13 0 52 2 0 2 33 10 0 5 16 0 52 14 0 1 32 76 0 6 1 15 0 52 2 0 2 33 21 0 5 1 17 0 16 0 52 18 0 1 52 16 0 2 5 1 3 0 32 44 0 6 1 19 0 52 2 0 2 33 21 0 5 20 20 0 16 0 52 21 0 1 16 0 52 22 0 1 49 2 32 12 0 5 20 5 0 16 0 52 7 0 1 49 1 50)} "RENDER_HTML_FORMS" "list" "if" "when" "cond" "case" "let" "let*" "letrec" "begin" "do" "define" "defcomp" "defisland" "defmacro" "defstyle" "deftype" "defeffect" "map" "map-indexed" "filter" "for-each" "scope" "provide" "render-html-form?" {:upvalue-count 0 :arity 1 :constants ("contains?" "RENDER_HTML_FORMS") :bytecode (20 1 0 16 0 52 0 0 2 50)} "render-list-to-html" {:upvalue-count 0 :arity 2 :constants ("empty?" "" "first" "not" "=" "type-of" "symbol" "join" "map" {:upvalue-count 1 :arity 1 :constants ("render-value-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)} "symbol-name" "rest" "<>" {:upvalue-count 1 :arity 1 :constants ("render-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)} "raw!" {:upvalue-count 1 :arity 1 :constants ("str" "trampoline" "eval-expr") :bytecode (16 0 18 0 52 2 0 2 52 1 0 1 52 0 0 1 50)} "lake" "render-html-lake" "marsh" "render-html-marsh" "error-boundary" ">" "len" 1 "str" "<div data-sx-boundary=\"true\">" "try-catch" {:upvalue-count 2 :arity 0 :constants ("join" "" "map" {:upvalue-count 1 :arity 1 :constants ("render-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)}) :bytecode (1 1 0 51 3 0 0 0 18 1 52 2 0 2 52 0 0 2 50)} {:upvalue-count 2 :arity 1 :constants ("replace" "str" "<" "<" ">" ">" "not" "nil?" "try-catch" {:upvalue-count 3 :arity 0 :constants ("render-to-html" "list" "trampoline" "eval-expr") :bytecode (20 0 0 18 0 18 1 52 3 0 2 52 2 0 1 18 2 2 52 1 0 3 18 1 49 2 50)} {:upvalue-count 1 :arity 1 :constants ("str" "<div class=\"sx-render-error\" style=\"color:red;font-size:0.875rem;padding:0.5rem;border:1px solid red;border-radius:0.25rem;margin:0.5rem 0;\">Render error: " "</div>") :bytecode (1 1 0 18 0 1 2 0 52 0 0 3 50)} "<div class=\"sx-render-error\" style=\"color:red;font-size:0.875rem;padding:0.5rem;border:1px solid red;border-radius:0.25rem;margin:0.5rem 0;\">Render error: " "</div>") :bytecode (16 0 52 1 0 1 1 2 0 1 3 0 52 0 0 3 1 4 0 1 5 0 52 0 0 3 17 1 18 0 6 33 11 0 5 18 0 52 7 0 1 52 6 0 1 33 21 0 51 9 0 0 0 0 1 1 0 51 10 0 1 1 52 8 0 2 32 12 0 1 11 0 16 1 1 12 0 52 1 0 3 50)} "</div>" "portal" "promise-delayed" "contains?" "HTML_TAGS" "render-html-element" "starts-with?" "~" "env-has?" "island?" "env-get" "render-html-island" "component?" "render-html-component" "macro?" "render-to-html" "expand-macro" "<!-- unknown component: " " -->" "render-html-form?" "dispatch-html-form" "render-value-to-html" "trampoline" "eval-expr") :bytecode (16 0 52 0 0 1 33 6 0 1 1 0 32 81 2 16 0 52 2 0 1 17 2 16 2 52 5 0 1 1 6 0 52 4 0 2 52 3 0 1 33 21 0 1 1 0 51 9 0 1 1 16 0 52 8 0 2 52 7 0 2 32 32 2 16 2 52 10 0 1 17 3 16 0 52 11 0 1 17 4 16 3 1 12 0 52 4 0 2 33 21 0 1 1 0 51 13 0 1 1 16 4 52 8 0 2 52 7 0 2 32 239 1 16 3 1 14 0 52 4 0 2 33 21 0 1 1 0 51 15 0 1 1 16 4 52 8 0 2 52 7 0 2 32 206 1 16 3 1 16 0 52 4 0 2 33 12 0 20 17 0 16 4 16 1 49 2 32 182 1 16 3 1 18 0 52 4 0 2 33 12 0 20 19 0 16 4 16 1 49 2 32 158 1 16 3 1 20 0 52 4 0 2 33 81 0 16 4 52 22 0 1 1 23 0 52 21 0 2 17 5 16 5 33 9 0 16 4 52 11 0 1 32 2 0 16 4 17 6 16 5 33 9 0 16 4 52 2 0 1 32 1 0 2 17 7 1 25 0 51 27 0 1 1 1 6 51 28 0 1 7 1 1 52 26 0 2 1 29 0 52 24 0 3 32 65 1 16 3 1 30 0 52 4 0 2 6 34 10 0 5 16 3 1 31 0 52 4 0 2 33 21 0 1 1 0 51 13 0 1 1 16 4 52 8 0 2 52 7 0 2 32 18 1 20 33 0 16 3 52 32 0 2 33 14 0 20 34 0 16 3 16 4 16 1 49 3 32 248 0 16 3 1 36 0 52 35 0 2 6 33 26 0 5 16 1 16 3 52 37 0 2 6 33 13 0 5 16 1 16 3 52 39 0 2 52 38 0 1 33 20 0 20 40 0 16 1 16 3 52 39 0 2 16 4 16 1 49 3 32 186 0 16 3 1 36 0 52 35 0 2 33 77 0 16 1 16 3 52 39 0 2 17 5 16 5 52 41 0 1 33 14 0 20 42 0 16 5 16 4 16 1 49 3 32 41 0 16 5 52 43 0 1 33 20 0 20 44 0 16 5 16 4 16 1 52 45 0 3 16 1 49 2 32 12 0 1 46 0 16 3 1 47 0 52 24 0 3 32 97 0 20 48 0 16 3 48 1 33 14 0 20 49 0 16 3 16 0 16 1 49 3 32 73 0 16 1 16 3 52 37 0 2 6 33 13 0 5 16 1 16 3 52 39 0 2 52 43 0 1 33 26 0 20 44 0 16 1 16 3 52 39 0 2 16 4 16 1 52 45 0 3 16 1 49 2 32 19 0 20 50 0 16 0 16 1 52 52 0 2 52 51 0 1 16 1 49 2 50)} "dispatch-html-form" {:upvalue-count 0 :arity 3 :constants ("=" "if" "trampoline" "eval-expr" "nth" 1 "render-to-html" 2 ">" "len" 3 "" "when" "not" "join" "map" {:upvalue-count 2 :arity 1 :constants ("render-to-html" "nth") :bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 49 2 50)} "range" "cond" "eval-cond" "rest" "case" "letrec" "slice" "env-extend" "for-each" {:upvalue-count 1 :arity 1 :constants ("=" "type-of" "first" "symbol" "symbol-name" "str" "env-bind!") :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 13 0 16 0 52 2 0 1 52 4 0 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 18 0 16 1 2 52 6 0 3 50)} {:upvalue-count 1 :arity 1 :constants ("=" "type-of" "first" "symbol" "symbol-name" "str" "env-set!" "trampoline" "eval-expr" "nth" 1) :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 13 0 16 0 52 2 0 1 52 4 0 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 18 0 16 1 16 0 1 10 0 52 9 0 2 18 0 52 8 0 2 52 7 0 1 52 6 0 3 50)} {:upvalue-count 1 :arity 1 :constants ("trampoline" "eval-expr") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 50)} "init" "last" "let" "let*" "process-bindings" "begin" "do" "definition-form?" {:upvalue-count 2 :arity 1 :constants ("lambda?" "render-lambda-html" "list" "render-to-html" "apply") :bytecode (18 0 52 0 0 1 33 18 0 20 1 0 18 0 16 0 52 2 0 1 18 1 49 3 32 19 0 20 3 0 18 0 16 0 52 2 0 1 52 4 0 2 18 1 49 2 50)} "map-indexed" {:upvalue-count 2 :arity 2 :constants ("lambda?" "render-lambda-html" "list" "render-to-html" "apply") :bytecode (18 0 52 0 0 1 33 20 0 20 1 0 18 0 16 0 16 1 52 2 0 2 18 1 49 3 32 21 0 20 3 0 18 0 16 0 16 1 52 2 0 2 52 4 0 2 18 1 49 2 50)} "filter" "scope" ">=" "type-of" "first" "keyword" "keyword-name" "value" "scope-push!" {:upvalue-count 1 :arity 1 :constants ("render-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)} "scope-pop!" "provide" "-" "+" "render-value-to-html") :bytecode (16 0 1 1 0 52 0 0 2 33 86 0 16 1 1 5 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 3 16 3 33 19 0 20 6 0 16 1 1 7 0 52 4 0 2 16 2 49 2 32 38 0 16 1 52 9 0 1 1 10 0 52 8 0 2 33 19 0 20 6 0 16 1 1 10 0 52 4 0 2 16 2 49 2 32 3 0 1 11 0 32 195 4 16 0 1 12 0 52 0 0 2 33 101 0 16 1 1 5 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 52 13 0 1 33 6 0 1 11 0 32 66 0 16 1 52 9 0 1 1 10 0 52 0 0 2 33 19 0 20 6 0 16 1 1 7 0 52 4 0 2 16 2 49 2 32 31 0 1 11 0 51 16 0 1 1 1 2 1 7 0 16 1 52 9 0 1 52 17 0 2 52 15 0 2 52 14 0 2 32 82 4 16 0 1 18 0 52 0 0 2 33 38 0 20 19 0 16 1 52 20 0 1 16 2 48 2 17 3 16 3 33 12 0 20 6 0 16 3 16 2 49 2 32 3 0 1 11 0 32 32 4 16 0 1 21 0 52 0 0 2 33 22 0 20 6 0 16 1 16 2 52 3 0 2 52 2 0 1 16 2 49 2 32 254 3 16 0 1 22 0 52 0 0 2 33 106 0 16 1 1 5 0 52 4 0 2 17 3 16 1 1 7 0 52 23 0 2 17 4 16 2 52 24 0 1 17 5 51 26 0 1 5 16 3 52 25 0 2 5 51 27 0 1 5 16 3 52 25 0 2 5 16 4 52 9 0 1 1 5 0 52 8 0 2 33 18 0 51 28 0 1 5 16 4 52 29 0 1 52 25 0 2 32 1 0 2 5 20 6 0 16 4 52 30 0 1 16 5 49 2 32 136 3 16 0 1 31 0 52 0 0 2 6 34 10 0 5 16 0 1 32 0 52 0 0 2 33 87 0 20 33 0 16 1 1 5 0 52 4 0 2 16 2 48 2 17 3 16 1 52 9 0 1 1 10 0 52 0 0 2 33 19 0 20 6 0 16 1 1 7 0 52 4 0 2 16 3 49 2 32 31 0 1 11 0 51 16 0 1 1 1 3 1 7 0 16 1 52 9 0 1 52 17 0 2 52 15 0 2 52 14 0 2 32 23 3 16 0 1 34 0 52 0 0 2 6 34 10 0 5 16 0 1 35 0 52 0 0 2 33 69 0 16 1 52 9 0 1 1 7 0 52 0 0 2 33 19 0 20 6 0 16 1 1 5 0 52 4 0 2 16 2 49 2 32 31 0 1 11 0 51 16 0 1 1 1 2 1 5 0 16 1 52 9 0 1 52 17 0 2 52 15 0 2 52 14 0 2 32 184 2 20 36 0 16 0 48 1 33 19 0 16 1 16 2 52 3 0 2 52 2 0 1 5 1 11 0 32 155 2 16 0 1 15 0 52 0 0 2 33 65 0 16 1 1 5 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 3 16 1 1 7 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 4 1 11 0 51 37 0 1 3 1 2 16 4 52 15 0 2 52 14 0 2 32 78 2 16 0 1 38 0 52 0 0 2 33 65 0 16 1 1 5 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 3 16 1 1 7 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 4 1 11 0 51 39 0 1 3 1 2 16 4 52 38 0 2 52 14 0 2 32 1 2 16 0 1 40 0 52 0 0 2 33 22 0 20 6 0 16 1 16 2 52 3 0 2 52 2 0 1 16 2 49 2 32 223 1 16 0 1 25 0 52 0 0 2 33 65 0 16 1 1 5 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 3 16 1 1 7 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 4 1 11 0 51 37 0 1 3 1 2 16 4 52 15 0 2 52 14 0 2 32 146 1 16 0 1 41 0 52 0 0 2 33 212 0 16 1 1 5 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 3 16 1 1 7 0 52 23 0 2 17 4 2 17 5 2 17 6 16 4 52 9 0 1 1 7 0 52 42 0 2 6 33 40 0 5 16 4 52 44 0 1 52 43 0 1 1 45 0 52 0 0 2 6 33 18 0 5 16 4 52 44 0 1 52 46 0 1 1 47 0 52 0 0 2 33 36 0 16 4 1 5 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 5 5 16 4 1 7 0 52 23 0 2 17 6 32 4 0 16 4 17 6 5 16 3 16 5 52 48 0 2 5 16 6 52 9 0 1 1 5 0 52 0 0 2 33 16 0 20 6 0 16 6 52 44 0 1 16 2 48 2 32 18 0 1 11 0 51 49 0 1 2 16 6 52 15 0 2 52 14 0 2 17 7 16 3 52 50 0 1 5 16 7 32 178 0 16 0 1 51 0 52 0 0 2 33 147 0 16 1 1 5 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 3 16 1 1 7 0 52 4 0 2 16 2 52 3 0 2 52 2 0 1 17 4 1 10 0 17 5 16 1 52 9 0 1 1 10 0 52 52 0 2 17 6 16 3 16 4 52 48 0 2 5 16 6 1 5 0 52 0 0 2 33 18 0 20 6 0 16 1 16 5 52 4 0 2 16 2 48 2 32 32 0 1 11 0 51 16 0 1 1 1 2 16 5 16 5 16 6 52 53 0 2 52 17 0 2 52 15 0 2 52 14 0 2 17 7 16 3 52 50 0 1 5 16 7 32 19 0 20 54 0 16 1 16 2 52 3 0 2 52 2 0 1 16 2 49 2 50)} "render-lambda-html" {:upvalue-count 0 :arity 3 :constants ("env-merge" "lambda-closure" "for-each-indexed" {:upvalue-count 2 :arity 2 :constants ("env-bind!" "nth") :bytecode (18 0 16 1 18 1 16 0 52 1 0 2 52 0 0 3 50)} "lambda-params" "render-to-html" "lambda-body") :bytecode (16 0 52 1 0 1 16 2 52 0 0 2 17 3 51 3 0 1 3 1 1 16 0 52 4 0 1 52 2 0 2 5 20 5 0 16 0 52 6 0 1 16 3 49 2 50)} "render-html-component" {:upvalue-count 0 :arity 3 :constants ("dict" "list" "reduce" {:upvalue-count 4 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "trampoline" "eval-expr" "nth" "dict-set!" "keyword-name" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 150 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 75 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 52 11 0 2 52 10 0 1 17 3 18 2 16 1 52 14 0 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 3 16 1 52 15 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" 0 "skip" "env-merge" "component-closure" "for-each" {:upvalue-count 2 :arity 1 :constants ("env-bind!" "dict-has?" "dict-get") :bytecode (18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 52 0 0 3 50)} "component-params" "component-has-children?" "env-bind!" "children" "make-raw-html" "join" "" "map" {:upvalue-count 1 :arity 1 :constants ("render-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)} "render-to-html" "component-body") :bytecode (52 0 0 0 17 3 52 1 0 0 17 4 51 3 0 1 1 1 2 1 3 1 4 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 16 0 52 8 0 1 16 2 52 7 0 2 17 5 51 10 0 1 5 1 3 16 0 52 11 0 1 52 9 0 2 5 16 0 52 12 0 1 33 34 0 16 5 1 14 0 1 17 0 51 19 0 1 2 16 4 52 18 0 2 52 16 0 2 52 15 0 1 52 13 0 3 32 1 0 2 5 20 20 0 16 0 52 21 0 1 16 5 49 2 50)} "render-html-element" {:upvalue-count 0 :arity 3 :constants ("parse-element-args" "first" "nth" 1 "contains?" "VOID_ELEMENTS" "str" "<" "render-attrs" " />" "scope-push!" "element-attrs" "join" "" "map" {:upvalue-count 1 :arity 1 :constants ("render-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)} "for-each" {:upvalue-count 1 :arity 1 :constants ("merge-spread-attrs") :bytecode (20 0 0 18 0 16 0 49 2 50)} "scope-emitted" "scope-pop!" ">" "</") :bytecode (20 0 0 16 1 16 2 48 2 17 3 16 3 52 1 0 1 17 4 16 3 1 3 0 52 2 0 2 17 5 20 5 0 16 0 52 4 0 2 17 6 16 6 33 22 0 1 7 0 16 0 20 8 0 16 4 48 1 1 9 0 52 6 0 4 32 83 0 1 11 0 2 52 10 0 2 5 1 13 0 51 15 0 1 2 16 5 52 14 0 2 52 12 0 2 17 7 51 17 0 1 4 1 11 0 52 18 0 1 52 16 0 2 5 1 11 0 52 19 0 1 5 1 7 0 16 0 20 8 0 16 4 48 1 1 20 0 16 7 1 21 0 16 0 1 20 0 52 6 0 8 50)} "render-html-lake" {:upvalue-count 0 :arity 2 :constants ("div" "list" "reduce" {:upvalue-count 5 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "id" "tag" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 183 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 108 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 20 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 4 16 1 52 16 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "data-sx-lake" "" "scope-push!" "element-attrs" "join" "map" {:upvalue-count 1 :arity 1 :constants ("render-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)} "for-each" {:upvalue-count 1 :arity 1 :constants ("merge-spread-attrs") :bytecode (20 0 0 18 0 16 0 49 2 50)} "scope-emitted" "scope-pop!" "str" "<" "render-attrs" ">" "</") :bytecode (2 17 2 1 0 0 17 3 52 1 0 0 17 4 51 3 0 1 0 1 1 1 2 1 3 1 4 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 1 8 0 16 2 6 34 4 0 5 1 9 0 52 4 0 2 17 5 1 11 0 2 52 10 0 2 5 1 9 0 51 14 0 1 1 16 4 52 13 0 2 52 12 0 2 17 6 51 16 0 1 5 1 11 0 52 17 0 1 52 15 0 2 5 1 11 0 52 18 0 1 5 1 20 0 16 3 20 21 0 16 5 48 1 1 22 0 16 6 1 23 0 16 3 1 22 0 52 19 0 8 50)} "render-html-marsh" {:upvalue-count 0 :arity 2 :constants ("div" "list" "reduce" {:upvalue-count 5 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "id" "tag" "transform" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 199 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 124 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 36 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 17 0 16 3 1 16 0 52 5 0 2 33 4 0 2 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 4 16 1 52 17 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "data-sx-marsh" "" "scope-push!" "element-attrs" "join" "map" {:upvalue-count 1 :arity 1 :constants ("render-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)} "for-each" {:upvalue-count 1 :arity 1 :constants ("merge-spread-attrs") :bytecode (20 0 0 18 0 16 0 49 2 50)} "scope-emitted" "scope-pop!" "str" "<" "render-attrs" ">" "</") :bytecode (2 17 2 1 0 0 17 3 52 1 0 0 17 4 51 3 0 1 0 1 1 1 2 1 3 1 4 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 1 8 0 16 2 6 34 4 0 5 1 9 0 52 4 0 2 17 5 1 11 0 2 52 10 0 2 5 1 9 0 51 14 0 1 1 16 4 52 13 0 2 52 12 0 2 17 6 51 16 0 1 5 1 11 0 52 17 0 1 52 15 0 2 5 1 11 0 52 18 0 1 5 1 20 0 16 3 20 21 0 16 5 48 1 1 22 0 16 6 1 23 0 16 3 1 22 0 52 19 0 8 50)} "render-html-island" {:upvalue-count 0 :arity 3 :constants ("dict" "list" "reduce" {:upvalue-count 4 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "trampoline" "eval-expr" "nth" "dict-set!" "keyword-name" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 150 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 75 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 52 11 0 2 52 10 0 1 17 3 18 2 16 1 52 14 0 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 3 16 1 52 15 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" 0 "skip" "env-merge" "component-closure" "component-name" "for-each" {:upvalue-count 2 :arity 1 :constants ("env-bind!" "dict-has?" "dict-get") :bytecode (18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 52 0 0 3 50)} "component-params" "component-has-children?" "env-bind!" "children" "make-raw-html" "join" "" "map" {:upvalue-count 1 :arity 1 :constants ("render-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)} "render-to-html" "component-body" "serialize-island-state" "str" "<span data-sx-island=\"" "escape-attr" "\"" " data-sx-state=\"" ">" "</span>") :bytecode (52 0 0 0 17 3 52 1 0 0 17 4 51 3 0 1 1 1 2 1 3 1 4 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 16 0 52 8 0 1 16 2 52 7 0 2 17 5 16 0 52 9 0 1 17 6 51 11 0 1 5 1 3 16 0 52 12 0 1 52 10 0 2 5 16 0 52 13 0 1 33 34 0 16 5 1 15 0 1 18 0 51 20 0 1 2 16 4 52 19 0 2 52 17 0 2 52 16 0 1 52 14 0 3 32 1 0 2 5 20 21 0 16 0 52 22 0 1 16 5 48 2 17 7 20 23 0 16 3 48 1 17 8 1 25 0 20 26 0 16 6 48 1 1 27 0 16 8 33 20 0 1 28 0 20 26 0 16 8 48 1 1 27 0 52 24 0 3 32 3 0 1 18 0 1 29 0 16 7 1 30 0 52 24 0 7 50)} "serialize-island-state" {:upvalue-count 0 :arity 1 :constants ("empty-dict?" "sx-serialize") :bytecode (16 0 52 0 0 1 33 4 0 2 32 6 0 16 0 52 1 0 1 50)} {:library (web adapter-html) :op "import"}) :bytecode (1 0 0 112 5 51 2 0 128 1 0 5 51 4 0 128 3 0 5 1 7 0 1 8 0 1 9 0 1 10 0 1 11 0 1 12 0 1 13 0 1 14 0 1 15 0 1 16 0 1 17 0 1 18 0 1 19 0 1 20 0 1 21 0 1 22 0 1 23 0 1 24 0 1 25 0 1 26 0 1 27 0 1 28 0 52 6 0 22 128 5 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 1 49 0 112 50)))
|