Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 46s
Every .sxbc shipped with `:bytecode (nil nil ...)` and `:arity nil`, so the WASM
kernel's vm.sx hit "VM: unknown opcode 0" on every module and fell back to .sx
source (slower, noisy console). Root cause: `raw_serialize` in the `compile-blob`
command (sx_server.ml) handles `Number` but not `Integer`, and bytecode opcodes +
arity/upvalue-count are `Integer`s — so they fell through to the `_ -> "nil"`
catch-all and serialized as nil. Same class of bug as the value_to_js Integer gap
(689dae7d). It went unnoticed because source-fallback masks it. Add the Integer
case and regenerate: the web stack now loads entirely from bytecode (0 unknown-
opcode warnings, 0 source fallbacks), boost + SPA unchanged. compiler.sx in the
bundle was also stale — re-synced to the canonical lib/compiler.sx.
Verified: native host conformance 271/271; chromium boots with 0 unknown-opcode
warnings + 0 source-fallback loads; spa-check still passes (boost 6/6, fragment
swap). Prereq for content-addressing the assets (caching real bytecode, not nil).
4 lines
41 KiB
Plaintext
4 lines
41 KiB
Plaintext
(sxbc 1 "5654caebc2c27af0"
|
|
(code
|
|
:constants ("make-pool" {:upvalue-count 0 :arity 0 :constants ("entries" "mutable-list" "primitive?" "list" "index" "_count" 0) :bytecode (1 0 0 1 1 0 52 2 0 1 33 7 0 52 1 0 0 32 4 0 52 3 0 0 1 4 0 1 5 0 1 6 0 65 1 0 65 2 0 50)} "pool-add" {:upvalue-count 0 :arity 2 :constants ("Add a value to the constant pool, return its index. Deduplicates." "serialize" "index" "get" "has-key?" "_count" "dict-set!" 1 "entries" "append!") :bytecode (1 0 0 5 16 1 52 1 0 1 17 2 16 0 1 2 0 52 3 0 2 17 3 16 3 16 2 52 4 0 2 33 11 0 16 3 16 2 52 3 0 2 32 56 0 16 3 1 5 0 52 3 0 2 17 4 16 3 16 2 16 4 52 6 0 3 5 16 3 1 5 0 16 4 1 7 0 160 52 6 0 3 5 16 0 1 8 0 52 3 0 2 16 1 52 9 0 2 5 16 4 50)} "make-scope" {:upvalue-count 0 :arity 1 :constants ("next-slot" 0 "upvalues" "list" "locals" "parent" "is-function") :bytecode (1 0 0 1 1 0 1 2 0 52 3 0 0 1 4 0 52 3 0 0 1 5 0 16 0 1 6 0 4 65 5 0 50)} "scope-define-local" {:upvalue-count 0 :arity 2 :constants ("Add a local variable, return its slot index.\n Idempotent: if name already has a slot, return it." {:upvalue-count 1 :arity 1 :constants ("name" "get") :bytecode (16 0 1 0 0 52 1 0 2 18 0 164 50)} "locals" "get" "filter" "slot" "next-slot" "mutable" "name" "append!" 1 "dict-set!") :bytecode (1 0 0 5 51 1 0 1 1 16 0 1 2 0 52 3 0 2 52 4 0 2 169 17 2 16 2 33 12 0 16 2 1 5 0 52 3 0 2 32 60 0 16 0 1 6 0 52 3 0 2 17 3 16 0 1 2 0 52 3 0 2 1 7 0 4 1 5 0 16 3 1 8 0 16 1 65 3 0 52 9 0 2 5 16 0 1 6 0 16 3 1 10 0 160 52 11 0 3 5 16 3 50)} "scope-resolve" {:upvalue-count 0 :arity 2 :constants ("Resolve a variable name. Returns {:type \"local\"|\"upvalue\"|\"global\", :index N}.\n Upvalue captures only happen at function boundaries (is-function=true).\n Let scopes share the enclosing function's frame — their locals are\n accessed directly without upvalue indirection." "nil?" "index" "type" "global" "locals" "get" {:upvalue-count 1 :arity 1 :constants ("name" "get") :bytecode (16 0 1 0 0 52 1 0 2 18 0 164 50)} "some" "filter" "slot" "local" "upvalues" "uv-index" "upvalue" "parent" "scope-resolve" "is-function" "is-local" "name" "append!") :bytecode (1 0 0 5 16 0 52 1 0 1 33 17 0 1 2 0 16 1 1 3 0 1 4 0 65 2 0 32 45 1 16 0 1 5 0 52 6 0 2 17 2 51 7 0 1 1 16 2 52 8 0 2 17 3 16 3 33 38 0 51 7 0 1 1 16 2 52 9 0 2 169 17 4 1 2 0 16 4 1 10 0 52 6 0 2 1 3 0 1 11 0 65 2 0 32 234 0 16 0 1 12 0 52 6 0 2 17 4 51 7 0 1 1 16 4 52 8 0 2 17 5 16 5 33 38 0 51 7 0 1 1 16 4 52 9 0 2 169 17 6 1 2 0 16 6 1 13 0 52 6 0 2 1 3 0 1 14 0 65 2 0 32 167 0 16 0 1 15 0 52 6 0 2 17 6 16 6 52 1 0 1 33 17 0 1 2 0 16 1 1 3 0 1 4 0 65 2 0 32 130 0 20 16 0 16 6 16 1 48 2 17 7 16 7 1 3 0 52 6 0 2 1 4 0 164 33 5 0 16 7 32 98 0 16 0 1 17 0 52 6 0 2 33 84 0 16 0 1 12 0 52 6 0 2 168 17 8 16 0 1 12 0 52 6 0 2 1 2 0 16 7 1 2 0 52 6 0 2 1 18 0 16 7 1 3 0 52 6 0 2 1 11 0 164 1 13 0 16 8 1 19 0 16 1 65 4 0 52 20 0 2 5 1 2 0 16 8 1 3 0 1 14 0 65 2 0 32 2 0 16 7 50)} "make-emitter" {:upvalue-count 0 :arity 0 :constants ("pool" "make-pool" "bytecode" "mutable-list" "primitive?" "list") :bytecode (1 0 0 20 1 0 48 0 1 2 0 1 3 0 52 4 0 1 33 7 0 52 3 0 0 32 4 0 52 5 0 0 65 2 0 50)} "emit-byte" {:upvalue-count 0 :arity 2 :constants ("bytecode" "get" "append!") :bytecode (16 0 1 0 0 52 1 0 2 16 1 52 2 0 2 50)} "emit-u16" {:upvalue-count 0 :arity 2 :constants ("emit-byte" 256 "mod" "floor") :bytecode (20 0 0 16 0 16 1 1 1 0 52 2 0 2 48 2 5 20 0 0 16 0 16 1 1 1 0 163 52 3 0 1 1 1 0 52 2 0 2 49 2 50)} "emit-i16" {:upvalue-count 0 :arity 2 :constants (0 65536 "emit-u16") :bytecode (16 1 1 0 0 165 33 9 0 16 1 1 1 0 160 32 2 0 16 1 17 2 20 2 0 16 0 16 2 49 2 50)} "emit-op" {:upvalue-count 0 :arity 2 :constants ("emit-byte") :bytecode (20 0 0 16 0 16 1 49 2 50)} "emit-const" {:upvalue-count 0 :arity 2 :constants ("pool-add" "pool" "get" "emit-op" 1 "emit-u16") :bytecode (20 0 0 16 0 1 1 0 52 2 0 2 16 1 48 2 17 2 20 3 0 16 0 1 4 0 48 2 5 20 5 0 16 0 16 2 49 2 50)} "current-offset" {:upvalue-count 0 :arity 1 :constants ("bytecode" "get") :bytecode (16 0 1 0 0 52 1 0 2 168 50)} "patch-i16" {:upvalue-count 0 :arity 3 :constants ("Patch a previously emitted i16 at the given bytecode offset." 0 65536 "bytecode" "get" 256 "mod" "set-nth!" 1 "floor") :bytecode (1 0 0 5 16 2 1 1 0 165 33 9 0 16 2 1 2 0 160 32 2 0 16 2 17 3 16 0 1 3 0 52 4 0 2 17 4 16 4 16 1 16 3 1 5 0 52 6 0 2 52 7 0 3 5 16 4 16 1 1 8 0 160 16 3 1 5 0 163 52 9 0 1 1 5 0 52 6 0 2 52 7 0 3 50)} "compile-expr" {:upvalue-count 0 :arity 4 :constants ("Compile an expression. tail? indicates tail position for TCO." "nil?" "emit-op" 2 "type-of" "number" "emit-const" "string" "boolean" 3 4 "keyword" "keyword-name" "symbol" "compile-symbol" "symbol-name" "list" "empty?" 64 "emit-u16" 0 "compile-list" "dict" "compile-dict") :bytecode (1 0 0 5 16 1 52 1 0 1 33 13 0 20 2 0 16 0 1 3 0 49 2 32 245 0 16 1 52 4 0 1 1 5 0 164 33 12 0 20 6 0 16 0 16 1 49 2 32 220 0 16 1 52 4 0 1 1 7 0 164 33 12 0 20 6 0 16 0 16 1 49 2 32 195 0 16 1 52 4 0 1 1 8 0 164 33 24 0 20 2 0 16 0 16 1 33 6 0 1 9 0 32 3 0 1 10 0 49 2 32 158 0 16 1 52 4 0 1 1 11 0 164 33 16 0 20 6 0 16 0 16 1 52 12 0 1 49 2 32 129 0 16 1 52 4 0 1 1 13 0 164 33 18 0 20 14 0 16 0 16 1 52 15 0 1 16 2 49 3 32 98 0 16 1 52 4 0 1 1 16 0 164 33 49 0 16 1 52 17 0 1 33 24 0 20 2 0 16 0 1 18 0 48 2 5 20 19 0 16 0 1 20 0 49 2 32 13 0 20 21 0 16 0 16 1 16 2 16 3 49 4 32 36 0 16 1 52 4 0 1 1 22 0 164 33 14 0 20 23 0 16 0 16 1 16 2 49 3 32 9 0 20 6 0 16 0 16 1 49 2 50)} "compile-symbol" {:upvalue-count 0 :arity 3 :constants ("scope-resolve" "type" "get" "local" "emit-op" 16 "emit-byte" "index" "upvalue" 18 "pool-add" "pool" 20 "emit-u16") :bytecode (20 0 0 16 2 16 1 48 2 17 3 16 3 1 1 0 52 2 0 2 1 3 0 164 33 30 0 20 4 0 16 0 1 5 0 48 2 5 20 6 0 16 0 16 3 1 7 0 52 2 0 2 49 2 32 84 0 16 3 1 1 0 52 2 0 2 1 8 0 164 33 30 0 20 4 0 16 0 1 9 0 48 2 5 20 6 0 16 0 16 3 1 7 0 52 2 0 2 49 2 32 38 0 20 10 0 16 0 1 11 0 52 2 0 2 16 1 48 2 17 4 20 4 0 16 0 1 12 0 48 2 5 20 13 0 16 0 16 4 49 2 50)} "compile-dict" {:upvalue-count 0 :arity 3 :constants ("keys" {:upvalue-count 3 :arity 1 :constants ("emit-const" "compile-expr" "get") :bytecode (20 0 0 18 0 16 0 48 2 5 20 1 0 18 0 18 1 16 0 52 2 0 2 18 2 4 49 4 50)} "for-each" "emit-op" 65 "emit-u16") :bytecode (16 1 52 0 0 1 17 3 16 3 168 17 4 51 1 0 1 0 1 1 1 2 16 3 52 2 0 2 5 20 3 0 16 0 1 4 0 48 2 5 20 5 0 16 0 16 4 49 2 50)} "compile-list" {:upvalue-count 0 :arity 4 :constants ("type-of" "symbol" "compile-call" "symbol-name" "if" "compile-if" "when" "compile-when" "and" "compile-and" "or" "compile-or" "let" "compile-let" "let*" "let-match" "desugar-let-match" "begin" "compile-begin" "do" "lambda" "compile-lambda" "fn" "define" "compile-define" "set!" "compile-set" "quote" "compile-quote" "cond" "compile-cond" "case" "compile-case" "->" "compile-thread" "defcomp" "compile-defcomp" "defisland" "defmacro" "compile-defmacro" "defstyle" "emit-op" 2 "defhandler" "defpage" "defquery" "defaction" "defrelation" "deftype" "defeffect" "quasiquote" "compile-quasiquote" "letrec" "compile-letrec" "match" "compile-match" "guard" "compile-guard" "raise" "compile-expr" 37 "scope" "compile-scope" "provide" "compile-provide" "context" 1 "nth" 52 "emit-u16" "pool-add" "pool" "get" "emit-byte" "peek" "scope-peek" "provide!" "provide-set!" "bind" "emit!" "scope-emit!" "emitted" "scope-emitted" "deref" "perform" 112 "import" "emit-const" "library" "op" "define-library" {:upvalue-count 0 :arity 1 :constants ("list?" "empty?" begin) :bytecode (16 0 52 0 0 1 6 33 20 0 5 16 0 52 1 0 1 167 6 33 8 0 5 16 0 169 1 2 0 164 50)} "filter" "empty?" {:upvalue-count 2 :arity 1 :constants ("compile-expr" "emit-op" 5) :bytecode (20 0 0 18 0 16 0 18 1 4 48 4 5 20 1 0 18 0 1 2 0 49 2 50)} "init" "for-each" "last") :bytecode (16 1 169 17 4 16 1 170 17 5 16 4 52 0 0 1 1 1 0 164 167 33 18 0 20 2 0 16 0 16 4 16 5 16 2 16 3 49 5 32 159 6 16 4 52 3 0 1 17 6 16 6 1 4 0 164 33 16 0 20 5 0 16 0 16 5 16 2 16 3 49 4 32 126 6 16 6 1 6 0 164 33 16 0 20 7 0 16 0 16 5 16 2 16 3 49 4 32 101 6 16 6 1 8 0 164 33 16 0 20 9 0 16 0 16 5 16 2 16 3 49 4 32 76 6 16 6 1 10 0 164 33 16 0 20 11 0 16 0 16 5 16 2 16 3 49 4 32 51 6 16 6 1 12 0 164 33 16 0 20 13 0 16 0 16 5 16 2 16 3 49 4 32 26 6 16 6 1 14 0 164 33 16 0 20 13 0 16 0 16 5 16 2 16 3 49 4 32 1 6 16 6 1 15 0 164 33 21 0 20 13 0 16 0 20 16 0 16 5 48 1 16 2 16 3 49 4 32 227 5 16 6 1 17 0 164 33 16 0 20 18 0 16 0 16 5 16 2 16 3 49 4 32 202 5 16 6 1 19 0 164 33 16 0 20 18 0 16 0 16 5 16 2 16 3 49 4 32 177 5 16 6 1 20 0 164 33 14 0 20 21 0 16 0 16 5 16 2 49 3 32 154 5 16 6 1 22 0 164 33 14 0 20 21 0 16 0 16 5 16 2 49 3 32 131 5 16 6 1 23 0 164 33 14 0 20 24 0 16 0 16 5 16 2 49 3 32 108 5 16 6 1 25 0 164 33 14 0 20 26 0 16 0 16 5 16 2 49 3 32 85 5 16 6 1 27 0 164 33 12 0 20 28 0 16 0 16 5 49 2 32 64 5 16 6 1 29 0 164 33 16 0 20 30 0 16 0 16 5 16 2 16 3 49 4 32 39 5 16 6 1 31 0 164 33 16 0 20 32 0 16 0 16 5 16 2 16 3 49 4 32 14 5 16 6 1 33 0 164 33 16 0 20 34 0 16 0 16 5 16 2 16 3 49 4 32 245 4 16 6 1 35 0 164 33 14 0 20 36 0 16 0 16 5 16 2 49 3 32 222 4 16 6 1 37 0 164 33 14 0 20 36 0 16 0 16 5 16 2 49 3 32 199 4 16 6 1 38 0 164 33 14 0 20 39 0 16 0 16 5 16 2 49 3 32 176 4 16 6 1 40 0 164 33 15 0 20 41 0 16 0 1 42 0 48 2 5 2 32 152 4 16 6 1 43 0 164 33 15 0 20 41 0 16 0 1 42 0 48 2 5 2 32 128 4 16 6 1 44 0 164 33 15 0 20 41 0 16 0 1 42 0 48 2 5 2 32 104 4 16 6 1 45 0 164 33 15 0 20 41 0 16 0 1 42 0 48 2 5 2 32 80 4 16 6 1 46 0 164 33 15 0 20 41 0 16 0 1 42 0 48 2 5 2 32 56 4 16 6 1 47 0 164 33 15 0 20 41 0 16 0 1 42 0 48 2 5 2 32 32 4 16 6 1 48 0 164 33 15 0 20 41 0 16 0 1 42 0 48 2 5 2 32 8 4 16 6 1 49 0 164 33 15 0 20 41 0 16 0 1 42 0 48 2 5 2 32 240 3 16 6 1 37 0 164 33 14 0 20 36 0 16 0 16 5 16 2 49 3 32 217 3 16 6 1 50 0 164 33 15 0 20 51 0 16 0 16 5 169 16 2 49 3 32 193 3 16 6 1 52 0 164 33 16 0 20 53 0 16 0 16 5 16 2 16 3 49 4 32 168 3 16 6 1 54 0 164 33 16 0 20 55 0 16 0 16 5 16 2 16 3 49 4 32 143 3 16 6 1 56 0 164 33 16 0 20 57 0 16 0 16 5 16 2 16 3 49 4 32 118 3 16 6 1 58 0 164 33 27 0 20 59 0 16 0 16 5 169 16 2 4 48 4 5 20 41 0 16 0 1 60 0 49 2 32 82 3 16 6 1 61 0 164 33 16 0 20 62 0 16 0 16 5 16 2 16 3 49 4 32 57 3 16 6 1 63 0 164 33 16 0 20 64 0 16 0 16 5 16 2 16 3 49 4 32 32 3 16 6 1 65 0 164 33 142 0 20 59 0 16 0 16 5 169 16 2 4 48 4 5 16 5 168 1 66 0 166 33 69 0 20 59 0 16 0 16 5 1 66 0 52 67 0 2 16 2 4 48 4 5 20 41 0 16 0 1 68 0 48 2 5 20 69 0 16 0 20 70 0 16 0 1 71 0 52 72 0 2 1 65 0 48 2 48 2 5 20 73 0 16 0 1 42 0 49 2 32 46 0 20 41 0 16 0 1 68 0 48 2 5 20 69 0 16 0 20 70 0 16 0 1 71 0 52 72 0 2 1 65 0 48 2 48 2 5 20 73 0 16 0 1 66 0 49 2 32 137 2 16 6 1 74 0 164 33 63 0 20 59 0 16 0 16 5 169 16 2 4 48 4 5 20 41 0 16 0 1 68 0 48 2 5 20 69 0 16 0 20 70 0 16 0 1 71 0 52 72 0 2 1 75 0 48 2 48 2 5 20 73 0 16 0 1 66 0 49 2 32 65 2 16 6 1 76 0 164 33 83 0 20 59 0 16 0 16 5 169 16 2 4 48 4 5 20 59 0 16 0 16 5 1 66 0 52 67 0 2 16 2 4 48 4 5 20 41 0 16 0 1 68 0 48 2 5 20 69 0 16 0 20 70 0 16 0 1 71 0 52 72 0 2 1 77 0 48 2 48 2 5 20 73 0 16 0 1 42 0 49 2 32 229 1 16 6 1 78 0 164 33 63 0 20 59 0 16 0 16 5 169 16 2 4 48 4 5 20 41 0 16 0 1 68 0 48 2 5 20 69 0 16 0 20 70 0 16 0 1 71 0 52 72 0 2 1 78 0 48 2 48 2 5 20 73 0 16 0 1 66 0 49 2 32 157 1 16 6 1 79 0 164 33 83 0 20 59 0 16 0 16 5 169 16 2 4 48 4 5 20 59 0 16 0 16 5 1 66 0 52 67 0 2 16 2 4 48 4 5 20 41 0 16 0 1 68 0 48 2 5 20 69 0 16 0 20 70 0 16 0 1 71 0 52 72 0 2 1 80 0 48 2 48 2 5 20 73 0 16 0 1 42 0 49 2 32 65 1 16 6 1 81 0 164 33 63 0 20 59 0 16 0 16 5 169 16 2 4 48 4 5 20 41 0 16 0 1 68 0 48 2 5 20 69 0 16 0 20 70 0 16 0 1 71 0 52 72 0 2 1 82 0 48 2 48 2 5 20 73 0 16 0 1 66 0 49 2 32 249 0 16 6 1 83 0 164 33 63 0 20 59 0 16 0 16 5 169 16 2 4 48 4 5 20 41 0 16 0 1 68 0 48 2 5 20 69 0 16 0 20 70 0 16 0 1 71 0 52 72 0 2 1 83 0 48 2 48 2 5 20 73 0 16 0 1 66 0 49 2 32 177 0 16 6 1 84 0 164 33 29 0 20 59 0 16 0 16 5 169 16 2 4 48 4 5 20 41 0 16 0 1 85 0 48 2 5 2 32 139 0 16 6 1 86 0 164 33 38 0 20 87 0 16 0 1 88 0 16 5 169 1 89 0 1 86 0 65 2 0 48 2 5 20 41 0 16 0 1 85 0 48 2 5 2 32 92 0 16 6 1 90 0 164 33 68 0 51 91 0 16 5 52 92 0 2 17 7 16 7 52 93 0 1 167 33 43 0 16 7 169 170 17 8 51 94 0 1 0 1 2 16 8 52 95 0 1 52 96 0 2 5 20 59 0 16 0 16 8 52 97 0 1 16 2 4 49 4 32 1 0 2 32 15 0 20 2 0 16 0 16 4 16 5 16 2 16 3 49 5 50)} "compile-if" {:upvalue-count 0 :arity 4 :constants (1 "nth" 2 "compile-expr" "emit-op" 33 "current-offset" "emit-i16" 0 32 "patch-i16" "nil?") :bytecode (16 1 169 17 4 16 1 1 0 0 52 1 0 2 17 5 16 1 168 1 2 0 166 33 12 0 16 1 1 2 0 52 1 0 2 32 1 0 2 17 6 20 3 0 16 0 16 4 16 2 4 48 4 5 20 4 0 16 0 1 5 0 48 2 5 20 6 0 16 0 48 1 17 7 20 7 0 16 0 1 8 0 48 2 5 20 3 0 16 0 16 5 16 2 16 3 48 4 5 20 4 0 16 0 1 9 0 48 2 5 20 6 0 16 0 48 1 17 8 20 7 0 16 0 1 8 0 48 2 5 20 10 0 16 0 16 7 20 6 0 16 0 48 1 16 7 1 2 0 160 161 48 3 5 16 6 52 11 0 1 33 13 0 20 4 0 16 0 1 2 0 48 2 32 13 0 20 3 0 16 0 16 6 16 2 16 3 48 4 5 20 10 0 16 0 16 8 20 6 0 16 0 48 1 16 8 1 2 0 160 161 49 3 50)} "compile-when" {:upvalue-count 0 :arity 4 :constants ("compile-expr" "emit-op" 33 "current-offset" "emit-i16" 0 "compile-begin" 32 "patch-i16" 2) :bytecode (16 1 169 17 4 16 1 170 17 5 20 0 0 16 0 16 4 16 2 4 48 4 5 20 1 0 16 0 1 2 0 48 2 5 20 3 0 16 0 48 1 17 6 20 4 0 16 0 1 5 0 48 2 5 20 6 0 16 0 16 5 16 2 16 3 48 4 5 20 1 0 16 0 1 7 0 48 2 5 20 3 0 16 0 48 1 17 7 20 4 0 16 0 1 5 0 48 2 5 20 8 0 16 0 16 6 20 3 0 16 0 48 1 16 6 1 9 0 160 161 48 3 5 20 1 0 16 0 1 9 0 48 2 5 20 8 0 16 0 16 7 20 3 0 16 0 48 1 16 7 1 9 0 160 161 49 3 50)} "compile-and" {:upvalue-count 0 :arity 4 :constants ("empty?" "emit-op" 3 1 "compile-expr" 6 33 "current-offset" "emit-i16" 0 5 "compile-and" "patch-i16" 2) :bytecode (16 1 52 0 0 1 33 13 0 20 1 0 16 0 1 2 0 49 2 32 132 0 16 1 168 1 3 0 164 33 17 0 20 4 0 16 0 16 1 169 16 2 16 3 49 4 32 105 0 20 4 0 16 0 16 1 169 16 2 4 48 4 5 20 1 0 16 0 1 5 0 48 2 5 20 1 0 16 0 1 6 0 48 2 5 20 7 0 16 0 48 1 17 4 20 8 0 16 0 1 9 0 48 2 5 20 1 0 16 0 1 10 0 48 2 5 20 11 0 16 0 16 1 170 16 2 16 3 48 4 5 20 12 0 16 0 16 4 20 7 0 16 0 48 1 16 4 1 13 0 160 161 49 3 50)} "compile-or" {:upvalue-count 0 :arity 4 :constants ("empty?" "emit-op" 4 1 "compile-expr" 6 34 "current-offset" "emit-i16" 0 5 "compile-or" "patch-i16" 2) :bytecode (16 1 52 0 0 1 33 13 0 20 1 0 16 0 1 2 0 49 2 32 132 0 16 1 168 1 3 0 164 33 17 0 20 4 0 16 0 16 1 169 16 2 16 3 49 4 32 105 0 20 4 0 16 0 16 1 169 16 2 4 48 4 5 20 1 0 16 0 1 5 0 48 2 5 20 1 0 16 0 1 6 0 48 2 5 20 7 0 16 0 48 1 17 4 20 8 0 16 0 1 9 0 48 2 5 20 1 0 16 0 1 10 0 48 2 5 20 11 0 16 0 16 1 170 16 2 16 3 48 4 5 20 12 0 16 0 16 4 20 7 0 16 0 48 1 16 4 1 13 0 160 161 49 3 50)} "compile-begin" {:upvalue-count 0 :arity 4 :constants ("empty?" "parent" "get" "nil?" {:upvalue-count 1 :arity 1 :constants ("type-of" "list" 2 ">=" "symbol" "symbol-name" "define" 1 "nth" "scope-define-local") :bytecode (16 0 52 0 0 1 1 1 0 164 6 33 43 0 5 16 0 168 1 2 0 52 3 0 2 6 33 28 0 5 16 0 169 52 0 0 1 1 4 0 164 6 33 12 0 5 16 0 169 52 5 0 1 1 6 0 164 33 49 0 16 0 1 7 0 52 8 0 2 17 1 16 1 52 0 0 1 1 4 0 164 33 9 0 16 1 52 5 0 1 32 2 0 16 1 17 2 20 9 0 18 0 16 2 49 2 32 1 0 2 50)} "for-each" "emit-op" 2 1 "compile-expr" 5 "compile-begin") :bytecode (16 1 52 0 0 1 167 6 33 15 0 5 16 2 1 1 0 52 2 0 2 52 3 0 1 167 33 14 0 51 4 0 1 2 16 1 52 5 0 2 32 1 0 2 5 16 1 52 0 0 1 33 13 0 20 6 0 16 0 1 7 0 49 2 32 66 0 16 1 168 1 8 0 164 33 17 0 20 9 0 16 0 16 1 169 16 2 16 3 49 4 32 39 0 20 9 0 16 0 16 1 169 16 2 4 48 4 5 20 6 0 16 0 1 10 0 48 2 5 20 11 0 16 0 16 1 170 16 2 16 3 49 4 50)} "desugar-let-match" {:upvalue-count 0 :arity 1 :constants ("dict?" 1 "nth" 2 "slice" "__lm_tmp" "make-symbol" "list" "append!" {:upvalue-count 3 :arity 1 :constants ("get" "make-symbol" "str" "list" "append!") :bytecode (18 0 18 1 16 0 52 0 0 2 1 0 0 52 1 0 1 18 2 16 0 52 2 0 1 52 3 0 3 52 3 0 2 52 4 0 2 50)} "keys" "for-each" 3 "str" "_") :bytecode (16 0 169 17 1 16 1 52 0 0 1 33 84 0 16 1 17 2 16 0 1 1 0 52 2 0 2 17 3 16 0 1 3 0 52 4 0 2 17 4 1 5 0 52 6 0 1 17 5 52 7 0 0 17 6 16 6 16 5 16 3 52 7 0 2 52 8 0 2 5 51 9 0 1 6 1 2 1 5 16 2 52 10 0 1 52 11 0 2 5 16 6 16 4 172 32 123 0 16 1 17 2 16 0 1 1 0 52 2 0 2 17 3 16 0 1 3 0 52 2 0 2 17 4 16 0 1 12 0 52 4 0 2 17 5 16 2 52 13 0 1 1 14 0 164 33 10 0 1 5 0 52 6 0 1 32 2 0 16 2 17 6 52 7 0 0 17 7 16 7 16 6 16 3 52 7 0 2 52 8 0 2 5 16 4 52 0 0 1 33 22 0 51 9 0 1 7 1 4 1 6 16 4 52 10 0 1 52 11 0 2 32 1 0 2 5 16 7 16 5 172 50)} "compile-let" {:upvalue-count 0 :arity 4 :constants ("type-of" "symbol" "symbol-name" 1 "nth" 2 "slice" "list" {:upvalue-count 2 :arity 1 :constants ("type-of" "symbol" "make-symbol" "append!" 1 "nth") :bytecode (18 0 16 0 169 52 0 0 1 1 1 0 164 33 6 0 16 0 169 32 7 0 16 0 169 52 2 0 1 52 3 0 2 5 18 1 16 0 1 4 0 52 5 0 2 52 3 0 2 50)} "for-each" "fn" "make-symbol" "concat" "compile-letrec" "dict?" "make-scope" "next-slot" "get" "dict-set!" "compile-expr" "scope-define-local" "__dict_src" "emit-op" 17 "emit-byte" {:upvalue-count 4 :arity 1 :constants ("get" "type-of" "keyword" "keyword-name" "str" "emit-op" 16 "emit-byte" "emit-const" "pool-add" "pool" 52 "emit-u16" 2 "scope-define-local" "symbol" "symbol-name" 17) :bytecode (18 0 16 0 52 0 0 2 17 1 16 0 52 1 0 1 1 2 0 164 33 9 0 16 0 52 3 0 1 32 6 0 16 0 52 4 0 1 17 2 20 5 0 18 1 1 6 0 48 2 5 20 7 0 18 1 18 2 48 2 5 20 8 0 18 1 16 2 48 2 5 20 9 0 18 1 1 10 0 52 0 0 2 1 0 0 48 2 17 3 20 5 0 18 1 1 11 0 48 2 5 20 12 0 18 1 16 3 48 2 5 20 7 0 18 1 1 13 0 48 2 5 20 14 0 18 3 16 1 52 1 0 1 1 15 0 164 33 9 0 16 1 52 16 0 1 32 2 0 16 1 48 2 17 3 20 5 0 18 1 1 17 0 48 2 5 20 7 0 18 1 16 3 49 2 50)} "keys" "compile-begin" {:upvalue-count 2 :arity 1 :constants ("type-of" "symbol" "make-symbol" 1 "nth" "compile-expr" "scope-define-local" "symbol-name" "emit-op" 17 "emit-byte") :bytecode (16 0 169 52 0 0 1 1 1 0 164 33 6 0 16 0 169 32 7 0 16 0 169 52 2 0 1 17 1 16 0 1 3 0 52 4 0 2 17 2 20 5 0 18 0 16 2 18 1 4 48 4 5 20 6 0 18 1 16 1 52 7 0 1 48 2 17 3 20 8 0 18 0 1 9 0 48 2 5 20 10 0 18 0 16 3 49 2 50)}) :bytecode (16 1 169 52 0 0 1 1 1 0 164 33 129 0 16 1 169 52 2 0 1 17 4 16 1 1 3 0 52 4 0 2 17 5 16 1 1 5 0 52 6 0 2 17 6 52 7 0 0 17 7 52 7 0 0 17 8 51 8 0 1 7 1 8 16 5 52 9 0 2 5 1 10 0 52 11 0 1 16 7 52 7 0 2 16 6 52 12 0 2 17 9 16 4 52 11 0 1 16 9 52 7 0 2 52 7 0 1 17 10 16 4 52 11 0 1 16 8 172 17 11 20 13 0 16 0 16 10 16 11 52 7 0 2 16 2 16 3 49 4 32 214 0 16 1 169 52 14 0 1 33 139 0 16 1 169 17 4 16 1 1 3 0 52 4 0 2 17 5 16 1 1 5 0 52 6 0 2 17 6 20 15 0 16 2 48 1 17 7 16 7 1 16 0 16 2 1 16 0 52 17 0 2 52 18 0 3 5 20 19 0 16 0 16 5 16 7 4 48 4 5 20 20 0 16 7 1 21 0 48 2 17 8 20 22 0 16 0 1 23 0 48 2 5 20 24 0 16 0 16 8 48 2 5 51 25 0 1 4 1 0 1 8 1 7 16 4 52 26 0 1 52 9 0 2 5 20 27 0 16 0 16 6 16 7 16 3 49 4 32 65 0 16 1 169 17 4 16 1 170 17 5 20 15 0 16 2 48 1 17 6 16 6 1 16 0 16 2 1 16 0 52 17 0 2 52 18 0 3 5 51 28 0 1 0 1 6 16 4 52 9 0 2 5 20 27 0 16 0 16 5 16 6 16 3 49 4 50)} "compile-letrec" {:upvalue-count 0 :arity 4 :constants ("Compile letrec: all names visible during value compilation.\n 1. Define all local slots (initialized to nil).\n 2. Compile each value and assign — names are already in scope\n so mutually recursive functions can reference each other." "make-scope" "next-slot" "get" "dict-set!" {:upvalue-count 2 :arity 1 :constants ("type-of" "symbol" "symbol-name" "scope-define-local" "emit-op" 2 17 "emit-byte") :bytecode (16 0 169 52 0 0 1 1 1 0 164 33 10 0 16 0 169 52 2 0 1 32 3 0 16 0 169 17 1 20 3 0 18 0 16 1 48 2 17 2 20 4 0 18 1 1 5 0 48 2 5 20 4 0 18 1 1 6 0 48 2 5 20 7 0 18 1 16 2 48 2 5 16 2 50)} "map" {:upvalue-count 2 :arity 1 :constants (1 "nth" "compile-expr" "emit-op" 17 "emit-byte") :bytecode (16 0 169 17 1 16 0 1 0 0 52 1 0 2 17 2 20 2 0 18 0 16 1 1 0 0 52 1 0 2 18 1 4 48 4 5 20 3 0 18 0 1 4 0 48 2 5 20 5 0 18 0 16 2 49 2 50)} {:upvalue-count 2 :arity 1 :constants ("nth" "list") :bytecode (18 0 16 0 52 0 0 2 18 1 16 0 52 0 0 2 52 1 0 2 50)} 0 "range" "for-each" "compile-begin") :bytecode (1 0 0 5 16 1 169 17 4 16 1 170 17 5 20 1 0 16 2 48 1 17 6 16 6 1 2 0 16 2 1 2 0 52 3 0 2 52 4 0 3 5 51 5 0 1 6 1 0 16 4 52 6 0 2 17 7 51 7 0 1 0 1 6 51 8 0 1 4 1 7 1 9 0 16 4 168 52 10 0 2 52 6 0 2 52 11 0 2 5 20 12 0 16 0 16 5 16 6 16 3 49 4 50)} "compile-lambda" {:upvalue-count 0 :arity 3 :constants ("make-scope" "make-emitter" "is-function" "dict-set!" -1 {:upvalue-count 3 :arity 1 :constants ("type-of" "symbol" "symbol-name" "list?" "empty?" "&rest" "locals" "get" "&key" -1 "nil?" "scope-define-local") :bytecode (16 0 52 0 0 1 1 1 0 164 33 9 0 16 0 52 2 0 1 32 49 0 16 0 52 3 0 1 6 33 24 0 5 16 0 52 4 0 1 167 6 33 12 0 5 16 0 169 52 0 0 1 1 1 0 164 33 10 0 16 0 169 52 2 0 1 32 2 0 16 0 17 1 16 1 1 5 0 164 33 15 0 18 1 1 6 0 52 7 0 2 168 19 0 32 51 0 16 1 1 8 0 164 33 4 0 2 32 38 0 18 0 1 9 0 166 6 33 7 0 5 18 2 52 10 0 1 33 7 0 16 1 19 2 32 1 0 2 5 20 11 0 18 1 16 1 49 2 50)} "for-each" "compile-begin" "emit-op" 50 "upvalues" "get" "upvalue-count" "arity" "locals" "constants" "pool" "entries" "rest-arity" "bytecode" "pool-add" 51 "emit-u16" {:upvalue-count 1 :arity 1 :constants ("emit-byte" "is-local" "get" 1 0 "index") :bytecode (20 0 0 18 0 16 0 1 1 0 52 2 0 2 33 6 0 1 3 0 32 3 0 1 4 0 48 2 5 20 0 0 18 0 16 0 1 5 0 52 2 0 2 49 2 50)}) :bytecode (16 1 169 17 3 16 1 170 17 4 20 0 0 16 2 48 1 17 5 20 1 0 48 0 17 6 16 5 1 2 0 3 52 3 0 3 5 1 4 0 17 7 2 17 8 51 5 0 1 7 1 5 1 8 16 3 52 6 0 2 5 20 7 0 16 6 16 4 16 5 3 48 4 5 20 8 0 16 6 1 9 0 48 2 5 16 5 1 10 0 52 11 0 2 17 9 16 7 1 4 0 166 33 61 0 1 12 0 16 9 168 1 13 0 16 5 1 14 0 52 11 0 2 168 1 15 0 16 6 1 16 0 52 11 0 2 1 17 0 52 11 0 2 1 18 0 16 7 1 19 0 16 6 1 19 0 52 11 0 2 65 5 0 32 53 0 1 12 0 16 9 168 1 13 0 16 5 1 14 0 52 11 0 2 168 1 15 0 16 6 1 16 0 52 11 0 2 1 17 0 52 11 0 2 1 19 0 16 6 1 19 0 52 11 0 2 65 4 0 17 10 20 20 0 16 0 1 16 0 52 11 0 2 16 10 48 2 17 11 20 8 0 16 0 1 21 0 48 2 5 20 22 0 16 0 16 11 48 2 5 51 23 0 1 0 16 9 52 6 0 2 50)} "compile-define" {:upvalue-count 0 :arity 3 :constants ("type-of" "symbol" "symbol-name" "empty?" "keyword" {:upvalue-count 1 :arity 1 :constants ("empty?" "type-of" "keyword") :bytecode (16 0 52 0 0 1 33 4 0 2 32 28 0 16 0 169 52 1 0 1 1 2 0 164 33 11 0 18 0 16 0 170 170 49 1 32 3 0 16 0 169 50)} "parent" "get" "nil?" "scope-define-local" "compile-expr" "emit-op" 17 "emit-byte" "pool-add" "pool" 128 "emit-u16") :bytecode (16 1 169 17 3 16 3 52 0 0 1 1 1 0 164 33 9 0 16 3 52 2 0 1 32 2 0 16 3 17 4 16 1 170 17 5 16 5 52 3 0 1 167 6 33 12 0 5 16 5 169 52 0 0 1 1 4 0 164 33 19 0 2 17 6 51 5 0 1 6 17 6 16 6 16 5 48 1 32 3 0 16 5 169 17 5 16 2 1 6 0 52 7 0 2 52 8 0 1 167 33 47 0 20 9 0 16 2 16 4 48 2 17 6 20 10 0 16 0 16 5 16 2 4 48 4 5 20 11 0 16 0 1 12 0 48 2 5 20 13 0 16 0 16 6 49 2 32 51 0 20 14 0 16 0 1 15 0 52 7 0 2 16 4 48 2 17 6 20 10 0 16 0 16 5 16 2 4 48 4 5 20 11 0 16 0 1 16 0 48 2 5 20 17 0 16 0 16 6 49 2 50)} "compile-set" {:upvalue-count 0 :arity 3 :constants ("type-of" "symbol" "symbol-name" 1 "nth" "scope-resolve" "compile-expr" "type" "get" "local" "emit-op" 17 "emit-byte" "index" "upvalue" 19 "pool-add" "pool" 21 "emit-u16") :bytecode (16 1 169 52 0 0 1 1 1 0 164 33 10 0 16 1 169 52 2 0 1 32 3 0 16 1 169 17 3 16 1 1 3 0 52 4 0 2 17 4 20 5 0 16 2 16 3 48 2 17 5 20 6 0 16 0 16 4 16 2 4 48 4 5 16 5 1 7 0 52 8 0 2 1 9 0 164 33 30 0 20 10 0 16 0 1 11 0 48 2 5 20 12 0 16 0 16 5 1 13 0 52 8 0 2 49 2 32 84 0 16 5 1 7 0 52 8 0 2 1 14 0 164 33 30 0 20 10 0 16 0 1 15 0 48 2 5 20 12 0 16 0 16 5 1 13 0 52 8 0 2 49 2 32 38 0 20 16 0 16 0 1 17 0 52 8 0 2 16 3 48 2 17 6 20 10 0 16 0 1 18 0 48 2 5 20 19 0 16 0 16 6 49 2 50)} "compile-quote" {:upvalue-count 0 :arity 2 :constants ("empty?" "emit-op" 2 "emit-const") :bytecode (16 1 52 0 0 1 33 13 0 20 1 0 16 0 1 2 0 49 2 32 10 0 20 3 0 16 0 16 1 169 49 2 50)} "compile-cond" {:upvalue-count 0 :arity 4 :constants ("Compile (cond test1 body1 test2 body2 ... :else fallback).\n Also handles clause syntax: (cond (test1 body1) (test2 body2) ...)." "empty?" "list?" 1 {: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)} "list" "reduce" 2 "emit-op" 0 "nth" "slice" "type-of" "keyword" "keyword-name" "else" "symbol" "symbol-name" ":else" "compile-expr" 33 "current-offset" "emit-i16" 32 "patch-i16" "compile-cond") :bytecode (1 0 0 5 16 1 52 1 0 1 167 6 33 34 0 5 16 1 169 52 2 0 1 6 33 22 0 5 16 1 169 168 1 3 0 166 6 33 9 0 5 16 1 169 169 52 2 0 1 33 16 0 51 4 0 52 5 0 0 16 1 52 6 0 3 32 2 0 16 1 17 4 16 4 168 1 7 0 165 33 13 0 20 8 0 16 0 1 7 0 49 2 32 42 1 16 4 1 9 0 52 10 0 2 17 5 16 4 1 3 0 52 10 0 2 17 6 16 4 168 1 7 0 166 33 12 0 16 4 1 7 0 52 11 0 2 32 4 0 52 5 0 0 17 7 16 5 52 12 0 1 1 13 0 164 6 33 11 0 5 16 5 52 14 0 1 1 15 0 164 6 34 50 0 5 16 5 52 12 0 1 1 16 0 164 6 33 26 0 5 16 5 52 17 0 1 1 15 0 164 6 34 11 0 5 16 5 52 17 0 1 1 18 0 164 6 34 5 0 5 16 5 3 164 33 16 0 20 19 0 16 0 16 6 16 2 16 3 49 4 32 150 0 20 19 0 16 0 16 5 16 2 4 48 4 5 20 8 0 16 0 1 20 0 48 2 5 20 21 0 16 0 48 1 17 8 20 22 0 16 0 1 9 0 48 2 5 20 19 0 16 0 16 6 16 2 16 3 48 4 5 20 8 0 16 0 1 23 0 48 2 5 20 21 0 16 0 48 1 17 9 20 22 0 16 0 1 9 0 48 2 5 20 24 0 16 0 16 8 20 21 0 16 0 48 1 16 8 1 7 0 160 161 48 3 5 20 25 0 16 0 16 7 16 2 16 3 48 4 5 20 24 0 16 0 16 9 20 21 0 16 0 48 1 16 9 1 7 0 160 161 49 3 50)} "compile-case" {:upvalue-count 0 :arity 4 :constants ("Compile (case expr val1 body1 val2 body2 ... :else fallback)." "compile-expr" "compile-case-clauses") :bytecode (1 0 0 5 20 1 0 16 0 16 1 169 16 2 4 48 4 5 16 1 170 17 4 20 2 0 16 0 16 4 16 2 16 3 49 4 50)} "compile-case-clauses" {:upvalue-count 0 :arity 4 :constants (2 "emit-op" 5 1 "nth" "slice" "list" "type-of" "keyword" "keyword-name" "else" "symbol" "symbol-name" ":else" "compile-expr" 6 "pool-add" "pool" "get" "=" 52 "emit-u16" "emit-byte" 33 "current-offset" "emit-i16" 0 32 "patch-i16" "compile-case-clauses") :bytecode (16 1 168 1 0 0 165 33 24 0 20 1 0 16 0 1 2 0 48 2 5 20 1 0 16 0 1 0 0 49 2 32 120 1 16 1 169 17 4 16 1 1 3 0 52 4 0 2 17 5 16 1 168 1 0 0 166 33 12 0 16 1 1 0 0 52 5 0 2 32 4 0 52 6 0 0 17 6 16 4 52 7 0 1 1 8 0 164 6 33 11 0 5 16 4 52 9 0 1 1 10 0 164 6 34 50 0 5 16 4 52 7 0 1 1 11 0 164 6 33 26 0 5 16 4 52 12 0 1 1 10 0 164 6 34 11 0 5 16 4 52 12 0 1 1 13 0 164 6 34 5 0 5 16 4 3 164 33 27 0 20 1 0 16 0 1 2 0 48 2 5 20 14 0 16 0 16 5 16 2 16 3 49 4 32 223 0 20 1 0 16 0 1 15 0 48 2 5 20 14 0 16 0 16 4 16 2 4 48 4 5 20 16 0 16 0 1 17 0 52 18 0 2 1 19 0 48 2 17 7 20 1 0 16 0 1 20 0 48 2 5 20 21 0 16 0 16 7 48 2 5 20 22 0 16 0 1 0 0 48 2 5 20 1 0 16 0 1 23 0 48 2 5 20 24 0 16 0 48 1 17 7 20 25 0 16 0 1 26 0 48 2 5 20 1 0 16 0 1 2 0 48 2 5 20 14 0 16 0 16 5 16 2 16 3 48 4 5 20 1 0 16 0 1 27 0 48 2 5 20 24 0 16 0 48 1 17 8 20 25 0 16 0 1 26 0 48 2 5 20 28 0 16 0 16 7 20 24 0 16 0 48 1 16 7 1 0 0 160 161 48 3 5 20 29 0 16 0 16 6 16 2 16 3 48 4 5 20 28 0 16 0 16 8 20 24 0 16 0 48 1 16 8 1 0 0 160 161 49 3 50)} "compile-match" {:upvalue-count 0 :arity 4 :constants ("compile-expr" {:upvalue-count 4 :arity 1 :constants ("empty?" "emit-op" 5 "pool-add" "pool" "get" "match: no clause matched" 1 "emit-u16" 52 "error" "emit-byte" "nth" "type-of" "symbol" "symbol-name" "_" "compile-expr" "true" "false" "nil" "scope-add" 13 "scope-index" "list?" 2 "quote" 6 "make-symbol" "=" 33 "current-offset" "emit-i16" 0 32 "patch-i16") :bytecode (16 0 52 0 0 1 33 100 0 20 1 0 18 0 1 2 0 48 2 5 20 3 0 18 0 1 4 0 52 5 0 2 1 6 0 48 2 17 1 20 1 0 18 0 1 7 0 48 2 5 20 8 0 18 0 16 1 48 2 5 20 1 0 18 0 1 9 0 48 2 5 20 8 0 18 0 20 3 0 18 0 1 4 0 52 5 0 2 1 10 0 48 2 48 2 5 20 11 0 18 0 1 7 0 49 2 32 244 2 16 0 169 17 1 16 1 169 17 2 16 1 1 7 0 52 12 0 2 17 3 16 0 170 17 4 16 2 52 13 0 1 1 14 0 164 6 33 11 0 5 16 2 52 15 0 1 1 16 0 164 33 27 0 20 1 0 18 0 1 2 0 48 2 5 20 17 0 18 0 16 3 18 1 18 2 49 4 32 163 2 16 2 52 13 0 1 1 14 0 164 6 33 44 0 5 16 2 52 15 0 1 1 18 0 164 167 6 33 28 0 5 16 2 52 15 0 1 1 19 0 164 167 6 33 12 0 5 16 2 52 15 0 1 1 20 0 164 167 33 63 0 16 2 52 15 0 1 17 5 20 21 0 18 1 16 5 48 2 17 6 20 1 0 18 0 1 22 0 48 2 5 20 11 0 18 0 20 23 0 16 6 16 5 48 2 48 2 5 20 17 0 18 0 16 3 16 6 18 2 49 4 32 39 2 16 2 52 24 0 1 6 33 62 0 5 16 2 168 1 25 0 164 6 33 50 0 5 16 2 169 52 13 0 1 1 14 0 164 6 33 34 0 5 16 2 169 52 15 0 1 1 26 0 164 6 33 18 0 5 16 2 1 7 0 52 12 0 2 52 13 0 1 1 14 0 164 33 4 1 20 1 0 18 0 1 27 0 48 2 5 20 3 0 18 0 1 4 0 52 5 0 2 16 2 1 7 0 52 12 0 2 52 15 0 1 52 28 0 1 48 2 17 5 20 1 0 18 0 1 7 0 48 2 5 20 8 0 18 0 16 5 48 2 5 20 3 0 18 0 1 4 0 52 5 0 2 1 29 0 48 2 17 5 20 1 0 18 0 1 9 0 48 2 5 20 8 0 18 0 16 5 48 2 5 20 11 0 18 0 1 25 0 48 2 5 20 1 0 18 0 1 30 0 48 2 5 20 31 0 18 0 48 1 17 5 20 32 0 18 0 1 33 0 48 2 5 20 1 0 18 0 1 2 0 48 2 5 20 17 0 18 0 16 3 18 1 18 2 48 4 5 20 1 0 18 0 1 34 0 48 2 5 20 31 0 18 0 48 1 17 6 20 32 0 18 0 1 33 0 48 2 5 20 35 0 18 0 16 5 20 31 0 18 0 48 1 16 5 1 25 0 160 161 48 3 5 18 3 16 4 48 1 5 20 35 0 18 0 16 6 20 31 0 18 0 48 1 16 6 1 25 0 160 161 49 3 32 216 0 20 1 0 18 0 1 27 0 48 2 5 20 17 0 18 0 16 2 18 1 4 48 4 5 20 3 0 18 0 1 4 0 52 5 0 2 1 29 0 48 2 17 5 20 1 0 18 0 1 9 0 48 2 5 20 8 0 18 0 16 5 48 2 5 20 11 0 18 0 1 25 0 48 2 5 20 1 0 18 0 1 30 0 48 2 5 20 31 0 18 0 48 1 17 5 20 32 0 18 0 1 33 0 48 2 5 20 1 0 18 0 1 2 0 48 2 5 20 17 0 18 0 16 3 18 1 18 2 48 4 5 20 1 0 18 0 1 34 0 48 2 5 20 31 0 18 0 48 1 17 6 20 32 0 18 0 1 33 0 48 2 5 20 35 0 18 0 16 5 20 31 0 18 0 48 1 16 5 1 25 0 160 161 48 3 5 18 3 16 4 48 1 5 20 35 0 18 0 16 6 20 31 0 18 0 48 1 16 6 1 25 0 160 161 49 3 50)}) :bytecode (20 0 0 16 0 16 1 169 16 2 4 48 4 5 2 17 4 51 1 0 1 0 1 2 1 3 1 4 17 4 16 4 16 1 170 49 1 50)} "compile-thread" {:upvalue-count 0 :arity 4 :constants ("Compile (-> val (f1 a) (f2 b)) by desugaring to nested calls." "empty?" "emit-op" 2 1 "compile-expr" "compile-thread-step") :bytecode (1 0 0 5 16 1 52 1 0 1 33 13 0 20 2 0 16 0 1 3 0 49 2 32 52 0 16 1 168 1 4 0 164 33 17 0 20 5 0 16 0 16 1 169 16 2 16 3 49 4 32 25 0 16 1 169 17 4 16 1 170 17 5 20 6 0 16 0 16 4 16 5 16 2 16 3 49 5 50)} "compile-thread-step" {:upvalue-count 0 :arity 5 :constants ("empty?" "compile-expr" "list?" "list" "concat" "compile-thread-step") :bytecode (16 2 52 0 0 1 33 16 0 20 1 0 16 0 16 1 16 3 16 4 49 4 32 116 0 16 2 169 17 5 16 2 170 17 6 16 4 6 33 7 0 5 16 6 52 0 0 1 17 7 16 5 52 2 0 1 33 19 0 16 5 169 16 1 52 3 0 2 16 5 170 52 4 0 2 32 8 0 16 5 16 1 52 3 0 2 17 8 16 6 52 0 0 1 33 16 0 20 1 0 16 0 16 8 16 3 16 7 49 4 32 28 0 20 1 0 16 0 16 8 16 3 4 48 4 5 20 5 0 16 0 16 8 16 6 16 3 16 4 49 5 50)} "compile-defcomp" {:upvalue-count 0 :arity 3 :constants ("Compile defcomp/defisland — delegates to runtime via GLOBAL_GET + CALL." "pool-add" "pool" "get" "eval-defcomp" "emit-op" 20 "emit-u16" "emit-const" "defcomp" "make-symbol" "list" "concat" 48 "emit-byte" 1) :bytecode (1 0 0 5 20 1 0 16 0 1 2 0 52 3 0 2 1 4 0 48 2 17 3 20 5 0 16 0 1 6 0 48 2 5 20 7 0 16 0 16 3 48 2 5 20 8 0 16 0 1 9 0 52 10 0 1 52 11 0 1 16 1 52 12 0 2 48 2 5 20 5 0 16 0 1 13 0 48 2 5 20 14 0 16 0 1 15 0 49 2 50)} "compile-defmacro" {:upvalue-count 0 :arity 3 :constants ("Compile defmacro — delegates to runtime via GLOBAL_GET + CALL." "pool-add" "pool" "get" "eval-defmacro" "emit-op" 20 "emit-u16" "emit-const" "defmacro" "make-symbol" "list" "concat" 48 "emit-byte" 1) :bytecode (1 0 0 5 20 1 0 16 0 1 2 0 52 3 0 2 1 4 0 48 2 17 3 20 5 0 16 0 1 6 0 48 2 5 20 7 0 16 0 16 3 48 2 5 20 8 0 16 0 1 9 0 52 10 0 1 52 11 0 1 16 1 52 12 0 2 48 2 5 20 5 0 16 0 1 13 0 48 2 5 20 14 0 16 0 1 15 0 49 2 50)} "compile-quasiquote" {:upvalue-count 0 :arity 3 :constants ("Compile quasiquote inline — walks the template at compile time,\n emitting code that builds the structure at runtime. Unquoted\n expressions are compiled normally (resolving locals/upvalues),\n avoiding the qq-expand-runtime env-lookup limitation." "compile-qq-expr") :bytecode (1 0 0 5 20 1 0 16 0 16 1 16 2 49 3 50)} "compile-qq-expr" {:upvalue-count 0 :arity 3 :constants ("Compile a quasiquote sub-expression." "type-of" "list" "emit-const" "empty?" "emit-op" 64 "emit-u16" 0 "symbol" "symbol-name" "unquote" "compile-expr" 1 "nth" "compile-qq-list") :bytecode (1 0 0 5 16 1 52 1 0 1 1 2 0 164 167 33 12 0 20 3 0 16 0 16 1 49 2 32 99 0 16 1 52 4 0 1 33 24 0 20 5 0 16 0 1 6 0 48 2 5 20 7 0 16 0 1 8 0 49 2 32 66 0 16 1 169 17 3 16 3 52 1 0 1 1 9 0 164 6 33 11 0 5 16 3 52 10 0 1 1 11 0 164 33 22 0 20 12 0 16 0 16 1 1 13 0 52 14 0 2 16 2 4 49 4 32 11 0 20 15 0 16 0 16 1 16 2 49 3 50)} "compile-qq-list" {:upvalue-count 0 :arity 3 :constants ("Compile a quasiquote list. Handles splice-unquote by building\n segments and concatenating them." {:upvalue-count 0 :arity 1 :constants ("type-of" "list" 2 ">=" "symbol" "symbol-name" "splice-unquote") :bytecode (16 0 52 0 0 1 1 1 0 164 6 33 43 0 5 16 0 168 1 2 0 52 3 0 2 6 33 28 0 5 16 0 169 52 0 0 1 1 4 0 164 6 33 12 0 5 16 0 169 52 5 0 1 1 6 0 164 50)} "some" {:upvalue-count 2 :arity 1 :constants ("compile-qq-expr") :bytecode (20 0 0 18 0 16 0 18 1 49 3 50)} "for-each" "emit-op" 64 "emit-u16" 0 {:upvalue-count 4 :arity 1 :constants ("type-of" "list" 2 ">=" "symbol" "symbol-name" "splice-unquote" 0 "emit-op" 64 "emit-u16" 1 "compile-expr" "nth" "compile-qq-expr") :bytecode (16 0 52 0 0 1 1 1 0 164 6 33 43 0 5 16 0 168 1 2 0 52 3 0 2 6 33 28 0 5 16 0 169 52 0 0 1 1 4 0 164 6 33 12 0 5 16 0 169 52 5 0 1 1 6 0 164 33 80 0 18 0 1 7 0 166 33 38 0 20 8 0 18 1 1 9 0 48 2 5 20 10 0 18 1 18 0 48 2 5 18 2 1 11 0 160 19 2 5 1 7 0 19 0 32 1 0 2 5 20 12 0 18 1 16 0 1 11 0 52 13 0 2 18 3 4 48 4 5 18 2 1 11 0 160 19 2 32 20 0 20 14 0 18 1 16 0 18 3 48 3 5 18 0 1 11 0 160 19 0 50)} 1 "pool-add" "pool" "get" "concat" 52 "emit-byte") :bytecode (1 0 0 5 51 1 0 16 1 52 2 0 2 17 3 16 3 167 33 38 0 51 3 0 1 0 1 2 16 1 52 4 0 2 5 20 5 0 16 0 1 6 0 48 2 5 20 7 0 16 0 16 1 168 49 2 32 133 0 1 8 0 17 4 1 8 0 17 5 51 9 0 1 5 1 0 1 4 1 2 16 1 52 4 0 2 5 16 5 1 8 0 166 33 32 0 20 5 0 16 0 1 6 0 48 2 5 20 7 0 16 0 16 5 48 2 5 16 4 1 10 0 160 17 4 32 1 0 2 5 16 4 1 10 0 166 33 52 0 20 11 0 16 0 1 12 0 52 13 0 2 1 14 0 48 2 17 6 20 5 0 16 0 1 15 0 48 2 5 20 7 0 16 0 16 6 48 2 5 20 16 0 16 0 16 4 49 2 32 1 0 2 50)} "compile-call" {:upvalue-count 0 :arity 5 :constants ("type-of" "symbol" "symbol-name" "scope-resolve" "type" "get" "local" "upvalue" "primitive?" 2 "+" 160 "-" 161 "*" 162 "/" 163 "=" 164 "<" 165 ">" 166 "cons" 172 1 "not" 167 "len" 168 "first" 169 "rest" 170 {:upvalue-count 2 :arity 1 :constants ("compile-expr") :bytecode (20 0 0 18 0 16 0 18 1 4 49 4 50)} "for-each" "emit-op" "pool-add" "pool" 52 "emit-u16" "emit-byte" "compile-expr" 49 48) :bytecode (16 1 52 0 0 1 1 1 0 164 6 33 67 0 5 16 1 52 2 0 1 17 5 20 3 0 16 3 16 5 48 2 1 4 0 52 5 0 2 1 6 0 164 167 6 33 33 0 5 20 3 0 16 3 16 5 48 2 1 4 0 52 5 0 2 1 7 0 164 167 6 33 7 0 5 16 5 52 8 0 1 17 5 16 5 33 154 1 16 1 52 2 0 1 17 6 16 2 168 17 7 16 7 1 9 0 164 6 33 7 0 5 16 6 1 10 0 164 33 6 0 1 11 0 32 31 1 16 7 1 9 0 164 6 33 7 0 5 16 6 1 12 0 164 33 6 0 1 13 0 32 5 1 16 7 1 9 0 164 6 33 7 0 5 16 6 1 14 0 164 33 6 0 1 15 0 32 235 0 16 7 1 9 0 164 6 33 7 0 5 16 6 1 16 0 164 33 6 0 1 17 0 32 209 0 16 7 1 9 0 164 6 33 7 0 5 16 6 1 18 0 164 33 6 0 1 19 0 32 183 0 16 7 1 9 0 164 6 33 7 0 5 16 6 1 20 0 164 33 6 0 1 21 0 32 157 0 16 7 1 9 0 164 6 33 7 0 5 16 6 1 22 0 164 33 6 0 1 23 0 32 131 0 16 7 1 9 0 164 6 33 7 0 5 16 6 1 24 0 164 33 6 0 1 25 0 32 105 0 16 7 1 26 0 164 6 33 7 0 5 16 6 1 27 0 164 33 6 0 1 28 0 32 79 0 16 7 1 26 0 164 6 33 7 0 5 16 6 1 29 0 164 33 6 0 1 30 0 32 53 0 16 7 1 26 0 164 6 33 7 0 5 16 6 1 31 0 164 33 6 0 1 32 0 32 27 0 16 7 1 26 0 164 6 33 7 0 5 16 6 1 33 0 164 33 6 0 1 34 0 32 1 0 2 17 8 51 35 0 1 0 1 3 16 2 52 36 0 2 5 16 8 33 12 0 20 37 0 16 0 16 8 49 2 32 48 0 20 38 0 16 0 1 39 0 52 5 0 2 16 6 48 2 17 9 20 37 0 16 0 1 40 0 48 2 5 20 41 0 16 0 16 9 48 2 5 20 42 0 16 0 16 7 49 2 32 77 0 20 43 0 16 0 16 1 16 3 4 48 4 5 51 35 0 1 0 1 3 16 2 52 36 0 2 5 16 4 33 24 0 20 37 0 16 0 1 44 0 48 2 5 20 42 0 16 0 16 2 168 49 2 32 21 0 20 37 0 16 0 1 45 0 48 2 5 20 42 0 16 0 16 2 168 49 2 50)} "compile-provide" {:upvalue-count 0 :arity 4 :constants ("type-of" "keyword" "keyword-name" "string" "symbol-name" 1 "nth" 2 "slice" "pool-add" "pool" "get" "emit-op" "emit-u16" "compile-expr" 52 "scope-push!" "emit-byte" 5 "empty?" "compile-begin" "scope-pop!") :bytecode (16 1 169 17 4 16 4 52 0 0 1 1 1 0 164 33 9 0 16 4 52 2 0 1 32 24 0 16 4 52 0 0 1 1 3 0 164 33 5 0 16 4 32 6 0 16 4 52 4 0 1 17 5 16 1 1 5 0 52 6 0 2 17 6 16 1 1 7 0 52 8 0 2 17 7 20 9 0 16 0 1 10 0 52 11 0 2 16 5 48 2 17 8 20 12 0 16 0 1 5 0 48 2 5 20 13 0 16 0 16 8 48 2 5 20 14 0 16 0 16 6 16 2 4 48 4 5 20 12 0 16 0 1 15 0 48 2 5 20 13 0 16 0 20 9 0 16 0 1 10 0 52 11 0 2 1 16 0 48 2 48 2 5 20 17 0 16 0 1 7 0 48 2 5 20 12 0 16 0 1 18 0 48 2 5 16 7 52 19 0 1 33 13 0 20 12 0 16 0 1 7 0 48 2 32 12 0 20 20 0 16 0 16 7 16 2 4 48 4 5 20 12 0 16 0 1 5 0 48 2 5 20 13 0 16 0 16 8 48 2 5 20 12 0 16 0 1 15 0 48 2 5 20 13 0 16 0 20 9 0 16 0 1 10 0 52 11 0 2 1 21 0 48 2 48 2 5 20 17 0 16 0 1 5 0 48 2 5 20 12 0 16 0 1 18 0 49 2 50)} "compile-scope" {:upvalue-count 0 :arity 4 :constants ("type-of" "keyword" "keyword-name" "symbol-name" "pool-add" "pool" "get" 2 ">=" "value" 1 "nth" "slice" "emit-op" "emit-u16" "compile-expr" 52 "scope-push!" "emit-byte" 5 "empty?" "compile-begin" "scope-pop!") :bytecode (16 1 169 17 4 16 4 52 0 0 1 1 1 0 164 33 9 0 16 4 52 2 0 1 32 6 0 16 4 52 3 0 1 17 5 16 1 170 17 6 20 4 0 16 0 1 5 0 52 6 0 2 16 5 48 2 17 7 16 6 168 1 7 0 52 8 0 2 6 33 28 0 5 16 6 169 52 0 0 1 1 1 0 164 6 33 12 0 5 16 6 169 52 2 0 1 1 9 0 164 33 230 0 16 6 1 10 0 52 11 0 2 17 8 16 6 1 7 0 52 12 0 2 17 9 20 13 0 16 0 1 10 0 48 2 5 20 14 0 16 0 16 7 48 2 5 20 15 0 16 0 16 8 16 2 4 48 4 5 20 13 0 16 0 1 16 0 48 2 5 20 14 0 16 0 20 4 0 16 0 1 5 0 52 6 0 2 1 17 0 48 2 48 2 5 20 18 0 16 0 1 7 0 48 2 5 20 13 0 16 0 1 19 0 48 2 5 16 9 52 20 0 1 33 13 0 20 13 0 16 0 1 7 0 48 2 32 12 0 20 21 0 16 0 16 9 16 2 4 48 4 5 20 13 0 16 0 1 10 0 48 2 5 20 14 0 16 0 16 7 48 2 5 20 13 0 16 0 1 16 0 48 2 5 20 14 0 16 0 20 4 0 16 0 1 5 0 52 6 0 2 1 22 0 48 2 48 2 5 20 18 0 16 0 1 10 0 48 2 5 20 13 0 16 0 1 19 0 49 2 32 207 0 16 6 17 8 20 13 0 16 0 1 10 0 48 2 5 20 14 0 16 0 16 7 48 2 5 20 13 0 16 0 1 7 0 48 2 5 20 13 0 16 0 1 16 0 48 2 5 20 14 0 16 0 20 4 0 16 0 1 5 0 52 6 0 2 1 17 0 48 2 48 2 5 20 18 0 16 0 1 7 0 48 2 5 20 13 0 16 0 1 19 0 48 2 5 16 8 52 20 0 1 33 13 0 20 13 0 16 0 1 7 0 48 2 32 12 0 20 21 0 16 0 16 8 16 2 4 48 4 5 20 13 0 16 0 1 10 0 48 2 5 20 14 0 16 0 16 7 48 2 5 20 13 0 16 0 1 16 0 48 2 5 20 14 0 16 0 20 4 0 16 0 1 5 0 52 6 0 2 1 22 0 48 2 48 2 5 20 18 0 16 0 1 10 0 48 2 5 20 13 0 16 0 1 19 0 49 2 50)} "compile-guard" {:upvalue-count 0 :arity 4 :constants ("make-scope" "symbol-name" "scope-define-local" "emit-op" 35 "current-offset" "emit-i16" 0 "compile-begin" 36 32 "patch-i16" 2 17 "emit-byte" 5 "compile-guard-clauses") :bytecode (16 1 169 17 4 16 1 170 17 5 20 0 0 16 2 48 1 17 6 16 4 169 52 1 0 1 17 7 16 4 170 17 8 20 2 0 16 6 16 7 48 2 17 9 20 3 0 16 0 1 4 0 48 2 5 20 5 0 16 0 48 1 17 10 20 6 0 16 0 1 7 0 48 2 5 20 8 0 16 0 16 5 16 6 4 48 4 5 20 3 0 16 0 1 9 0 48 2 5 20 3 0 16 0 1 10 0 48 2 5 20 5 0 16 0 48 1 17 11 20 6 0 16 0 1 7 0 48 2 5 20 11 0 16 0 16 10 20 5 0 16 0 48 1 16 10 1 12 0 160 161 48 3 5 20 3 0 16 0 1 13 0 48 2 5 20 14 0 16 0 16 9 48 2 5 20 3 0 16 0 1 15 0 48 2 5 20 16 0 16 0 16 8 16 6 16 9 16 3 48 5 5 20 11 0 16 0 16 11 20 5 0 16 0 48 1 16 11 1 12 0 160 161 49 3 50)} "compile-guard-clauses" {:upvalue-count 0 :arity 5 :constants ("empty?" "emit-op" 16 "emit-byte" 37 "type-of" "keyword" "keyword-name" "else" "symbol" "symbol-name" ":else" "compile-begin" "compile-expr" 33 "current-offset" "emit-i16" 0 32 "patch-i16" 2 "compile-guard-clauses") :bytecode (16 1 52 0 0 1 33 34 0 20 1 0 16 0 1 2 0 48 2 5 20 3 0 16 0 16 3 48 2 5 20 1 0 16 0 1 4 0 49 2 32 14 1 16 1 169 17 5 16 1 170 17 6 16 5 169 17 7 16 5 170 17 8 16 7 52 5 0 1 1 6 0 164 6 33 11 0 5 16 7 52 7 0 1 1 8 0 164 6 34 50 0 5 16 7 52 5 0 1 1 9 0 164 6 33 26 0 5 16 7 52 10 0 1 1 8 0 164 6 34 11 0 5 16 7 52 10 0 1 1 11 0 164 6 34 5 0 5 16 7 3 164 33 16 0 20 12 0 16 0 16 8 16 2 16 4 49 4 32 152 0 20 13 0 16 0 16 7 16 2 4 48 4 5 20 1 0 16 0 1 14 0 48 2 5 20 15 0 16 0 48 1 17 9 20 16 0 16 0 1 17 0 48 2 5 20 12 0 16 0 16 8 16 2 16 4 48 4 5 20 1 0 16 0 1 18 0 48 2 5 20 15 0 16 0 48 1 17 10 20 16 0 16 0 1 17 0 48 2 5 20 19 0 16 0 16 9 20 15 0 16 0 48 1 16 9 1 20 0 160 161 48 3 5 20 21 0 16 0 16 6 16 2 16 3 16 4 48 5 5 20 19 0 16 0 16 10 20 15 0 16 0 48 1 16 10 1 20 0 160 161 49 3 50)} "compile" {:upvalue-count 0 :arity 1 :constants ("Compile a single SX expression to a bytecode module." "make-emitter" "make-scope" "compile-expr" "emit-op" 50 "constants" "pool" "get" "entries" "bytecode") :bytecode (1 0 0 5 20 1 0 48 0 17 1 20 2 0 2 48 1 17 2 20 3 0 16 1 16 0 16 2 4 48 4 5 20 4 0 16 1 1 5 0 48 2 5 1 6 0 16 1 1 7 0 52 8 0 2 1 9 0 52 8 0 2 1 10 0 16 1 1 10 0 52 8 0 2 65 2 0 50)} "compile-module" {:upvalue-count 0 :arity 1 :constants ("Compile a list of top-level expressions to a bytecode module." "make-emitter" "make-scope" {:upvalue-count 2 :arity 1 :constants ("compile-expr" "emit-op" 5) :bytecode (20 0 0 18 0 16 0 18 1 4 48 4 5 20 1 0 18 0 1 2 0 49 2 50)} "init" "for-each" "compile-expr" "last" "emit-op" 50 "constants" "pool" "get" "entries" "bytecode") :bytecode (1 0 0 5 20 1 0 48 0 17 1 20 2 0 2 48 1 17 2 51 3 0 1 1 1 2 16 0 52 4 0 1 52 5 0 2 5 20 6 0 16 1 16 0 52 7 0 1 16 2 4 48 4 5 20 8 0 16 1 1 9 0 48 2 5 1 10 0 16 1 1 11 0 52 12 0 2 1 13 0 52 12 0 2 1 14 0 16 1 1 14 0 52 12 0 2 65 2 0 50)} {:library (sx compiler) :op "import"}) :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 5 51 65 0 128 64 0 5 51 67 0 128 66 0 5 51 69 0 128 68 0 5 51 71 0 128 70 0 5 51 73 0 128 72 0 5 51 75 0 128 74 0 5 51 77 0 128 76 0 5 51 79 0 128 78 0 5 51 81 0 128 80 0 5 51 83 0 128 82 0 5 51 85 0 128 84 0 5 51 87 0 128 86 0 5 51 89 0 128 88 0 5 51 91 0 128 90 0 5 51 93 0 128 92 0 5 1 94 0 112 50)))
|