The stepper's split-tag and steps-to-preview used (list) with append!, but in the WASM kernel (list) creates immutable List values — append! returns a new list without mutating, so children accumulate nowhere. Changed all accumulator initializations to (mutable-list): - split-tag: cch, cat, spreads - steps-to-preview: bc-loop inner children, initial call - result and tokens lists in the parsing setup Also includes WASM rebuild with append! primitive and &rest fixes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4 lines
7.0 KiB
Plaintext
4 lines
7.0 KiB
Plaintext
(sxbc 1 "0ccd91db43058e83"
|
|
(code
|
|
:constants ("make-signal" {:upvalue-count 0 :arity 1 :constants ("dict" "__signal" "value" "subscribers" "list" "deps") :bytecode (1 1 0 3 1 2 0 16 0 1 3 0 52 4 0 0 1 5 0 52 4 0 0 52 0 0 8 50)} "signal?" {:upvalue-count 0 :arity 1 :constants ("dict?" "has-key?" "__signal") :bytecode (16 0 52 0 0 1 6 33 10 0 5 16 0 1 2 0 52 1 0 2 50)} "signal-value" {:upvalue-count 0 :arity 1 :constants ("get" "value") :bytecode (16 0 1 1 0 52 0 0 2 50)} "signal-set-value!" {:upvalue-count 0 :arity 2 :constants ("dict-set!" "value") :bytecode (16 0 1 1 0 16 1 52 0 0 3 50)} "signal-subscribers" {:upvalue-count 0 :arity 1 :constants ("get" "subscribers") :bytecode (16 0 1 1 0 52 0 0 2 50)} "signal-add-sub!" {:upvalue-count 0 :arity 2 :constants ("not" "contains?" "get" "subscribers" "dict-set!" "append" "list") :bytecode (16 0 1 3 0 52 2 0 2 16 1 52 1 0 2 52 0 0 1 33 31 0 16 0 1 3 0 16 0 1 3 0 52 2 0 2 16 1 52 6 0 1 52 5 0 2 52 4 0 3 32 1 0 2 50)} "signal-remove-sub!" {:upvalue-count 0 :arity 2 :constants ("dict-set!" "subscribers" "filter" {:upvalue-count 1 :arity 1 :constants ("not" "identical?") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 50)} "get") :bytecode (16 0 1 1 0 51 3 0 1 1 16 0 1 1 0 52 4 0 2 52 2 0 2 52 0 0 3 50)} "signal-deps" {:upvalue-count 0 :arity 1 :constants ("get" "deps") :bytecode (16 0 1 1 0 52 0 0 2 50)} "signal-set-deps!" {:upvalue-count 0 :arity 2 :constants ("dict-set!" "deps") :bytecode (16 0 1 1 0 16 1 52 0 0 3 50)} "signal" {:upvalue-count 0 :arity 1 :constants ("make-signal") :bytecode (20 0 0 16 0 49 1 50)} "deref" {:upvalue-count 0 :arity 1 :constants ("not" "signal?" "context" "sx-reactive" "get" "deps" "notify" "contains?" "append!" "signal-add-sub!" "signal-value") :bytecode (20 1 0 16 0 48 1 52 0 0 1 33 5 0 16 0 32 86 0 1 3 0 2 52 2 0 2 17 1 16 1 33 62 0 16 1 1 5 0 52 4 0 2 17 2 16 1 1 6 0 52 4 0 2 17 3 16 2 16 0 52 7 0 2 52 0 0 1 33 21 0 16 2 16 0 52 8 0 2 5 20 9 0 16 0 16 3 48 2 32 1 0 2 32 1 0 2 5 20 10 0 16 0 49 1 50)} "reset!" {:upvalue-count 0 :arity 2 :constants ("signal?" "signal-value" "not" "identical?" "signal-set-value!" "notify-subscribers") :bytecode (20 0 0 16 0 48 1 33 48 0 20 1 0 16 0 48 1 17 2 16 2 16 1 52 3 0 2 52 2 0 1 33 20 0 20 4 0 16 0 16 1 48 2 5 20 5 0 16 0 49 1 32 1 0 2 32 1 0 2 50)} "swap!" {:upvalue-count 0 :arity 3 :constants ("signal?" "signal-value" "trampoline" "apply" "cons" "not" "identical?" "signal-set-value!" "notify-subscribers") :bytecode (20 0 0 16 0 48 1 33 69 0 20 1 0 16 0 48 1 17 3 20 2 0 16 1 16 3 16 2 52 4 0 2 52 3 0 2 48 1 17 4 16 3 16 4 52 6 0 2 52 5 0 1 33 20 0 20 7 0 16 0 16 4 48 2 5 20 8 0 16 0 49 1 32 1 0 2 32 1 0 2 50)} "computed" {:upvalue-count 0 :arity 1 :constants ("make-signal" "list" {:upvalue-count 3 :arity 0 :constants ("for-each" {:upvalue-count 1 :arity 1 :constants ("signal-remove-sub!") :bytecode (20 0 0 16 0 18 0 49 2 50)} "signal-deps" "signal-set-deps!" "list" "dict" "deps" "notify" "scope-push!" "sx-reactive" "cek-call" "scope-pop!" "get" "signal-value" "signal-set-value!" "not" "identical?" "notify-subscribers") :bytecode (51 1 0 0 0 20 2 0 18 1 48 1 52 0 0 2 5 20 3 0 18 1 52 4 0 0 48 2 5 1 6 0 52 4 0 0 1 7 0 18 0 52 5 0 4 17 0 1 9 0 16 0 52 8 0 2 5 20 10 0 18 2 2 48 2 17 1 1 9 0 52 11 0 1 5 20 3 0 18 1 16 0 1 6 0 52 12 0 2 48 2 5 20 13 0 18 1 48 1 17 2 20 14 0 18 1 16 1 48 2 5 16 2 16 1 52 16 0 2 52 15 0 1 33 10 0 20 17 0 18 1 49 1 32 1 0 2 50)} "register-in-scope" {:upvalue-count 1 :arity 0 :constants ("dispose-computed") :bytecode (20 0 0 18 0 49 1 50)}) :bytecode (20 0 0 2 48 1 17 1 52 1 0 0 17 2 2 17 3 51 2 0 1 4 1 1 1 0 17 4 16 4 48 0 5 20 3 0 51 4 0 1 1 48 1 5 16 1 50)} "effect" {:upvalue-count 0 :arity 1 :constants ("list" {:upvalue-count 5 :arity 0 :constants ("not" "cek-call" "for-each" {:upvalue-count 1 :arity 1 :constants ("signal-remove-sub!") :bytecode (20 0 0 16 0 18 0 49 2 50)} "list" "dict" "deps" "notify" "scope-push!" "sx-reactive" "scope-pop!" "get" "callable?") :bytecode (18 0 52 0 0 1 33 116 0 18 1 33 11 0 20 1 0 18 1 2 48 2 32 1 0 2 5 51 3 0 0 2 18 3 52 2 0 2 5 52 4 0 0 19 3 5 1 6 0 52 4 0 0 1 7 0 18 2 52 5 0 4 17 0 1 9 0 16 0 52 8 0 2 5 20 1 0 18 4 2 48 2 17 1 1 9 0 52 10 0 1 5 16 0 1 6 0 52 11 0 2 19 3 5 20 12 0 16 1 48 1 33 7 0 16 1 19 1 32 1 0 2 32 1 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("cek-call" "for-each" {:upvalue-count 1 :arity 1 :constants ("signal-remove-sub!") :bytecode (20 0 0 16 0 18 0 49 2 50)} "list") :bytecode (3 19 0 5 18 1 33 11 0 20 0 0 18 1 2 48 2 32 1 0 2 5 51 2 0 0 2 18 3 52 1 0 2 5 52 3 0 0 19 3 50)} "register-in-scope") :bytecode (52 0 0 0 17 1 4 17 2 2 17 3 51 1 0 1 2 1 3 1 4 1 1 1 0 17 4 16 4 48 0 5 51 2 0 1 2 1 3 1 4 1 1 17 5 20 3 0 16 5 48 1 5 16 5 50)} "*batch-depth*" 0 "*batch-queue*" "list" "batch" {:upvalue-count 0 :arity 1 :constants ("+" "*batch-depth*" 1 "cek-call" "-" "=" 0 "*batch-queue*" "list" "for-each" {:upvalue-count 2 :arity 1 :constants ("for-each" {:upvalue-count 2 :arity 1 :constants ("not" "contains?" "append!") :bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 20 0 18 0 16 0 52 2 0 2 5 18 1 16 0 52 2 0 2 32 1 0 2 50)} "signal-subscribers") :bytecode (51 1 0 0 0 0 1 20 2 0 16 0 48 1 52 0 0 2 50)} {:upvalue-count 0 :arity 1 :constants () :bytecode (16 0 49 0 50)}) :bytecode (20 1 0 1 2 0 52 0 0 2 21 1 0 5 20 3 0 16 0 2 48 2 5 20 1 0 1 2 0 52 4 0 2 21 1 0 5 20 1 0 1 6 0 52 5 0 2 33 51 0 20 7 0 17 1 52 8 0 0 21 7 0 5 52 8 0 0 17 2 52 8 0 0 17 3 51 10 0 1 2 1 3 16 1 52 9 0 2 5 51 11 0 16 3 52 9 0 2 32 1 0 2 50)} "notify-subscribers" {:upvalue-count 0 :arity 1 :constants (">" "*batch-depth*" 0 "not" "contains?" "*batch-queue*" "append!" "flush-subscribers") :bytecode (20 1 0 1 2 0 52 0 0 2 33 32 0 20 5 0 16 0 52 4 0 2 52 3 0 1 33 12 0 20 5 0 16 0 52 6 0 2 32 1 0 2 32 7 0 20 7 0 16 0 49 1 50)} "flush-subscribers" {:upvalue-count 0 :arity 1 :constants ("for-each" {:upvalue-count 0 :arity 1 :constants ("cek-call") :bytecode (20 0 0 16 0 2 49 2 50)} "signal-subscribers") :bytecode (51 1 0 20 2 0 16 0 48 1 52 0 0 2 50)} "dispose-computed" {:upvalue-count 0 :arity 1 :constants ("signal?" "for-each" {:upvalue-count 0 :arity 1 :constants ("signal-remove-sub!") :bytecode (20 0 0 16 0 2 49 2 50)} "signal-deps" "signal-set-deps!" "list") :bytecode (20 0 0 16 0 48 1 33 29 0 51 2 0 20 3 0 16 0 48 1 52 1 0 2 5 20 4 0 16 0 52 5 0 0 49 2 32 1 0 2 50)} "with-island-scope" {:upvalue-count 0 :arity 2 :constants ("scope-push!" "sx-island-scope" "scope-pop!") :bytecode (1 1 0 16 0 52 0 0 2 5 16 1 48 0 17 2 1 1 0 52 2 0 1 5 16 2 50)} "register-in-scope" {:upvalue-count 0 :arity 1 :constants ("scope-peek" "sx-island-scope" "cek-call" "list") :bytecode (1 1 0 52 0 0 1 17 1 16 1 33 16 0 20 2 0 16 1 16 0 52 3 0 1 49 2 32 1 0 2 50)}) :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 1 31 0 128 30 0 5 52 33 0 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 50)))
|