From 7d798be14f0bed11aa96e4362c48437c02f805f6 Mon Sep 17 00:00:00 2001 From: giles Date: Sun, 12 Apr 2026 12:20:13 +0000 Subject: [PATCH] Hyperscript: precedes/follows comparisons, tokenizer keywords Parser: precedes/follows comparison operators in parse-cmp. Tokenizer: precedes, follows, ignoring, case keywords. Runtime: precedes?, follows? string comparison functions. 372/831 (45%) Co-Authored-By: Claude Opus 4.6 (1M context) --- hosts/ocaml/browser/sx-platform.js | 13 + lib/hyperscript/parser.sx | 4 + lib/hyperscript/runtime.sx | 20 +- lib/hyperscript/tokenizer.sx | 6 +- lib/text-layout.sx | 28 +++ shared/static/wasm/sx-platform.js | 13 + shared/static/wasm/sx/hs-parser.sx | 4 + shared/static/wasm/sx/hs-parser.sxbc | 4 +- shared/static/wasm/sx/hs-runtime.sx | 20 +- shared/static/wasm/sx/hs-runtime.sxbc | 4 +- shared/static/wasm/sx/hs-tokenizer.sx | 6 +- shared/static/wasm/sx/hs-tokenizer.sxbc | 4 +- shared/static/wasm/sx/module-manifest.json | 1 + sx/sx/pretext-demo.sx | 278 +++++++++------------ 14 files changed, 218 insertions(+), 187 deletions(-) diff --git a/hosts/ocaml/browser/sx-platform.js b/hosts/ocaml/browser/sx-platform.js index 975f200a..ab8f6330 100644 --- a/hosts/ocaml/browser/sx-platform.js +++ b/hosts/ocaml/browser/sx-platform.js @@ -699,6 +699,19 @@ var scrollY = (state && state.scrollY) ? state.scrollY : 0; K.eval("(handle-popstate " + scrollY + ")"); }); + // Wire up streaming suspense resolution + Sx.resolveSuspense = function(id, sx) { + try { K.eval('(resolve-suspense "' + id.replace(/"/g, '\\"') + '" "' + sx.replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '")'); } + catch(e) { console.error("[sx] resolveSuspense error:", e); } + }; + // Drain any pending resolves that arrived before boot + if (window.__sxPending) { + for (var pi = 0; pi < window.__sxPending.length; pi++) { + Sx.resolveSuspense(window.__sxPending[pi].id, window.__sxPending[pi].sx); + } + window.__sxPending = null; + } + window.__sxResolve = function(id, sx) { Sx.resolveSuspense(id, sx); }; // Signal boot complete document.documentElement.setAttribute("data-sx-ready", "true"); console.log("[sx] boot done"); diff --git a/lib/hyperscript/parser.sx b/lib/hyperscript/parser.sx index f2f61ad4..15d24228 100644 --- a/lib/hyperscript/parser.sx +++ b/lib/hyperscript/parser.sx @@ -586,6 +586,10 @@ (list (quote strict-eq) left (parse-expr)))) ((and (= typ "keyword") (or (= val "contain") (= val "include") (= val "includes"))) (do (adv!) (list (quote contains?) left (parse-expr)))) + ((and (= typ "keyword") (= val "precedes")) + (do (adv!) (list (quote precedes?) left (parse-atom)))) + ((and (= typ "keyword") (= val "follows")) + (do (adv!) (list (quote follows?) left (parse-atom)))) (true left))))) (define parse-collection diff --git a/lib/hyperscript/runtime.sx b/lib/hyperscript/runtime.sx index bca2bfd7..66ef9b5d 100644 --- a/lib/hyperscript/runtime.sx +++ b/lib/hyperscript/runtime.sx @@ -415,6 +415,10 @@ (hs-contains? (rest collection) item))))) (true false)))) ;; Method dispatch — obj.method(args) +(define precedes? (fn (a b) (< (str a) (str b)))) + +;; ── 0.9.90 features ───────────────────────────────────────────── +;; beep! — debug logging, returns value unchanged (define hs-empty? (fn @@ -425,13 +429,11 @@ ((list? v) (= (len v) 0)) ((dict? v) (= (len (keys v)) 0)) (true false)))) - -;; ── 0.9.90 features ───────────────────────────────────────────── -;; beep! — debug logging, returns value unchanged -(define hs-first (fn (lst) (first lst))) ;; Property-based is — check obj.key truthiness -(define hs-last (fn (lst) (last lst))) +(define hs-first (fn (lst) (first lst))) ;; Array slicing (inclusive both ends) +(define hs-last (fn (lst) (last lst))) +;; Collection: sorted by (define hs-template (fn @@ -517,7 +519,7 @@ (set! i (+ i 1)) (tpl-loop))))))) (do (tpl-loop) result)))) -;; Collection: sorted by +;; Collection: sorted by descending (define hs-make-object (fn @@ -529,7 +531,7 @@ (fn (pair) (dict-set! d (first pair) (nth pair 1))) pairs) d)))) -;; Collection: sorted by descending +;; Collection: split by (define hs-method-call (fn @@ -552,9 +554,9 @@ (if (= (first lst) item) i (idx-loop (rest lst) (+ i 1)))))) (idx-loop obj 0))) (true nil)))) -;; Collection: split by -(define hs-beep (fn (v) v)) ;; Collection: joined by +(define hs-beep (fn (v) v)) + (define hs-prop-is (fn (obj key) (not (hs-falsy? (host-get obj key))))) (define diff --git a/lib/hyperscript/tokenizer.sx b/lib/hyperscript/tokenizer.sx index abb9b104..5870d217 100644 --- a/lib/hyperscript/tokenizer.sx +++ b/lib/hyperscript/tokenizer.sx @@ -166,7 +166,11 @@ "select" "reset" "default" - "halt")) + "halt" + "precedes" + "follows" + "ignoring" + "case")) (define hs-keyword? (fn (word) (some (fn (k) (= k word)) hs-keywords))) diff --git a/lib/text-layout.sx b/lib/text-layout.sx index 719fca8f..40728ab7 100644 --- a/lib/text-layout.sx +++ b/lib/text-layout.sx @@ -22,6 +22,7 @@ sum-widths find-breaks break-lines + break-lines-greedy position-line position-lines layout-paragraph @@ -309,4 +310,31 @@ (lh (or line-height 1.4))) (layout-paragraph words f s w lh)))))) +(define + break-lines-greedy + (fn + (widths space-width max-width) + (let + ((n (len widths))) + (if + (= n 0) + (list) + (let + ((lines (list)) (start 0) (used 0)) + (for-each + (fn + (i) + (let + ((w (nth widths i)) + (needed (if (= i start) w (+ used space-width w)))) + (if + (and (> needed max-width) (not (= i start))) + (do + (set! lines (append lines (list (list start i)))) + (set! start i) + (set! used w)) + (set! used needed)))) + (range n)) + (append lines (list (list start n)))))))) + (import (sx text-layout)) \ No newline at end of file diff --git a/shared/static/wasm/sx-platform.js b/shared/static/wasm/sx-platform.js index 975f200a..ab8f6330 100644 --- a/shared/static/wasm/sx-platform.js +++ b/shared/static/wasm/sx-platform.js @@ -699,6 +699,19 @@ var scrollY = (state && state.scrollY) ? state.scrollY : 0; K.eval("(handle-popstate " + scrollY + ")"); }); + // Wire up streaming suspense resolution + Sx.resolveSuspense = function(id, sx) { + try { K.eval('(resolve-suspense "' + id.replace(/"/g, '\\"') + '" "' + sx.replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '")'); } + catch(e) { console.error("[sx] resolveSuspense error:", e); } + }; + // Drain any pending resolves that arrived before boot + if (window.__sxPending) { + for (var pi = 0; pi < window.__sxPending.length; pi++) { + Sx.resolveSuspense(window.__sxPending[pi].id, window.__sxPending[pi].sx); + } + window.__sxPending = null; + } + window.__sxResolve = function(id, sx) { Sx.resolveSuspense(id, sx); }; // Signal boot complete document.documentElement.setAttribute("data-sx-ready", "true"); console.log("[sx] boot done"); diff --git a/shared/static/wasm/sx/hs-parser.sx b/shared/static/wasm/sx/hs-parser.sx index f2f61ad4..15d24228 100644 --- a/shared/static/wasm/sx/hs-parser.sx +++ b/shared/static/wasm/sx/hs-parser.sx @@ -586,6 +586,10 @@ (list (quote strict-eq) left (parse-expr)))) ((and (= typ "keyword") (or (= val "contain") (= val "include") (= val "includes"))) (do (adv!) (list (quote contains?) left (parse-expr)))) + ((and (= typ "keyword") (= val "precedes")) + (do (adv!) (list (quote precedes?) left (parse-atom)))) + ((and (= typ "keyword") (= val "follows")) + (do (adv!) (list (quote follows?) left (parse-atom)))) (true left))))) (define parse-collection diff --git a/shared/static/wasm/sx/hs-parser.sxbc b/shared/static/wasm/sx/hs-parser.sxbc index eab78a0f..ea3bf212 100644 --- a/shared/static/wasm/sx/hs-parser.sxbc +++ b/shared/static/wasm/sx/hs-parser.sxbc @@ -1,3 +1,3 @@ -(sxbc 1 "b445e9cb8b96165b" +(sxbc 1 "06b154f67697eedb" (code - :constants ("hs-parse" {:upvalue-count 0 :arity 2 :constants (0 "len" {:upvalue-count 3 :arity 0 :constants ("<" "nth") :bytecode (18 0 18 1 52 0 0 2 33 11 0 18 2 18 0 52 1 0 2 32 1 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("get" "type" "eof") :bytecode (18 0 48 0 17 0 16 0 33 12 0 16 0 1 1 0 52 0 0 2 32 3 0 1 2 0 50)} {:upvalue-count 1 :arity 0 :constants ("get" "value") :bytecode (18 0 48 0 17 0 16 0 33 12 0 16 0 1 1 0 52 0 0 2 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("nth" "+" 1) :bytecode (18 0 18 1 52 0 0 2 17 0 18 1 1 2 0 52 1 0 2 19 1 5 16 0 50)} {:upvalue-count 3 :arity 0 :constants (">=" "=" "eof") :bytecode (18 0 18 1 52 0 0 2 6 34 12 0 5 18 2 48 0 1 2 0 52 1 0 2 50)} {:upvalue-count 3 :arity 1 :constants ("=" "keyword") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 11 0 5 18 1 48 0 16 0 52 0 0 2 33 9 0 18 2 48 0 5 3 32 1 0 2 50)} {:upvalue-count 2 :arity 1 :constants ("error" "str" "Expected '" "' at position ") :bytecode (18 0 16 0 48 1 33 4 0 3 32 18 0 1 2 0 16 0 1 3 0 18 1 52 1 0 4 52 0 0 1 50)} {:upvalue-count 0 :arity 1 :constants ("len" ">=" 3 "=" "substring" "-" 2 "ms" "parse-number" 0 "nth" 1 "s" "*" 1000) :bytecode (16 0 52 0 0 1 17 1 16 1 1 2 0 52 1 0 2 6 33 25 0 5 16 0 16 1 1 6 0 52 5 0 2 16 1 52 4 0 3 1 7 0 52 3 0 2 33 25 0 16 0 1 9 0 16 1 1 6 0 52 5 0 2 52 4 0 3 52 8 0 1 32 77 0 16 1 1 6 0 52 1 0 2 6 33 23 0 5 16 0 16 1 1 11 0 52 5 0 2 52 10 0 2 1 12 0 52 3 0 2 33 32 0 1 14 0 16 0 1 9 0 16 1 1 11 0 52 5 0 2 52 4 0 3 52 8 0 1 52 13 0 2 32 6 0 16 0 52 8 0 1 50)} {:upvalue-count 4 :arity 1 :constants ("=" "ident" "keyword" "list" . "attr" attr "class" "get" "value") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 34 10 0 5 16 1 1 2 0 52 0 0 2 33 23 0 18 2 48 0 5 18 3 1 4 0 16 0 16 2 52 3 0 3 49 1 32 76 0 16 1 1 5 0 52 0 0 2 33 19 0 18 2 48 0 5 1 6 0 16 2 16 0 52 3 0 3 32 45 0 16 1 1 7 0 52 0 0 2 33 31 0 18 2 48 0 1 9 0 52 8 0 2 17 3 18 3 1 4 0 16 0 16 3 52 3 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 6 :arity 1 :constants ("=" "class" "not" "list" "make-symbol" "." "paren-open" method-call) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 9 0 5 18 1 48 0 52 2 0 1 33 33 0 18 2 48 0 17 1 18 3 48 0 5 18 4 1 5 0 52 4 0 1 16 0 16 1 52 3 0 3 49 1 32 40 0 18 0 48 0 1 6 0 52 0 0 2 33 24 0 18 5 48 0 17 1 18 4 1 7 0 16 0 16 1 52 3 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 3 :arity 1 :constants ("=" "selector" "list" me "class" "str" "." "id" "#" "*") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 33 23 0 18 2 48 0 5 16 0 16 2 1 3 0 52 2 0 1 52 2 0 3 32 100 0 16 1 1 4 0 52 0 0 2 33 30 0 18 2 48 0 5 16 0 1 6 0 16 2 52 5 0 2 1 3 0 52 2 0 1 52 2 0 3 32 58 0 16 1 1 7 0 52 0 0 2 33 30 0 18 2 48 0 5 16 0 1 8 0 16 2 52 5 0 2 1 3 0 52 2 0 1 52 2 0 3 32 16 0 16 0 1 9 0 1 3 0 52 2 0 1 52 2 0 3 50)} {:upvalue-count 5 :arity 1 :constants ("=" "selector" "class" "str" "." "id" "#" "*" "in" "list") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 33 10 0 18 2 48 0 5 16 2 32 61 0 16 1 1 2 0 52 0 0 2 33 17 0 18 2 48 0 5 1 4 0 16 2 52 3 0 2 32 32 0 16 1 1 5 0 52 0 0 2 33 17 0 18 2 48 0 5 1 6 0 16 2 52 3 0 2 32 3 0 1 7 0 17 3 18 3 1 8 0 48 1 33 15 0 16 0 16 3 18 4 48 0 52 9 0 3 32 8 0 16 0 16 3 52 9 0 2 50)} {:upvalue-count 16 :arity 0 :constants ("=" "number" "string" "template" "list" template "keyword" "true" "false" "null" "nil" null-literal "undefined" "beep" "op" "!" beep! "not" not "no" no "eval" "paren-open" sx-eval "the" "me" me "I" "it" "result" it "event" event "target" "make-symbol" "." "detail" "my" "its" "closest" closest "next" next "previous" previous "first" first "last" last "id" query "str" "#" "selector" "attr" attr "style" style "local" local "class" "ident" ref "paren-close" "brace-open" {:upvalue-count 6 :arity 1 :constants ("=" "brace-close" "string" "local" "true" "false" "null" "list" ref "colon" "comma" "cons") :bytecode (18 0 48 0 6 34 12 0 5 18 1 48 0 1 1 0 52 0 0 2 33 28 0 18 1 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 203 0 18 1 48 0 1 2 0 52 0 0 2 33 16 0 18 3 48 0 17 1 18 2 48 0 5 16 1 32 13 0 18 3 48 0 17 1 18 2 48 0 5 16 1 17 1 18 1 48 0 1 3 0 52 0 0 2 33 71 0 18 3 48 0 17 2 18 2 48 0 5 16 2 1 4 0 52 0 0 2 33 4 0 3 32 41 0 16 2 1 5 0 52 0 0 2 33 4 0 4 32 25 0 16 2 1 6 0 52 0 0 2 33 4 0 2 32 9 0 1 8 0 16 2 52 7 0 2 32 30 0 18 1 48 0 1 9 0 52 0 0 2 33 12 0 18 2 48 0 5 18 4 48 0 32 4 0 18 4 48 0 17 2 18 1 48 0 1 10 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 5 16 1 16 2 52 7 0 2 16 0 52 11 0 2 49 1 50)} object-literal "\\" {:upvalue-count 6 :arity 1 :constants ("=" "op" "-" "<" "+" 1 "len" "get" "nth" "value" ">" "ident" "comma" "append") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 76 0 18 2 1 5 0 52 4 0 2 18 3 52 6 0 1 52 3 0 2 6 33 30 0 5 18 3 18 2 1 5 0 52 4 0 2 52 8 0 2 1 9 0 52 7 0 2 1 10 0 52 0 0 2 33 15 0 18 4 48 0 5 18 4 48 0 5 16 0 32 2 0 16 0 32 65 0 18 0 48 0 1 11 0 52 0 0 2 33 49 0 18 1 48 0 17 1 18 4 48 0 5 18 0 48 0 1 12 0 52 0 0 2 33 7 0 18 4 48 0 32 1 0 2 5 18 5 16 0 16 1 52 13 0 2 49 1 32 2 0 16 0 50)} block-literal "bracket-open" "-" - 0 "component" component "some" ">" "len" "+" 1 "get" "nth" "value" "in" "with" some "every" every) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 33 14 0 18 2 48 0 5 18 3 16 1 49 1 32 66 7 16 0 1 2 0 52 0 0 2 33 10 0 18 2 48 0 5 16 1 32 44 7 16 0 1 3 0 52 0 0 2 33 17 0 18 2 48 0 5 1 5 0 16 1 52 4 0 2 32 15 7 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 7 0 52 0 0 2 33 9 0 18 2 48 0 5 3 32 236 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 8 0 52 0 0 2 33 9 0 18 2 48 0 5 4 32 201 6 16 0 1 6 0 52 0 0 2 6 33 24 0 5 16 1 1 9 0 52 0 0 2 6 34 10 0 5 16 1 1 10 0 52 0 0 2 33 15 0 18 2 48 0 5 1 11 0 52 4 0 1 32 146 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 12 0 52 0 0 2 33 15 0 18 2 48 0 5 1 11 0 52 4 0 1 32 105 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 13 0 52 0 0 2 33 58 0 18 2 48 0 5 18 0 48 0 1 14 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 15 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 1 16 0 18 4 48 0 52 4 0 2 32 21 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 17 0 52 0 0 2 33 19 0 18 2 48 0 5 1 18 0 18 4 48 0 52 4 0 2 32 232 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 19 0 52 0 0 2 33 19 0 18 2 48 0 5 1 20 0 18 4 48 0 52 4 0 2 32 187 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 21 0 52 0 0 2 33 47 0 18 2 48 0 5 18 0 48 0 1 22 0 52 0 0 2 33 14 0 1 23 0 18 5 48 0 52 4 0 2 32 11 0 1 23 0 18 4 48 0 52 4 0 2 32 114 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 24 0 52 0 0 2 33 12 0 18 2 48 0 5 18 6 49 0 32 76 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 25 0 52 0 0 2 33 15 0 18 2 48 0 5 1 26 0 52 4 0 1 32 35 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 27 0 52 0 0 2 33 15 0 18 2 48 0 5 1 26 0 52 4 0 1 32 250 4 16 0 1 6 0 52 0 0 2 6 33 24 0 5 16 1 1 28 0 52 0 0 2 6 34 10 0 5 16 1 1 29 0 52 0 0 2 33 15 0 18 2 48 0 5 1 30 0 52 4 0 1 32 195 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 31 0 52 0 0 2 33 15 0 18 2 48 0 5 1 32 0 52 4 0 1 32 154 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 33 0 52 0 0 2 33 29 0 18 2 48 0 5 1 35 0 52 34 0 1 1 32 0 52 4 0 1 1 33 0 52 4 0 3 32 99 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 36 0 52 0 0 2 33 29 0 18 2 48 0 5 1 35 0 52 34 0 1 1 32 0 52 4 0 1 1 36 0 52 4 0 3 32 44 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 37 0 52 0 0 2 33 19 0 18 2 48 0 5 18 7 1 26 0 52 4 0 1 49 1 32 255 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 38 0 52 0 0 2 33 19 0 18 2 48 0 5 18 7 1 30 0 52 4 0 1 49 1 32 210 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 39 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 40 0 49 1 32 169 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 41 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 42 0 49 1 32 128 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 43 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 44 0 49 1 32 87 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 45 0 52 0 0 2 33 15 0 18 2 48 0 5 18 9 1 46 0 49 1 32 46 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 47 0 52 0 0 2 33 15 0 18 2 48 0 5 18 9 1 48 0 49 1 32 5 3 16 0 1 49 0 52 0 0 2 33 24 0 18 2 48 0 5 1 50 0 1 52 0 16 1 52 51 0 2 52 4 0 2 32 225 2 16 0 1 53 0 52 0 0 2 33 17 0 18 2 48 0 5 1 50 0 16 1 52 4 0 2 32 196 2 16 0 1 54 0 52 0 0 2 33 24 0 18 2 48 0 5 1 55 0 16 1 1 26 0 52 4 0 1 52 4 0 3 32 160 2 16 0 1 56 0 52 0 0 2 33 24 0 18 2 48 0 5 1 57 0 16 1 1 26 0 52 4 0 1 52 4 0 3 32 124 2 16 0 1 58 0 52 0 0 2 33 17 0 18 2 48 0 5 1 59 0 16 1 52 4 0 2 32 95 2 16 0 1 60 0 52 0 0 2 33 24 0 18 2 48 0 5 1 50 0 1 35 0 16 1 52 51 0 2 52 4 0 2 32 59 2 16 0 1 61 0 52 0 0 2 33 17 0 18 2 48 0 5 1 62 0 16 1 52 4 0 2 32 30 2 16 0 1 22 0 52 0 0 2 33 39 0 18 2 48 0 5 18 4 48 0 17 2 18 0 48 0 1 63 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 2 32 235 1 16 0 1 64 0 52 0 0 2 33 41 0 18 2 48 0 5 51 65 0 0 10 0 0 0 2 0 1 0 4 1 2 17 2 5 1 66 0 16 2 52 4 0 0 48 1 52 4 0 2 32 182 1 16 0 1 14 0 52 0 0 2 6 33 10 0 5 16 1 1 67 0 52 0 0 2 33 49 0 18 2 48 0 5 51 68 0 0 0 0 1 0 11 0 12 0 2 1 3 17 3 5 16 3 52 4 0 0 48 1 17 4 1 69 0 16 4 18 4 48 0 52 4 0 3 32 107 1 16 0 1 70 0 52 0 0 2 33 12 0 18 2 48 0 5 18 13 49 0 32 83 1 16 0 1 14 0 52 0 0 2 6 33 10 0 5 16 1 1 71 0 52 0 0 2 33 26 0 18 2 48 0 5 18 14 48 0 17 4 1 72 0 1 73 0 16 4 52 4 0 3 32 31 1 16 0 1 74 0 52 0 0 2 33 17 0 18 2 48 0 5 1 75 0 16 1 52 4 0 2 32 2 1 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 76 0 52 0 0 2 33 149 0 18 2 48 0 5 18 0 48 0 1 61 0 52 0 0 2 6 33 54 0 5 18 12 52 78 0 1 18 11 1 80 0 52 79 0 2 52 77 0 2 6 33 30 0 5 18 12 18 11 1 80 0 52 79 0 2 52 82 0 2 1 83 0 52 81 0 2 1 84 0 52 0 0 2 33 51 0 18 1 48 0 17 4 18 2 48 0 5 18 15 1 84 0 48 1 5 18 4 48 0 17 5 18 15 1 85 0 48 1 5 1 86 0 16 4 16 5 18 4 48 0 52 4 0 4 32 18 0 1 18 0 1 20 0 18 4 48 0 52 4 0 2 52 4 0 2 32 83 0 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 87 0 52 0 0 2 33 56 0 18 2 48 0 5 18 1 48 0 17 4 18 2 48 0 5 18 15 1 84 0 48 1 5 18 4 48 0 17 5 18 15 1 85 0 48 1 5 1 88 0 16 4 16 5 18 4 48 0 52 4 0 4 32 1 0 2 50)} {:upvalue-count 8 :arity 1 :constants ("=" "op" "'s" "class" "paren-open" "list" call "bracket-open" ".." "bracket-close" array-slice array-index) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 14 0 18 2 48 0 5 18 3 16 0 49 1 32 74 1 18 0 48 0 1 3 0 52 0 0 2 33 9 0 18 4 16 0 49 1 32 51 1 18 0 48 0 1 4 0 52 0 0 2 33 20 0 18 5 48 0 17 1 1 6 0 16 0 16 1 52 5 0 3 32 17 1 18 0 48 0 1 7 0 52 0 0 2 33 1 1 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 8 0 52 0 0 2 33 53 0 18 2 48 0 5 18 6 48 0 17 1 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 10 0 16 0 2 16 1 52 5 0 4 49 1 32 166 0 18 6 48 0 17 1 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 8 0 52 0 0 2 33 92 0 18 2 48 0 5 18 0 48 0 1 9 0 52 0 0 2 33 24 0 18 2 48 0 5 18 7 1 10 0 16 0 16 1 2 52 5 0 4 49 1 32 46 0 18 6 48 0 17 2 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 10 0 16 0 16 1 16 2 52 5 0 4 49 1 32 38 0 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 11 0 16 0 16 1 52 5 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 7 :arity 1 :constants ("=" "op" "==" "!=" "<" ">" "<=" ">=" "===" "!==" "list" = strict-eq not "keyword" "is" "not" "empty" empty? "in" not-in? "between" "and" and >= <= "really" "equal" "to" "a" "an" "!" type-check-strict type-check "less" "than" "or" < "greater" > in? "ident" "hs-keyword?" prop-is "am" "exists" exists? "starts" "with" starts-with? "ends" ends-with? "matches" matches? "contains" contains? "as" "colon" as "str" ":" "of" "list?" "first" ref "make-symbol" "." "nth" 1 of "does" "exist" "match" "contain" "include" "includes" "equals") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 33 108 0 5 16 2 1 2 0 52 0 0 2 6 34 94 0 5 16 2 1 3 0 52 0 0 2 6 34 80 0 5 16 2 1 4 0 52 0 0 2 6 34 66 0 5 16 2 1 5 0 52 0 0 2 6 34 52 0 5 16 2 1 6 0 52 0 0 2 6 34 38 0 5 16 2 1 7 0 52 0 0 2 6 34 24 0 5 16 2 1 8 0 52 0 0 2 6 34 10 0 5 16 2 1 9 0 52 0 0 2 33 109 0 18 2 48 0 5 18 3 48 0 17 3 16 2 1 2 0 52 0 0 2 33 14 0 1 11 0 16 0 16 3 52 10 0 3 32 69 0 16 2 1 8 0 52 0 0 2 33 14 0 1 12 0 16 0 16 3 52 10 0 3 32 43 0 16 2 1 9 0 52 0 0 2 33 21 0 1 13 0 1 12 0 16 0 16 3 52 10 0 3 52 10 0 2 32 10 0 16 2 16 0 16 3 52 10 0 3 32 175 8 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 15 0 52 0 0 2 33 173 3 18 2 48 0 5 18 4 1 16 0 48 1 33 127 1 18 4 1 17 0 48 1 33 19 0 1 13 0 1 18 0 16 0 52 10 0 2 52 10 0 2 32 95 1 18 4 1 19 0 48 1 33 16 0 1 20 0 16 0 18 3 48 0 52 10 0 3 32 69 1 18 4 1 21 0 48 1 33 59 0 18 5 48 0 17 3 18 4 1 22 0 48 1 5 18 5 48 0 17 4 1 13 0 1 23 0 1 24 0 16 0 16 3 52 10 0 3 1 25 0 16 0 16 4 52 10 0 3 52 10 0 3 52 10 0 2 32 0 1 18 4 1 26 0 48 1 33 39 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 13 0 1 12 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 207 0 18 4 1 27 0 48 1 33 31 0 18 4 1 28 0 48 1 5 1 13 0 1 11 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 166 0 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 6 33 7 0 5 18 2 48 0 5 3 33 101 0 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 21 0 1 13 0 1 32 0 16 0 16 3 52 10 0 3 52 10 0 2 32 18 0 1 13 0 1 33 0 16 0 16 3 52 10 0 3 52 10 0 2 32 24 0 18 3 48 0 17 3 1 13 0 1 11 0 16 0 16 3 52 10 0 3 52 10 0 2 32 28 2 18 4 1 17 0 48 1 33 12 0 1 18 0 16 0 52 10 0 2 32 6 2 18 4 1 34 0 48 1 33 66 0 18 4 1 35 0 48 1 5 18 4 1 36 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 25 0 16 0 18 3 48 0 52 10 0 3 32 13 0 1 37 0 16 0 18 3 48 0 52 10 0 3 32 186 1 18 4 1 38 0 48 1 33 66 0 18 4 1 35 0 48 1 5 18 4 1 36 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 24 0 16 0 18 3 48 0 52 10 0 3 32 13 0 1 39 0 16 0 18 3 48 0 52 10 0 3 32 110 1 18 4 1 21 0 48 1 33 52 0 18 5 48 0 17 3 18 4 1 22 0 48 1 5 18 5 48 0 17 4 1 23 0 1 24 0 16 0 16 3 52 10 0 3 1 25 0 16 0 16 4 52 10 0 3 52 10 0 3 32 48 1 18 4 1 19 0 48 1 33 16 0 1 40 0 16 0 18 3 48 0 52 10 0 3 32 22 1 18 4 1 26 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 12 0 16 0 18 3 48 0 52 10 0 3 32 236 0 18 4 1 27 0 48 1 33 24 0 18 4 1 28 0 48 1 5 1 11 0 16 0 18 3 48 0 52 10 0 3 32 202 0 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 6 33 7 0 5 18 2 48 0 5 3 33 87 0 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 14 0 1 32 0 16 0 16 3 52 10 0 3 32 11 0 1 33 0 16 0 16 3 52 10 0 3 32 74 0 18 0 48 0 1 41 0 52 0 0 2 6 33 14 0 5 20 42 0 18 1 48 0 48 1 52 16 0 1 33 25 0 18 1 48 0 17 3 18 2 48 0 5 1 43 0 16 0 16 3 52 10 0 3 32 17 0 18 3 48 0 17 3 1 11 0 16 0 16 3 52 10 0 3 32 232 4 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 44 0 52 0 0 2 33 165 0 18 2 48 0 5 18 4 1 16 0 48 1 33 82 0 18 4 1 19 0 48 1 33 16 0 1 20 0 16 0 18 3 48 0 52 10 0 3 32 53 0 18 4 1 17 0 48 1 33 19 0 1 13 0 1 18 0 16 0 52 10 0 2 52 10 0 2 32 24 0 18 3 48 0 17 3 1 13 0 1 11 0 16 0 16 3 52 10 0 3 52 10 0 2 32 65 0 18 4 1 19 0 48 1 33 16 0 1 40 0 16 0 18 3 48 0 52 10 0 3 32 39 0 18 4 1 17 0 48 1 33 12 0 1 18 0 16 0 52 10 0 2 32 17 0 18 3 48 0 17 3 1 11 0 16 0 16 3 52 10 0 3 32 41 4 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 45 0 52 0 0 2 33 17 0 18 2 48 0 5 1 46 0 16 0 52 10 0 2 32 254 3 16 1 1 14 0 52 0 0 2 6 34 10 0 5 16 1 1 41 0 52 0 0 2 6 33 10 0 5 16 2 1 47 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 48 0 48 1 5 1 49 0 16 0 18 3 48 0 52 10 0 3 32 185 3 16 1 1 14 0 52 0 0 2 6 34 10 0 5 16 1 1 41 0 52 0 0 2 6 33 10 0 5 16 2 1 50 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 48 0 48 1 5 1 51 0 16 0 18 3 48 0 52 10 0 3 32 116 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 52 0 52 0 0 2 33 21 0 18 2 48 0 5 1 53 0 16 0 18 3 48 0 52 10 0 3 32 69 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 54 0 52 0 0 2 33 21 0 18 2 48 0 5 1 55 0 16 0 18 3 48 0 52 10 0 3 32 22 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 56 0 52 0 0 2 33 135 0 18 2 48 0 5 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 57 0 52 0 0 2 6 33 9 0 5 18 6 48 0 52 16 0 1 33 39 0 18 2 48 0 5 18 1 48 0 17 4 18 2 48 0 5 1 58 0 16 0 16 3 1 60 0 16 4 52 59 0 3 52 10 0 3 32 11 0 1 58 0 16 0 16 3 52 10 0 3 32 117 2 16 1 1 57 0 52 0 0 2 33 92 0 18 2 48 0 5 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 14 0 1 32 0 16 0 16 3 52 10 0 3 32 11 0 1 33 0 16 0 16 3 52 10 0 3 32 13 2 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 61 0 52 0 0 2 33 77 0 18 2 48 0 5 18 3 48 0 17 3 16 0 52 62 0 1 6 33 14 0 5 16 0 52 63 0 1 1 64 0 52 0 0 2 33 25 0 1 66 0 52 65 0 1 16 3 16 0 1 68 0 52 67 0 2 52 10 0 3 32 11 0 1 69 0 16 0 16 3 52 10 0 3 32 166 1 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 19 0 52 0 0 2 33 21 0 18 2 48 0 5 1 40 0 16 0 18 3 48 0 52 10 0 3 32 119 1 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 70 0 52 0 0 2 33 170 0 18 2 48 0 5 18 4 1 16 0 48 1 5 18 4 1 71 0 48 1 33 19 0 1 13 0 1 46 0 16 0 52 10 0 2 52 10 0 2 32 125 0 18 4 1 72 0 48 1 33 23 0 1 13 0 1 53 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 92 0 18 4 1 73 0 48 1 6 34 8 0 5 18 4 1 54 0 48 1 33 23 0 1 13 0 1 55 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 47 0 18 4 1 74 0 48 1 6 34 8 0 5 18 4 1 75 0 48 1 33 23 0 1 13 0 1 55 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 2 0 16 0 32 179 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 76 0 52 0 0 2 33 21 0 18 2 48 0 5 1 11 0 16 0 18 3 48 0 52 10 0 3 32 132 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 26 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 76 0 48 1 5 1 12 0 16 0 18 3 48 0 52 10 0 3 32 77 0 16 1 1 14 0 52 0 0 2 6 33 38 0 5 16 2 1 73 0 52 0 0 2 6 34 24 0 5 16 2 1 74 0 52 0 0 2 6 34 10 0 5 16 2 1 75 0 52 0 0 2 33 21 0 18 2 48 0 5 1 55 0 16 0 18 3 48 0 52 10 0 3 32 2 0 16 0 50)} {:upvalue-count 6 :arity 1 :constants ("where" "list" coll-where "sorted" "by" "descending" "not" "ascending" coll-sorted-desc coll-sorted "mapped" "to" coll-mapped "split" coll-split "joined" coll-joined) :bytecode (18 0 1 0 0 48 1 33 36 0 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 2 0 16 0 16 1 52 1 0 3 49 1 32 11 1 18 0 1 3 0 48 1 33 93 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 0 1 5 0 48 1 17 2 16 2 52 6 0 1 33 10 0 18 0 1 7 0 48 1 32 1 0 2 5 18 5 16 2 33 14 0 1 8 0 16 0 16 1 52 1 0 3 32 11 0 1 9 0 16 0 16 1 52 1 0 3 49 1 32 164 0 18 0 1 10 0 48 1 33 44 0 18 0 1 11 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 12 0 16 0 16 1 52 1 0 3 49 1 32 110 0 18 0 1 13 0 48 1 33 44 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 14 0 16 0 16 1 52 1 0 3 49 1 32 56 0 18 0 1 15 0 48 1 33 44 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 16 0 16 0 16 1 52 1 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 7 :arity 1 :constants ("and" "list" and "or" or) :bytecode (18 0 1 0 0 48 1 33 40 0 18 1 18 2 18 3 18 4 18 5 48 0 48 1 48 1 48 1 48 1 17 1 18 6 1 2 0 16 0 16 1 52 1 0 3 49 1 32 52 0 18 0 1 3 0 48 1 33 40 0 18 1 18 2 18 3 18 4 18 5 48 0 48 1 48 1 48 1 48 1 17 1 18 6 1 4 0 16 0 16 1 52 1 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 9 :arity 0 :constants ("nil?" "number?" "=" "ident" "list" string-postfix "not" "then" "end" "else" "otherwise" "op" "%") :bytecode (18 0 48 0 17 0 16 0 52 0 0 1 33 4 0 2 32 242 0 16 0 52 1 0 1 6 33 12 0 5 18 1 48 0 1 3 0 52 2 0 2 33 27 0 18 2 48 0 17 1 18 3 48 0 5 1 5 0 16 0 16 1 52 4 0 3 17 0 32 1 0 2 5 18 4 16 0 48 1 17 1 18 5 16 1 48 1 17 2 18 6 16 2 48 1 17 3 18 7 16 3 48 1 17 4 18 8 16 4 48 1 17 5 16 5 6 33 112 0 5 18 1 48 0 1 3 0 52 2 0 2 6 33 64 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 10 0 52 2 0 2 52 6 0 1 6 34 28 0 5 18 1 48 0 1 11 0 52 2 0 2 6 33 12 0 5 18 2 48 0 1 12 0 52 2 0 2 33 25 0 18 2 48 0 17 6 18 3 48 0 5 1 5 0 16 5 16 6 52 4 0 3 32 2 0 16 5 50)} {:upvalue-count 2 :arity 2 :constants () :bytecode (18 0 16 0 48 1 33 7 0 18 1 49 0 32 2 0 16 1 50)} {:upvalue-count 3 :arity 0 :constants ("=" "class" "get" "value" "list" {:upvalue-count 4 :arity 0 :constants ("=" "class" "append" "list" "get" "value") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 31 0 18 1 18 2 48 0 1 5 0 52 4 0 2 52 3 0 1 52 2 0 2 19 1 5 18 3 49 0 32 1 0 2 50)} "to" me "empty?" add-class "cons" multi-add-class) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 101 0 18 1 48 0 1 3 0 52 2 0 2 17 0 52 4 0 0 17 1 51 5 0 0 0 1 1 0 1 1 2 17 2 5 16 2 48 0 5 18 2 1 6 0 1 7 0 52 4 0 1 48 2 17 3 16 1 52 8 0 1 33 14 0 1 9 0 16 0 16 3 52 4 0 3 32 21 0 1 11 0 16 3 16 0 16 1 52 10 0 2 52 10 0 2 52 10 0 2 32 1 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("=" "class" "get" "value" "list" {:upvalue-count 4 :arity 0 :constants ("=" "class" "append" "list" "get" "value") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 31 0 18 1 18 2 48 0 1 5 0 52 4 0 2 52 3 0 1 52 2 0 2 19 1 5 18 3 49 0 32 1 0 2 50)} "from" me "empty?" remove-class "cons" multi-remove-class) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 101 0 18 1 48 0 1 3 0 52 2 0 2 17 0 52 4 0 0 17 1 51 5 0 0 0 1 1 0 1 1 2 17 2 5 16 2 48 0 5 18 2 1 6 0 1 7 0 52 4 0 1 48 2 17 3 16 1 52 8 0 1 33 14 0 1 9 0 16 0 16 3 52 4 0 3 32 21 0 1 11 0 16 3 16 0 16 1 52 10 0 2 52 10 0 2 52 10 0 2 32 1 0 2 50)} {:upvalue-count 7 :arity 0 :constants ("between" "=" "class" "and" "on" "list" me toggle-between toggle-class "style" toggle-style-between toggle-style "attr" toggle-attr-between toggle-attr) :bytecode (18 0 1 0 0 48 1 33 106 0 18 1 48 0 1 2 0 52 1 0 2 33 88 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 4 1 3 0 48 1 5 18 1 48 0 1 2 0 52 1 0 2 33 47 0 18 2 48 0 17 1 18 3 48 0 5 16 1 17 1 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 2 1 7 0 16 0 16 1 16 2 52 5 0 4 32 1 0 2 32 1 0 2 32 50 1 18 1 48 0 1 2 0 52 1 0 2 33 45 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 8 0 16 0 16 1 52 5 0 3 32 247 0 18 1 48 0 1 9 0 52 1 0 2 33 109 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 0 1 0 0 48 1 33 54 0 18 6 48 0 17 1 18 4 1 3 0 48 1 5 18 6 48 0 17 2 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 3 1 10 0 16 0 16 1 16 2 16 3 52 5 0 5 32 27 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 11 0 16 0 16 1 52 5 0 3 32 124 0 18 1 48 0 1 12 0 52 1 0 2 33 109 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 0 1 0 0 48 1 33 54 0 18 6 48 0 17 1 18 4 1 3 0 48 1 5 18 6 48 0 17 2 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 3 1 13 0 16 0 16 1 16 2 16 3 52 5 0 5 32 27 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 14 0 16 0 16 1 52 5 0 3 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" set!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 4 :arity 0 :constants ("into" "list" set! "before" put! "after" "at" "start" "of" "end" "error" "str" "Expected start/end after at, position " "Expected into/before/after/at at position ") :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 16 0 1 2 0 18 0 48 0 16 0 52 1 0 3 32 171 0 18 1 1 3 0 48 1 33 19 0 1 4 0 16 0 1 3 0 18 0 48 0 52 1 0 4 32 142 0 18 1 1 5 0 48 1 33 19 0 1 4 0 16 0 1 5 0 18 0 48 0 52 1 0 4 32 113 0 18 1 1 6 0 48 1 33 90 0 18 1 1 7 0 48 1 33 27 0 18 2 1 8 0 48 1 5 1 4 0 16 0 1 7 0 18 0 48 0 52 1 0 4 32 50 0 18 1 1 9 0 48 1 33 27 0 18 2 1 8 0 48 1 5 1 4 0 16 0 1 9 0 18 0 48 0 52 1 0 4 32 13 0 1 12 0 18 3 52 11 0 2 52 10 0 1 32 13 0 1 13 0 18 3 52 11 0 2 52 10 0 1 50)} {:upvalue-count 3 :arity 0 :constants ("else" "otherwise" "end" "list" if) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 18 2 1 0 0 48 1 6 34 8 0 5 18 2 1 1 0 48 1 33 7 0 18 1 48 0 32 1 0 2 17 2 18 2 1 2 0 48 1 5 16 2 33 16 0 1 4 0 16 0 16 1 16 2 52 3 0 4 32 11 0 1 4 0 16 0 16 1 52 3 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("for" "from" "list" wait-for "=" "number" wait "get" "value" 0) :bytecode (18 0 1 0 0 48 1 33 65 0 18 1 48 0 17 0 18 2 48 0 5 18 0 1 1 0 48 1 33 7 0 18 3 48 0 32 1 0 2 17 1 16 1 33 17 0 1 3 0 16 0 1 1 0 16 1 52 2 0 4 32 9 0 1 3 0 16 0 52 2 0 2 32 53 0 18 4 48 0 1 5 0 52 4 0 2 33 29 0 18 2 48 0 17 0 1 6 0 18 5 16 0 1 8 0 52 7 0 2 48 1 52 2 0 2 32 10 0 1 6 0 1 9 0 52 2 0 2 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "paren-close" "get" "value" "colon" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 83 0 18 2 48 0 1 3 0 52 2 0 2 17 1 18 0 48 0 1 4 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 3 48 0 17 2 18 0 48 0 1 5 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 16 2 52 7 0 2 52 6 0 2 49 1 50)} "cons" dict "list") :bytecode (18 0 48 0 5 51 0 0 0 1 0 2 0 0 0 3 1 0 17 0 5 1 2 0 16 0 52 3 0 0 48 1 52 1 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("get" "value" "=" "paren-open" "to" "list" me send) :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 1 3 0 52 2 0 2 33 7 0 18 2 48 0 32 1 0 2 17 1 18 3 1 4 0 1 6 0 52 5 0 1 48 2 17 2 16 1 33 16 0 1 7 0 16 0 16 1 16 2 52 5 0 4 32 11 0 1 7 0 16 0 16 2 52 5 0 3 50)} {:upvalue-count 2 :arity 0 :constants ("get" "value" "on" "list" me trigger) :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 1 2 0 1 4 0 52 3 0 1 48 2 17 1 1 5 0 16 0 16 1 52 3 0 3 50)} {:upvalue-count 1 :arity 0 :constants ("list" log) :bytecode (1 1 0 18 0 48 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("by" 1 "on" "list" me increment!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 7 0 18 0 48 0 32 3 0 1 1 0 17 1 18 2 1 2 0 1 4 0 52 3 0 1 48 2 17 2 1 5 0 16 0 16 1 16 2 52 3 0 4 50)} {:upvalue-count 3 :arity 0 :constants ("by" 1 "on" "list" me decrement!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 7 0 18 0 48 0 32 3 0 1 1 0 17 1 18 2 1 2 0 1 4 0 52 3 0 1 48 2 17 2 1 5 0 16 0 16 1 16 2 52 3 0 4 50)} {:upvalue-count 6 :arity 0 :constants ("list" me "=" "keyword" "then" "end" "with" "add" "remove" "set" "put" "toggle" "hide" "show" "display" hide) :bytecode (18 0 48 0 33 10 0 1 1 0 52 0 0 1 32 188 0 18 1 48 0 1 3 0 52 2 0 2 6 33 156 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 140 0 5 18 2 48 0 1 5 0 52 2 0 2 6 34 124 0 5 18 2 48 0 1 6 0 52 2 0 2 6 34 108 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 92 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 76 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 60 0 5 18 2 48 0 1 10 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 11 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 12 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 13 0 52 2 0 2 33 10 0 1 1 0 52 0 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 29 0 18 0 48 0 33 6 0 1 14 0 32 13 0 18 2 48 0 17 1 18 5 48 0 5 16 1 32 3 0 1 14 0 17 1 1 15 0 16 0 16 1 52 0 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("list" me "=" "keyword" "then" "end" "with" "add" "remove" "set" "put" "toggle" "hide" "show" "display" show) :bytecode (18 0 48 0 33 10 0 1 1 0 52 0 0 1 32 188 0 18 1 48 0 1 3 0 52 2 0 2 6 33 156 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 140 0 5 18 2 48 0 1 5 0 52 2 0 2 6 34 124 0 5 18 2 48 0 1 6 0 52 2 0 2 6 34 108 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 92 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 76 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 60 0 5 18 2 48 0 1 10 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 11 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 12 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 13 0 52 2 0 2 33 10 0 1 1 0 52 0 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 29 0 18 0 48 0 33 6 0 1 14 0 32 13 0 18 2 48 0 17 1 18 5 48 0 5 16 1 32 3 0 1 14 0 17 1 1 15 0 16 0 16 1 52 0 0 3 50)} {:upvalue-count 7 :arity 0 :constants ("get" "value" "to" "over" "=" "number" 400 "on" "list" me transition) :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 1 2 0 48 1 5 18 2 48 0 17 1 18 3 1 3 0 48 1 33 38 0 18 4 48 0 1 5 0 52 4 0 2 33 18 0 18 5 18 0 48 0 1 1 0 52 0 0 2 48 1 32 3 0 1 6 0 32 1 0 2 17 2 18 6 1 7 0 1 9 0 52 8 0 1 48 2 17 3 16 2 33 18 0 1 10 0 16 0 16 1 16 2 16 3 52 8 0 5 32 13 0 1 10 0 16 0 16 1 16 3 52 8 0 4 50)} {:upvalue-count 7 :arity 0 :constants ("=" "keyword" "for" "in" "end" "list" for "it" "forever" forever "while" while "until" until "times" times repeat) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 12 0 18 2 48 0 5 18 3 49 0 32 203 0 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 3 0 52 0 0 2 33 43 0 18 2 48 0 5 18 4 48 0 17 0 18 5 48 0 17 1 18 6 1 4 0 48 1 5 1 6 0 1 7 0 16 0 2 16 1 52 5 0 5 32 130 0 18 6 1 8 0 48 1 33 10 0 1 9 0 52 5 0 1 32 83 0 18 6 1 10 0 48 1 33 14 0 1 11 0 18 4 48 0 52 5 0 2 32 59 0 18 6 1 12 0 48 1 33 14 0 1 13 0 18 4 48 0 52 5 0 2 32 35 0 18 4 48 0 17 0 18 6 1 14 0 48 1 33 12 0 1 15 0 16 0 52 5 0 2 32 7 0 1 9 0 52 5 0 1 17 0 18 5 48 0 17 1 18 6 1 4 0 48 1 5 1 16 0 16 0 16 1 52 5 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("nil?" "as" "json" "list" fetch) :bytecode (18 0 48 0 17 0 16 0 52 0 0 1 33 5 0 16 0 32 10 0 18 1 18 2 16 0 48 1 48 1 17 1 18 3 1 1 0 48 1 33 16 0 18 4 48 0 17 2 18 5 48 0 5 16 2 32 3 0 1 2 0 17 2 1 4 0 16 1 16 2 52 3 0 3 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "paren-close" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 45 0 18 3 48 0 17 1 18 0 48 0 1 2 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 52 4 0 1 52 3 0 2 49 1 50)} "list") :bytecode (18 0 48 0 5 51 0 0 0 1 0 2 0 0 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 3 :arity 0 :constants ("get" "value" "=" "paren-open" "cons" call "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 1 3 0 52 2 0 2 33 24 0 18 2 48 0 17 1 1 5 0 16 0 16 1 52 4 0 2 52 4 0 2 32 9 0 1 5 0 16 0 52 6 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("=" "class" "from" "for" "list" take! "attr") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 74 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 3 1 2 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 1 18 3 1 3 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 2 1 5 0 1 1 0 16 0 16 1 16 2 52 4 0 5 32 89 0 18 0 48 0 1 6 0 52 0 0 2 33 74 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 3 1 2 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 1 18 3 1 3 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 2 1 5 0 1 6 0 16 0 16 1 16 2 52 4 0 5 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" go) :bytecode (18 0 1 0 0 48 1 5 1 2 0 18 1 48 0 52 1 0 2 50)} {:upvalue-count 6 :arity 1 :constants ("=" "op" "+" "-" "*" "/" "%" "keyword" "mod" + - * / "make-symbol" "nil?" "list") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 33 66 0 5 16 2 1 2 0 52 0 0 2 6 34 52 0 5 16 2 1 3 0 52 0 0 2 6 34 38 0 5 16 2 1 4 0 52 0 0 2 6 34 24 0 5 16 2 1 5 0 52 0 0 2 6 34 10 0 5 16 2 1 6 0 52 0 0 2 6 34 24 0 5 16 1 1 7 0 52 0 0 2 6 33 10 0 5 16 2 1 8 0 52 0 0 2 33 161 0 18 2 48 0 5 16 2 1 2 0 52 0 0 2 33 6 0 1 9 0 32 91 0 16 2 1 3 0 52 0 0 2 33 6 0 1 10 0 32 73 0 16 2 1 4 0 52 0 0 2 33 6 0 1 11 0 32 55 0 16 2 1 5 0 52 0 0 2 33 6 0 1 12 0 32 37 0 16 2 1 6 0 52 0 0 2 6 34 10 0 5 16 2 1 8 0 52 0 0 2 33 10 0 1 6 0 52 13 0 1 32 1 0 2 17 3 18 3 48 0 17 4 16 4 52 14 0 1 33 5 0 16 4 32 6 0 18 4 16 4 48 1 17 4 18 5 16 3 16 0 16 4 52 15 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 8 :arity 0 :constants ("=" "ident" "keyword" "of" "list" "make-symbol" "." "result" it "first" first "last" last "closest" closest "next" next "previous" previous ref) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 6 34 10 0 5 16 0 1 2 0 52 0 0 2 33 179 0 18 2 48 0 5 18 3 1 3 0 48 1 33 20 0 1 6 0 52 5 0 1 18 4 48 0 16 1 52 4 0 3 32 141 0 16 1 1 7 0 52 0 0 2 33 10 0 1 8 0 52 4 0 1 32 119 0 16 1 1 9 0 52 0 0 2 33 10 0 18 5 1 10 0 49 1 32 97 0 16 1 1 11 0 52 0 0 2 33 10 0 18 5 1 12 0 49 1 32 75 0 16 1 1 13 0 52 0 0 2 33 10 0 18 6 1 14 0 49 1 32 53 0 16 1 1 15 0 52 0 0 2 33 10 0 18 6 1 16 0 49 1 32 31 0 16 1 1 17 0 52 0 0 2 33 10 0 18 6 1 18 0 49 1 32 9 0 1 19 0 16 1 52 4 0 2 32 4 0 18 7 49 0 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "bracket-close" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 45 0 18 3 48 0 17 1 18 0 48 0 1 2 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 52 4 0 1 52 3 0 2 49 1 50)} "cons" array "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 1 2 0 16 0 52 3 0 0 48 1 52 1 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "end" "then" "else" "list" return) :bytecode (18 0 48 0 6 34 60 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 44 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 28 0 5 18 2 48 0 1 3 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 4 0 52 0 0 2 33 11 0 1 6 0 2 52 5 0 2 32 11 0 1 6 0 18 3 48 0 52 5 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("list" throw) :bytecode (1 1 0 18 0 48 0 52 0 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" append!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 3 :arity 0 :constants ("end" "list" tell) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 18 2 1 0 0 48 1 5 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("in" "index" "end" "list" for) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 1 0 0 48 1 5 18 3 48 0 17 1 18 4 1 1 0 48 1 33 16 0 18 0 48 0 17 2 18 1 48 0 5 16 2 32 1 0 2 17 2 18 5 48 0 17 3 18 4 1 2 0 48 1 5 16 2 33 21 0 1 4 0 16 0 16 1 16 3 1 1 0 16 2 52 3 0 6 32 13 0 1 4 0 16 0 16 1 16 3 52 3 0 4 50)} {:upvalue-count 3 :arity 0 :constants ("=" "a" "called" "list" make) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 1 48 0 32 1 0 2 5 18 0 48 0 17 0 18 1 48 0 5 18 2 1 2 0 48 1 33 16 0 18 0 48 0 17 1 18 1 48 0 5 16 1 32 1 0 2 17 1 16 1 33 14 0 1 4 0 16 0 16 1 52 3 0 3 32 9 0 1 4 0 16 0 52 3 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "paren-open" "cons" install "list") :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 1 1 0 52 0 0 2 33 24 0 18 3 48 0 17 1 1 3 0 16 0 16 1 52 2 0 2 52 2 0 2 32 9 0 1 3 0 16 0 52 4 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("list" measure "nil?" me) :bytecode (18 0 48 0 17 0 1 1 0 16 0 52 2 0 1 33 10 0 1 3 0 52 0 0 1 32 2 0 16 0 52 0 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("=" "keyword" "then" "end" "list" me "top" "bottom" "left" "right" scroll!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 6 0 1 6 0 32 51 0 18 4 1 7 0 48 1 33 6 0 1 7 0 32 35 0 18 4 1 8 0 48 1 33 6 0 1 8 0 32 19 0 18 4 1 9 0 48 1 33 6 0 1 9 0 32 3 0 1 6 0 17 1 1 10 0 16 0 16 1 52 4 0 3 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "then" "end" "list" me select!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 1 6 0 16 0 52 4 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "then" "end" "list" me reset!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 1 6 0 16 0 52 4 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" default!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 1 :arity 0 :constants ("the" "event" "default" "list" halt!) :bytecode (18 0 1 0 0 48 1 6 33 20 0 5 18 0 1 1 0 48 1 6 34 8 0 5 18 0 1 2 0 48 1 17 0 1 4 0 16 0 33 6 0 1 1 0 32 3 0 1 2 0 52 3 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("=" "paren-open" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 1 49 0 32 4 0 52 2 0 0 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "keyword" "end" "nil?" "append" "list") :bytecode (18 0 48 0 6 34 28 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 2 48 0 1 2 0 52 0 0 2 33 5 0 16 0 32 36 0 18 3 48 0 17 1 16 1 52 3 0 1 33 5 0 16 0 32 16 0 18 4 16 0 16 1 52 5 0 1 52 4 0 2 49 1 50)} "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 5 :arity 0 :constants ("end" "list" def) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 17 1 18 3 48 0 17 2 18 4 1 0 0 48 1 5 1 2 0 16 0 16 1 16 2 52 1 0 4 50)} {:upvalue-count 5 :arity 0 :constants ("end" "list" behavior) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 17 1 18 3 48 0 17 2 18 4 1 0 0 48 1 5 1 2 0 16 0 16 1 16 2 52 1 0 4 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "local" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 38 0 18 1 48 0 17 1 18 2 48 0 5 18 3 48 0 17 2 18 4 16 0 16 1 16 2 52 3 0 2 52 2 0 2 49 1 32 2 0 16 0 50)} "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 6 :arity 0 :constants ("=" "component" "paren-open" "paren-close" "into" "before" "after" "list" render) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 16 0 18 1 48 0 17 0 18 2 48 0 5 16 0 32 66 0 18 0 48 0 1 2 0 52 0 0 2 33 39 0 18 2 48 0 5 18 3 48 0 17 0 18 0 48 0 1 3 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 13 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 4 48 0 17 1 18 5 1 4 0 48 1 33 6 0 1 4 0 32 33 0 18 5 1 5 0 48 1 33 6 0 1 5 0 32 17 0 18 5 1 6 0 48 1 33 6 0 1 6 0 32 1 0 2 17 2 16 2 33 7 0 18 3 48 0 32 1 0 2 17 3 16 2 33 18 0 1 8 0 16 0 16 1 16 2 16 3 52 7 0 5 32 11 0 1 8 0 16 0 16 1 52 7 0 3 50)} {:upvalue-count 5 :arity 0 :constants ("get" "pos" {:upvalue-count 6 :arity 1 :constants ("=" "paren-open" "+" 1 "paren-close" 0 "get" "pos" "-") :bytecode (18 0 48 0 33 5 0 18 1 32 123 0 18 2 48 0 1 1 0 52 0 0 2 33 21 0 18 3 48 0 5 18 4 16 0 1 3 0 52 2 0 2 49 1 32 88 0 18 2 48 0 1 4 0 52 0 0 2 33 63 0 16 0 1 5 0 52 0 0 2 33 30 0 18 5 48 0 1 7 0 52 6 0 2 1 3 0 52 2 0 2 17 1 18 3 48 0 5 16 1 32 18 0 18 3 48 0 5 18 4 16 0 1 3 0 52 8 0 2 49 1 32 11 0 18 3 48 0 5 18 4 16 0 49 1 50)} 0 "substring") :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 5 51 2 0 0 2 1 0 0 3 0 1 1 1 0 0 17 1 5 16 1 1 3 0 48 1 17 2 18 4 16 0 16 2 52 4 0 3 50)} {:upvalue-count 38 :arity 0 :constants ("=" "keyword" "catch" "finally" "end" "else" "otherwise" "add" "remove" "toggle" "set" "put" "if" "wait" "send" "trigger" "log" "increment" "decrement" "hide" "show" "transition" "repeat" "fetch" "call" "take" "settle" "list" settle "go" "return" "throw" "append" "tell" "for" "make" "install" "measure" "render" "scroll" "select" "reset" "default" "halt") :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 6 33 66 0 5 16 1 1 2 0 52 0 0 2 6 34 52 0 5 16 1 1 3 0 52 0 0 2 6 34 38 0 5 16 1 1 4 0 52 0 0 2 6 34 24 0 5 16 1 1 5 0 52 0 0 2 6 34 10 0 5 16 1 1 6 0 52 0 0 2 33 4 0 2 32 57 5 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 7 0 52 0 0 2 33 12 0 18 2 48 0 5 18 3 49 0 32 19 5 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 8 0 52 0 0 2 33 12 0 18 2 48 0 5 18 4 49 0 32 237 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 9 0 52 0 0 2 33 12 0 18 2 48 0 5 18 5 49 0 32 199 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 10 0 52 0 0 2 33 12 0 18 2 48 0 5 18 6 49 0 32 161 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 11 0 52 0 0 2 33 12 0 18 2 48 0 5 18 7 49 0 32 123 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 12 0 52 0 0 2 33 12 0 18 2 48 0 5 18 8 49 0 32 85 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 13 0 52 0 0 2 33 12 0 18 2 48 0 5 18 9 49 0 32 47 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 14 0 52 0 0 2 33 12 0 18 2 48 0 5 18 10 49 0 32 9 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 15 0 52 0 0 2 33 12 0 18 2 48 0 5 18 11 49 0 32 227 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 16 0 52 0 0 2 33 12 0 18 2 48 0 5 18 12 49 0 32 189 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 17 0 52 0 0 2 33 12 0 18 2 48 0 5 18 13 49 0 32 151 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 18 0 52 0 0 2 33 12 0 18 2 48 0 5 18 14 49 0 32 113 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 19 0 52 0 0 2 33 12 0 18 2 48 0 5 18 15 49 0 32 75 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 20 0 52 0 0 2 33 12 0 18 2 48 0 5 18 16 49 0 32 37 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 21 0 52 0 0 2 33 12 0 18 2 48 0 5 18 17 49 0 32 255 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 22 0 52 0 0 2 33 12 0 18 2 48 0 5 18 18 49 0 32 217 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 23 0 52 0 0 2 33 12 0 18 2 48 0 5 18 19 49 0 32 179 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 24 0 52 0 0 2 33 12 0 18 2 48 0 5 18 20 49 0 32 141 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 25 0 52 0 0 2 33 12 0 18 2 48 0 5 18 21 49 0 32 103 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 26 0 52 0 0 2 33 15 0 18 2 48 0 5 1 28 0 52 27 0 1 32 62 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 29 0 52 0 0 2 33 12 0 18 2 48 0 5 18 22 49 0 32 24 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 30 0 52 0 0 2 33 12 0 18 2 48 0 5 18 23 49 0 32 242 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 31 0 52 0 0 2 33 12 0 18 2 48 0 5 18 24 49 0 32 204 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 32 0 52 0 0 2 33 12 0 18 2 48 0 5 18 25 49 0 32 166 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 33 0 52 0 0 2 33 12 0 18 2 48 0 5 18 26 49 0 32 128 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 34 0 52 0 0 2 33 12 0 18 2 48 0 5 18 27 49 0 32 90 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 35 0 52 0 0 2 33 12 0 18 2 48 0 5 18 28 49 0 32 52 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 36 0 52 0 0 2 33 12 0 18 2 48 0 5 18 29 49 0 32 14 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 37 0 52 0 0 2 33 12 0 18 2 48 0 5 18 30 49 0 32 232 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 38 0 52 0 0 2 33 12 0 18 2 48 0 5 18 31 49 0 32 194 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 39 0 52 0 0 2 33 12 0 18 2 48 0 5 18 32 49 0 32 156 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 40 0 52 0 0 2 33 12 0 18 2 48 0 5 18 33 49 0 32 118 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 41 0 52 0 0 2 33 12 0 18 2 48 0 5 18 34 49 0 32 80 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 42 0 52 0 0 2 33 12 0 18 2 48 0 5 18 35 49 0 32 42 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 43 0 52 0 0 2 33 12 0 18 2 48 0 5 18 36 49 0 32 4 0 18 37 49 0 50)} {:upvalue-count 5 :arity 2 :constants ({:upvalue-count 0 :arity 1 :constants ("=" "add" "remove" "toggle" "set" "put" "if" "wait" "send" "trigger" "log" "increment" "decrement" "hide" "show" "transition" "repeat" "fetch" "call" "take" "settle" "go" "return" "throw" "append" "tell" "for" "make" "install" "measure" "render" "halt" "default" "scroll" "select" "reset") :bytecode (16 0 1 1 0 52 0 0 2 6 34 216 1 5 16 0 1 2 0 52 0 0 2 6 34 202 1 5 16 0 1 3 0 52 0 0 2 6 34 188 1 5 16 0 1 4 0 52 0 0 2 6 34 174 1 5 16 0 1 5 0 52 0 0 2 6 34 160 1 5 16 0 1 6 0 52 0 0 2 6 34 146 1 5 16 0 1 7 0 52 0 0 2 6 34 132 1 5 16 0 1 8 0 52 0 0 2 6 34 118 1 5 16 0 1 9 0 52 0 0 2 6 34 104 1 5 16 0 1 10 0 52 0 0 2 6 34 90 1 5 16 0 1 11 0 52 0 0 2 6 34 76 1 5 16 0 1 12 0 52 0 0 2 6 34 62 1 5 16 0 1 13 0 52 0 0 2 6 34 48 1 5 16 0 1 14 0 52 0 0 2 6 34 34 1 5 16 0 1 15 0 52 0 0 2 6 34 20 1 5 16 0 1 16 0 52 0 0 2 6 34 6 1 5 16 0 1 17 0 52 0 0 2 6 34 248 0 5 16 0 1 18 0 52 0 0 2 6 34 234 0 5 16 0 1 19 0 52 0 0 2 6 34 220 0 5 16 0 1 20 0 52 0 0 2 6 34 206 0 5 16 0 1 21 0 52 0 0 2 6 34 192 0 5 16 0 1 22 0 52 0 0 2 6 34 178 0 5 16 0 1 23 0 52 0 0 2 6 34 164 0 5 16 0 1 24 0 52 0 0 2 6 34 150 0 5 16 0 1 25 0 52 0 0 2 6 34 136 0 5 16 0 1 26 0 52 0 0 2 6 34 122 0 5 16 0 1 27 0 52 0 0 2 6 34 108 0 5 16 0 1 28 0 52 0 0 2 6 34 94 0 5 16 0 1 29 0 52 0 0 2 6 34 80 0 5 16 0 1 30 0 52 0 0 2 6 34 66 0 5 16 0 1 31 0 52 0 0 2 6 34 52 0 5 16 0 1 32 0 52 0 0 2 6 34 38 0 5 16 0 1 33 0 52 0 0 2 6 34 24 0 5 16 0 1 34 0 52 0 0 2 6 34 10 0 5 16 0 1 35 0 52 0 0 2 50)} {:upvalue-count 7 :arity 1 :constants ("nil?" "append" "list" "then" "not" "=" "keyword") :bytecode (18 0 48 0 17 1 16 1 52 0 0 1 33 5 0 16 0 32 84 0 16 0 16 1 52 2 0 1 52 1 0 2 17 2 18 1 1 3 0 48 1 33 9 0 18 2 16 2 49 1 32 51 0 18 3 48 0 52 4 0 1 6 33 25 0 5 18 4 48 0 1 6 0 52 5 0 2 6 33 9 0 5 18 5 18 6 48 0 48 1 33 9 0 18 2 16 2 49 1 32 2 0 16 2 50)} "list" "=" "len" 0 1 "first" "cons" do) :bytecode (51 0 0 17 0 5 51 1 0 0 0 0 1 1 1 0 2 0 3 1 0 0 4 17 1 5 16 1 52 2 0 0 48 1 17 2 16 2 52 4 0 1 1 5 0 52 3 0 2 33 4 0 2 32 34 0 16 2 52 4 0 1 1 6 0 52 3 0 2 33 9 0 16 2 52 7 0 1 32 9 0 1 9 0 16 2 52 8 0 2 50)} {:upvalue-count 6 :arity 0 :constants ("every" "=" "bracket-open" "bracket-close" "from" "catch" "list" "finally" "end" on "append" "filter") :bytecode (18 0 1 0 0 48 1 17 0 18 1 48 0 17 1 18 2 48 0 5 16 1 17 1 18 3 48 0 1 2 0 52 1 0 2 33 39 0 18 2 48 0 5 18 4 48 0 17 2 18 3 48 0 1 3 0 52 1 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 2 32 1 0 2 17 2 18 0 1 4 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 3 18 5 48 0 17 4 18 0 1 5 0 48 1 33 32 0 18 1 48 0 17 5 18 2 48 0 5 16 5 17 5 18 5 48 0 17 6 16 5 16 6 52 6 0 2 32 1 0 2 17 5 18 0 1 7 0 48 1 33 7 0 18 5 48 0 32 1 0 2 17 6 18 0 1 8 0 48 1 5 1 9 0 16 1 52 6 0 2 17 7 16 0 33 17 0 16 7 1 0 0 3 52 6 0 2 52 10 0 2 32 2 0 16 7 17 8 16 2 33 18 0 16 8 1 11 0 16 2 52 6 0 2 52 10 0 2 32 2 0 16 8 17 9 16 3 33 18 0 16 9 1 4 0 16 3 52 6 0 2 52 10 0 2 32 2 0 16 9 17 10 16 5 33 18 0 16 10 1 5 0 16 5 52 6 0 2 52 10 0 2 32 2 0 16 10 17 11 16 6 33 18 0 16 11 1 7 0 16 6 52 6 0 2 52 10 0 2 32 2 0 16 11 17 12 16 12 16 4 52 6 0 1 52 10 0 2 17 13 16 13 50)} {:upvalue-count 2 :arity 0 :constants ("end" "list" init) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 1 2 0 16 0 52 1 0 2 50)} {:upvalue-count 7 :arity 0 :constants ("=" "on" "init" "def" "behavior") :bytecode (18 0 48 0 17 0 16 0 1 1 0 52 0 0 2 33 12 0 18 1 48 0 5 18 2 49 0 32 76 0 16 0 1 2 0 52 0 0 2 33 12 0 18 1 48 0 5 18 3 49 0 32 52 0 16 0 1 3 0 52 0 0 2 33 12 0 18 1 48 0 5 18 4 49 0 32 28 0 16 0 1 4 0 52 0 0 2 33 12 0 18 1 48 0 5 18 5 49 0 32 4 0 18 6 49 0 50)} {:upvalue-count 3 :arity 1 :constants ("nil?" "append" "list") :bytecode (18 0 48 0 33 5 0 16 0 32 36 0 18 1 48 0 17 1 16 1 52 0 0 1 33 5 0 16 0 32 16 0 18 2 16 0 16 1 52 2 0 1 52 1 0 2 49 1 50)} "list" "=" 1 "first" "cons" do) :bytecode (1 0 0 17 2 16 0 52 1 0 1 17 3 51 2 0 1 2 1 3 1 0 17 4 5 51 3 0 1 4 17 5 5 51 4 0 1 4 17 6 5 51 5 0 1 0 1 2 17 7 5 51 6 0 1 2 1 3 1 5 17 8 5 51 7 0 1 5 1 6 1 7 17 9 5 51 8 0 1 9 1 2 17 10 5 51 9 0 17 11 5 51 10 0 1 5 1 6 1 7 1 13 17 12 5 51 11 0 1 5 1 8 1 6 1 7 1 13 1 41 17 13 5 51 12 0 1 5 1 6 1 7 17 14 5 51 13 0 1 5 1 6 1 7 1 9 1 21 17 15 5 51 14 0 1 5 1 6 1 7 1 11 1 21 1 67 1 46 1 12 1 14 1 15 1 8 1 2 1 0 1 47 1 16 1 9 17 16 5 51 15 0 1 5 1 6 1 7 1 12 1 13 1 41 1 21 1 17 17 17 5 51 16 0 1 5 1 6 1 7 1 21 1 9 1 16 1 8 17 18 5 51 17 0 1 9 1 18 1 45 1 17 1 16 1 19 17 19 5 51 18 0 1 9 1 19 1 18 1 45 1 17 1 16 1 20 17 20 5 51 19 0 1 16 1 5 1 6 1 7 1 17 1 45 1 18 1 19 1 20 17 21 5 51 20 0 1 9 1 21 17 22 5 51 21 0 1 5 1 7 1 22 17 23 5 51 22 0 1 5 1 7 1 22 17 24 5 51 23 0 1 9 1 5 1 6 1 7 1 10 1 22 1 16 17 25 5 51 24 0 1 21 1 10 17 26 5 51 25 0 1 21 1 9 1 10 1 2 17 27 5 51 26 0 1 21 1 69 1 9 17 28 5 51 27 0 1 9 1 6 1 7 1 21 1 5 1 11 17 29 5 51 28 0 1 7 1 5 1 8 1 21 17 30 5 51 29 0 1 7 1 5 1 30 1 22 17 31 5 51 30 0 1 7 1 22 17 32 5 51 31 0 1 21 17 33 5 51 32 0 1 21 1 9 1 22 17 34 5 51 33 0 1 21 1 9 1 22 17 35 5 51 34 0 1 8 1 5 1 6 1 21 1 9 1 7 17 36 5 51 35 0 1 8 1 5 1 6 1 21 1 9 1 7 17 37 5 51 36 0 1 7 1 10 1 21 1 9 1 5 1 11 1 22 17 38 5 51 37 0 1 5 1 6 1 7 1 52 1 21 1 69 1 9 17 39 5 51 38 0 1 16 1 45 1 17 1 9 1 6 1 7 17 40 5 51 39 0 1 7 1 5 1 8 1 21 17 41 5 51 40 0 1 7 1 5 1 41 17 42 5 51 41 0 1 5 1 6 1 7 1 9 1 21 17 43 5 51 42 0 1 9 1 21 17 44 5 51 43 0 1 5 1 6 1 7 1 16 1 17 1 45 17 45 5 51 44 0 1 5 1 6 1 7 1 9 1 21 1 15 1 14 1 16 17 46 5 51 45 0 1 5 1 8 1 7 1 21 17 47 5 51 46 0 1 8 1 5 1 6 1 21 17 48 5 51 47 0 1 21 17 49 5 51 48 0 1 21 1 10 17 50 5 51 49 0 1 21 1 69 1 9 17 51 5 51 50 0 1 6 1 7 1 10 1 21 1 9 1 69 17 52 5 51 51 0 1 6 1 7 1 9 17 53 5 51 52 0 1 6 1 7 1 5 1 41 17 54 5 51 53 0 1 21 17 55 5 51 54 0 1 8 1 5 1 6 1 21 1 9 17 56 5 51 55 0 1 8 1 5 1 6 1 21 17 57 5 51 56 0 1 8 1 5 1 6 1 21 17 58 5 51 57 0 1 21 1 10 17 59 5 51 58 0 1 9 17 60 5 51 59 0 1 5 1 41 17 61 5 51 60 0 1 8 1 5 1 6 1 72 17 62 5 51 61 0 1 6 1 7 1 61 1 69 1 9 17 63 5 51 62 0 1 6 1 7 1 61 1 62 1 9 17 64 5 51 63 0 1 5 1 6 1 7 1 21 17 65 5 51 64 0 1 5 1 6 1 7 1 21 1 65 1 9 17 66 5 51 65 0 1 4 1 7 1 8 1 5 1 1 17 67 5 51 66 0 1 5 1 6 1 7 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 42 1 43 1 44 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 66 1 56 1 57 1 58 1 59 1 60 1 21 17 68 5 51 67 0 1 68 1 9 1 8 1 5 1 6 17 69 5 51 68 0 1 9 1 6 1 7 1 5 1 21 1 69 17 70 5 51 69 0 1 69 1 9 17 71 5 51 70 0 1 6 1 7 1 70 1 71 1 63 1 64 1 69 17 72 5 51 71 0 1 8 1 72 1 73 17 73 5 16 73 52 72 0 0 48 1 17 74 16 74 52 1 0 1 1 74 0 52 73 0 2 33 9 0 16 74 52 75 0 1 32 9 0 1 77 0 16 74 52 76 0 2 50)} "hs-compile" {:upvalue-count 0 :arity 1 :constants ("hs-parse" "hs-tokenize") :bytecode (20 0 0 20 1 0 16 0 48 1 16 0 49 2 50)}) :bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 50))) + :constants ("hs-parse" {:upvalue-count 0 :arity 2 :constants (0 "len" {:upvalue-count 3 :arity 0 :constants ("<" "nth") :bytecode (18 0 18 1 52 0 0 2 33 11 0 18 2 18 0 52 1 0 2 32 1 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("get" "type" "eof") :bytecode (18 0 48 0 17 0 16 0 33 12 0 16 0 1 1 0 52 0 0 2 32 3 0 1 2 0 50)} {:upvalue-count 1 :arity 0 :constants ("get" "value") :bytecode (18 0 48 0 17 0 16 0 33 12 0 16 0 1 1 0 52 0 0 2 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("nth" "+" 1) :bytecode (18 0 18 1 52 0 0 2 17 0 18 1 1 2 0 52 1 0 2 19 1 5 16 0 50)} {:upvalue-count 3 :arity 0 :constants (">=" "=" "eof") :bytecode (18 0 18 1 52 0 0 2 6 34 12 0 5 18 2 48 0 1 2 0 52 1 0 2 50)} {:upvalue-count 3 :arity 1 :constants ("=" "keyword") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 11 0 5 18 1 48 0 16 0 52 0 0 2 33 9 0 18 2 48 0 5 3 32 1 0 2 50)} {:upvalue-count 2 :arity 1 :constants ("error" "str" "Expected '" "' at position ") :bytecode (18 0 16 0 48 1 33 4 0 3 32 18 0 1 2 0 16 0 1 3 0 18 1 52 1 0 4 52 0 0 1 50)} {:upvalue-count 0 :arity 1 :constants ("len" ">=" 3 "=" "substring" "-" 2 "ms" "parse-number" 0 "nth" 1 "s" "*" 1000) :bytecode (16 0 52 0 0 1 17 1 16 1 1 2 0 52 1 0 2 6 33 25 0 5 16 0 16 1 1 6 0 52 5 0 2 16 1 52 4 0 3 1 7 0 52 3 0 2 33 25 0 16 0 1 9 0 16 1 1 6 0 52 5 0 2 52 4 0 3 52 8 0 1 32 77 0 16 1 1 6 0 52 1 0 2 6 33 23 0 5 16 0 16 1 1 11 0 52 5 0 2 52 10 0 2 1 12 0 52 3 0 2 33 32 0 1 14 0 16 0 1 9 0 16 1 1 11 0 52 5 0 2 52 4 0 3 52 8 0 1 52 13 0 2 32 6 0 16 0 52 8 0 1 50)} {:upvalue-count 4 :arity 1 :constants ("=" "ident" "keyword" "list" . "attr" attr "class" "get" "value") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 34 10 0 5 16 1 1 2 0 52 0 0 2 33 23 0 18 2 48 0 5 18 3 1 4 0 16 0 16 2 52 3 0 3 49 1 32 76 0 16 1 1 5 0 52 0 0 2 33 19 0 18 2 48 0 5 1 6 0 16 2 16 0 52 3 0 3 32 45 0 16 1 1 7 0 52 0 0 2 33 31 0 18 2 48 0 1 9 0 52 8 0 2 17 3 18 3 1 4 0 16 0 16 3 52 3 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 6 :arity 1 :constants ("=" "class" "not" "list" "make-symbol" "." "paren-open" method-call) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 9 0 5 18 1 48 0 52 2 0 1 33 33 0 18 2 48 0 17 1 18 3 48 0 5 18 4 1 5 0 52 4 0 1 16 0 16 1 52 3 0 3 49 1 32 40 0 18 0 48 0 1 6 0 52 0 0 2 33 24 0 18 5 48 0 17 1 18 4 1 7 0 16 0 16 1 52 3 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 3 :arity 1 :constants ("=" "selector" "list" me "class" "str" "." "id" "#" "*") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 33 23 0 18 2 48 0 5 16 0 16 2 1 3 0 52 2 0 1 52 2 0 3 32 100 0 16 1 1 4 0 52 0 0 2 33 30 0 18 2 48 0 5 16 0 1 6 0 16 2 52 5 0 2 1 3 0 52 2 0 1 52 2 0 3 32 58 0 16 1 1 7 0 52 0 0 2 33 30 0 18 2 48 0 5 16 0 1 8 0 16 2 52 5 0 2 1 3 0 52 2 0 1 52 2 0 3 32 16 0 16 0 1 9 0 1 3 0 52 2 0 1 52 2 0 3 50)} {:upvalue-count 5 :arity 1 :constants ("=" "selector" "class" "str" "." "id" "#" "*" "in" "list") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 33 10 0 18 2 48 0 5 16 2 32 61 0 16 1 1 2 0 52 0 0 2 33 17 0 18 2 48 0 5 1 4 0 16 2 52 3 0 2 32 32 0 16 1 1 5 0 52 0 0 2 33 17 0 18 2 48 0 5 1 6 0 16 2 52 3 0 2 32 3 0 1 7 0 17 3 18 3 1 8 0 48 1 33 15 0 16 0 16 3 18 4 48 0 52 9 0 3 32 8 0 16 0 16 3 52 9 0 2 50)} {:upvalue-count 16 :arity 0 :constants ("=" "number" "string" "template" "list" template "keyword" "true" "false" "null" "nil" null-literal "undefined" "beep" "op" "!" beep! "not" not "no" no "eval" "paren-open" sx-eval "the" "me" me "I" "it" "result" it "event" event "target" "make-symbol" "." "detail" "my" "its" "closest" closest "next" next "previous" previous "first" first "last" last "id" query "str" "#" "selector" "attr" attr "style" style "local" local "class" "ident" ref "paren-close" "brace-open" {:upvalue-count 6 :arity 1 :constants ("=" "brace-close" "string" "local" "true" "false" "null" "list" ref "colon" "comma" "cons") :bytecode (18 0 48 0 6 34 12 0 5 18 1 48 0 1 1 0 52 0 0 2 33 28 0 18 1 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 203 0 18 1 48 0 1 2 0 52 0 0 2 33 16 0 18 3 48 0 17 1 18 2 48 0 5 16 1 32 13 0 18 3 48 0 17 1 18 2 48 0 5 16 1 17 1 18 1 48 0 1 3 0 52 0 0 2 33 71 0 18 3 48 0 17 2 18 2 48 0 5 16 2 1 4 0 52 0 0 2 33 4 0 3 32 41 0 16 2 1 5 0 52 0 0 2 33 4 0 4 32 25 0 16 2 1 6 0 52 0 0 2 33 4 0 2 32 9 0 1 8 0 16 2 52 7 0 2 32 30 0 18 1 48 0 1 9 0 52 0 0 2 33 12 0 18 2 48 0 5 18 4 48 0 32 4 0 18 4 48 0 17 2 18 1 48 0 1 10 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 5 16 1 16 2 52 7 0 2 16 0 52 11 0 2 49 1 50)} object-literal "\\" {:upvalue-count 6 :arity 1 :constants ("=" "op" "-" "<" "+" 1 "len" "get" "nth" "value" ">" "ident" "comma" "append") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 76 0 18 2 1 5 0 52 4 0 2 18 3 52 6 0 1 52 3 0 2 6 33 30 0 5 18 3 18 2 1 5 0 52 4 0 2 52 8 0 2 1 9 0 52 7 0 2 1 10 0 52 0 0 2 33 15 0 18 4 48 0 5 18 4 48 0 5 16 0 32 2 0 16 0 32 65 0 18 0 48 0 1 11 0 52 0 0 2 33 49 0 18 1 48 0 17 1 18 4 48 0 5 18 0 48 0 1 12 0 52 0 0 2 33 7 0 18 4 48 0 32 1 0 2 5 18 5 16 0 16 1 52 13 0 2 49 1 32 2 0 16 0 50)} block-literal "bracket-open" "-" - 0 "component" component "some" ">" "len" "+" 1 "get" "nth" "value" "in" "with" some "every" every) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 33 14 0 18 2 48 0 5 18 3 16 1 49 1 32 66 7 16 0 1 2 0 52 0 0 2 33 10 0 18 2 48 0 5 16 1 32 44 7 16 0 1 3 0 52 0 0 2 33 17 0 18 2 48 0 5 1 5 0 16 1 52 4 0 2 32 15 7 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 7 0 52 0 0 2 33 9 0 18 2 48 0 5 3 32 236 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 8 0 52 0 0 2 33 9 0 18 2 48 0 5 4 32 201 6 16 0 1 6 0 52 0 0 2 6 33 24 0 5 16 1 1 9 0 52 0 0 2 6 34 10 0 5 16 1 1 10 0 52 0 0 2 33 15 0 18 2 48 0 5 1 11 0 52 4 0 1 32 146 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 12 0 52 0 0 2 33 15 0 18 2 48 0 5 1 11 0 52 4 0 1 32 105 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 13 0 52 0 0 2 33 58 0 18 2 48 0 5 18 0 48 0 1 14 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 15 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 1 16 0 18 4 48 0 52 4 0 2 32 21 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 17 0 52 0 0 2 33 19 0 18 2 48 0 5 1 18 0 18 4 48 0 52 4 0 2 32 232 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 19 0 52 0 0 2 33 19 0 18 2 48 0 5 1 20 0 18 4 48 0 52 4 0 2 32 187 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 21 0 52 0 0 2 33 47 0 18 2 48 0 5 18 0 48 0 1 22 0 52 0 0 2 33 14 0 1 23 0 18 5 48 0 52 4 0 2 32 11 0 1 23 0 18 4 48 0 52 4 0 2 32 114 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 24 0 52 0 0 2 33 12 0 18 2 48 0 5 18 6 49 0 32 76 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 25 0 52 0 0 2 33 15 0 18 2 48 0 5 1 26 0 52 4 0 1 32 35 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 27 0 52 0 0 2 33 15 0 18 2 48 0 5 1 26 0 52 4 0 1 32 250 4 16 0 1 6 0 52 0 0 2 6 33 24 0 5 16 1 1 28 0 52 0 0 2 6 34 10 0 5 16 1 1 29 0 52 0 0 2 33 15 0 18 2 48 0 5 1 30 0 52 4 0 1 32 195 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 31 0 52 0 0 2 33 15 0 18 2 48 0 5 1 32 0 52 4 0 1 32 154 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 33 0 52 0 0 2 33 29 0 18 2 48 0 5 1 35 0 52 34 0 1 1 32 0 52 4 0 1 1 33 0 52 4 0 3 32 99 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 36 0 52 0 0 2 33 29 0 18 2 48 0 5 1 35 0 52 34 0 1 1 32 0 52 4 0 1 1 36 0 52 4 0 3 32 44 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 37 0 52 0 0 2 33 19 0 18 2 48 0 5 18 7 1 26 0 52 4 0 1 49 1 32 255 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 38 0 52 0 0 2 33 19 0 18 2 48 0 5 18 7 1 30 0 52 4 0 1 49 1 32 210 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 39 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 40 0 49 1 32 169 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 41 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 42 0 49 1 32 128 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 43 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 44 0 49 1 32 87 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 45 0 52 0 0 2 33 15 0 18 2 48 0 5 18 9 1 46 0 49 1 32 46 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 47 0 52 0 0 2 33 15 0 18 2 48 0 5 18 9 1 48 0 49 1 32 5 3 16 0 1 49 0 52 0 0 2 33 24 0 18 2 48 0 5 1 50 0 1 52 0 16 1 52 51 0 2 52 4 0 2 32 225 2 16 0 1 53 0 52 0 0 2 33 17 0 18 2 48 0 5 1 50 0 16 1 52 4 0 2 32 196 2 16 0 1 54 0 52 0 0 2 33 24 0 18 2 48 0 5 1 55 0 16 1 1 26 0 52 4 0 1 52 4 0 3 32 160 2 16 0 1 56 0 52 0 0 2 33 24 0 18 2 48 0 5 1 57 0 16 1 1 26 0 52 4 0 1 52 4 0 3 32 124 2 16 0 1 58 0 52 0 0 2 33 17 0 18 2 48 0 5 1 59 0 16 1 52 4 0 2 32 95 2 16 0 1 60 0 52 0 0 2 33 24 0 18 2 48 0 5 1 50 0 1 35 0 16 1 52 51 0 2 52 4 0 2 32 59 2 16 0 1 61 0 52 0 0 2 33 17 0 18 2 48 0 5 1 62 0 16 1 52 4 0 2 32 30 2 16 0 1 22 0 52 0 0 2 33 39 0 18 2 48 0 5 18 4 48 0 17 2 18 0 48 0 1 63 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 2 32 235 1 16 0 1 64 0 52 0 0 2 33 41 0 18 2 48 0 5 51 65 0 0 10 0 0 0 2 0 1 0 4 1 2 17 2 5 1 66 0 16 2 52 4 0 0 48 1 52 4 0 2 32 182 1 16 0 1 14 0 52 0 0 2 6 33 10 0 5 16 1 1 67 0 52 0 0 2 33 49 0 18 2 48 0 5 51 68 0 0 0 0 1 0 11 0 12 0 2 1 3 17 3 5 16 3 52 4 0 0 48 1 17 4 1 69 0 16 4 18 4 48 0 52 4 0 3 32 107 1 16 0 1 70 0 52 0 0 2 33 12 0 18 2 48 0 5 18 13 49 0 32 83 1 16 0 1 14 0 52 0 0 2 6 33 10 0 5 16 1 1 71 0 52 0 0 2 33 26 0 18 2 48 0 5 18 14 48 0 17 4 1 72 0 1 73 0 16 4 52 4 0 3 32 31 1 16 0 1 74 0 52 0 0 2 33 17 0 18 2 48 0 5 1 75 0 16 1 52 4 0 2 32 2 1 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 76 0 52 0 0 2 33 149 0 18 2 48 0 5 18 0 48 0 1 61 0 52 0 0 2 6 33 54 0 5 18 12 52 78 0 1 18 11 1 80 0 52 79 0 2 52 77 0 2 6 33 30 0 5 18 12 18 11 1 80 0 52 79 0 2 52 82 0 2 1 83 0 52 81 0 2 1 84 0 52 0 0 2 33 51 0 18 1 48 0 17 4 18 2 48 0 5 18 15 1 84 0 48 1 5 18 4 48 0 17 5 18 15 1 85 0 48 1 5 1 86 0 16 4 16 5 18 4 48 0 52 4 0 4 32 18 0 1 18 0 1 20 0 18 4 48 0 52 4 0 2 52 4 0 2 32 83 0 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 87 0 52 0 0 2 33 56 0 18 2 48 0 5 18 1 48 0 17 4 18 2 48 0 5 18 15 1 84 0 48 1 5 18 4 48 0 17 5 18 15 1 85 0 48 1 5 1 88 0 16 4 16 5 18 4 48 0 52 4 0 4 32 1 0 2 50)} {:upvalue-count 8 :arity 1 :constants ("=" "op" "'s" "class" "paren-open" "list" call "bracket-open" ".." "bracket-close" array-slice array-index) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 14 0 18 2 48 0 5 18 3 16 0 49 1 32 74 1 18 0 48 0 1 3 0 52 0 0 2 33 9 0 18 4 16 0 49 1 32 51 1 18 0 48 0 1 4 0 52 0 0 2 33 20 0 18 5 48 0 17 1 1 6 0 16 0 16 1 52 5 0 3 32 17 1 18 0 48 0 1 7 0 52 0 0 2 33 1 1 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 8 0 52 0 0 2 33 53 0 18 2 48 0 5 18 6 48 0 17 1 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 10 0 16 0 2 16 1 52 5 0 4 49 1 32 166 0 18 6 48 0 17 1 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 8 0 52 0 0 2 33 92 0 18 2 48 0 5 18 0 48 0 1 9 0 52 0 0 2 33 24 0 18 2 48 0 5 18 7 1 10 0 16 0 16 1 2 52 5 0 4 49 1 32 46 0 18 6 48 0 17 2 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 10 0 16 0 16 1 16 2 52 5 0 4 49 1 32 38 0 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 11 0 16 0 16 1 52 5 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 7 :arity 1 :constants ("=" "op" "==" "!=" "<" ">" "<=" ">=" "===" "!==" "list" = strict-eq not "keyword" "is" "not" "empty" empty? "in" not-in? "between" "and" and >= <= "really" "equal" "to" "a" "an" "!" type-check-strict type-check "less" "than" "or" < "greater" > in? "ident" "hs-keyword?" prop-is "am" "exists" exists? "starts" "with" starts-with? "ends" ends-with? "matches" matches? "contains" contains? "as" "colon" as "str" ":" "of" "list?" "first" ref "make-symbol" "." "nth" 1 of "does" "exist" "match" "contain" "include" "includes" "equals" "precedes" precedes? "follows" follows?) :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 33 108 0 5 16 2 1 2 0 52 0 0 2 6 34 94 0 5 16 2 1 3 0 52 0 0 2 6 34 80 0 5 16 2 1 4 0 52 0 0 2 6 34 66 0 5 16 2 1 5 0 52 0 0 2 6 34 52 0 5 16 2 1 6 0 52 0 0 2 6 34 38 0 5 16 2 1 7 0 52 0 0 2 6 34 24 0 5 16 2 1 8 0 52 0 0 2 6 34 10 0 5 16 2 1 9 0 52 0 0 2 33 109 0 18 2 48 0 5 18 3 48 0 17 3 16 2 1 2 0 52 0 0 2 33 14 0 1 11 0 16 0 16 3 52 10 0 3 32 69 0 16 2 1 8 0 52 0 0 2 33 14 0 1 12 0 16 0 16 3 52 10 0 3 32 43 0 16 2 1 9 0 52 0 0 2 33 21 0 1 13 0 1 12 0 16 0 16 3 52 10 0 3 52 10 0 2 32 10 0 16 2 16 0 16 3 52 10 0 3 32 13 9 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 15 0 52 0 0 2 33 173 3 18 2 48 0 5 18 4 1 16 0 48 1 33 127 1 18 4 1 17 0 48 1 33 19 0 1 13 0 1 18 0 16 0 52 10 0 2 52 10 0 2 32 95 1 18 4 1 19 0 48 1 33 16 0 1 20 0 16 0 18 3 48 0 52 10 0 3 32 69 1 18 4 1 21 0 48 1 33 59 0 18 5 48 0 17 3 18 4 1 22 0 48 1 5 18 5 48 0 17 4 1 13 0 1 23 0 1 24 0 16 0 16 3 52 10 0 3 1 25 0 16 0 16 4 52 10 0 3 52 10 0 3 52 10 0 2 32 0 1 18 4 1 26 0 48 1 33 39 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 13 0 1 12 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 207 0 18 4 1 27 0 48 1 33 31 0 18 4 1 28 0 48 1 5 1 13 0 1 11 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 166 0 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 6 33 7 0 5 18 2 48 0 5 3 33 101 0 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 21 0 1 13 0 1 32 0 16 0 16 3 52 10 0 3 52 10 0 2 32 18 0 1 13 0 1 33 0 16 0 16 3 52 10 0 3 52 10 0 2 32 24 0 18 3 48 0 17 3 1 13 0 1 11 0 16 0 16 3 52 10 0 3 52 10 0 2 32 28 2 18 4 1 17 0 48 1 33 12 0 1 18 0 16 0 52 10 0 2 32 6 2 18 4 1 34 0 48 1 33 66 0 18 4 1 35 0 48 1 5 18 4 1 36 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 25 0 16 0 18 3 48 0 52 10 0 3 32 13 0 1 37 0 16 0 18 3 48 0 52 10 0 3 32 186 1 18 4 1 38 0 48 1 33 66 0 18 4 1 35 0 48 1 5 18 4 1 36 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 24 0 16 0 18 3 48 0 52 10 0 3 32 13 0 1 39 0 16 0 18 3 48 0 52 10 0 3 32 110 1 18 4 1 21 0 48 1 33 52 0 18 5 48 0 17 3 18 4 1 22 0 48 1 5 18 5 48 0 17 4 1 23 0 1 24 0 16 0 16 3 52 10 0 3 1 25 0 16 0 16 4 52 10 0 3 52 10 0 3 32 48 1 18 4 1 19 0 48 1 33 16 0 1 40 0 16 0 18 3 48 0 52 10 0 3 32 22 1 18 4 1 26 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 12 0 16 0 18 3 48 0 52 10 0 3 32 236 0 18 4 1 27 0 48 1 33 24 0 18 4 1 28 0 48 1 5 1 11 0 16 0 18 3 48 0 52 10 0 3 32 202 0 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 6 33 7 0 5 18 2 48 0 5 3 33 87 0 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 14 0 1 32 0 16 0 16 3 52 10 0 3 32 11 0 1 33 0 16 0 16 3 52 10 0 3 32 74 0 18 0 48 0 1 41 0 52 0 0 2 6 33 14 0 5 20 42 0 18 1 48 0 48 1 52 16 0 1 33 25 0 18 1 48 0 17 3 18 2 48 0 5 1 43 0 16 0 16 3 52 10 0 3 32 17 0 18 3 48 0 17 3 1 11 0 16 0 16 3 52 10 0 3 32 70 5 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 44 0 52 0 0 2 33 165 0 18 2 48 0 5 18 4 1 16 0 48 1 33 82 0 18 4 1 19 0 48 1 33 16 0 1 20 0 16 0 18 3 48 0 52 10 0 3 32 53 0 18 4 1 17 0 48 1 33 19 0 1 13 0 1 18 0 16 0 52 10 0 2 52 10 0 2 32 24 0 18 3 48 0 17 3 1 13 0 1 11 0 16 0 16 3 52 10 0 3 52 10 0 2 32 65 0 18 4 1 19 0 48 1 33 16 0 1 40 0 16 0 18 3 48 0 52 10 0 3 32 39 0 18 4 1 17 0 48 1 33 12 0 1 18 0 16 0 52 10 0 2 32 17 0 18 3 48 0 17 3 1 11 0 16 0 16 3 52 10 0 3 32 135 4 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 45 0 52 0 0 2 33 17 0 18 2 48 0 5 1 46 0 16 0 52 10 0 2 32 92 4 16 1 1 14 0 52 0 0 2 6 34 10 0 5 16 1 1 41 0 52 0 0 2 6 33 10 0 5 16 2 1 47 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 48 0 48 1 5 1 49 0 16 0 18 3 48 0 52 10 0 3 32 23 4 16 1 1 14 0 52 0 0 2 6 34 10 0 5 16 1 1 41 0 52 0 0 2 6 33 10 0 5 16 2 1 50 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 48 0 48 1 5 1 51 0 16 0 18 3 48 0 52 10 0 3 32 210 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 52 0 52 0 0 2 33 21 0 18 2 48 0 5 1 53 0 16 0 18 3 48 0 52 10 0 3 32 163 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 54 0 52 0 0 2 33 21 0 18 2 48 0 5 1 55 0 16 0 18 3 48 0 52 10 0 3 32 116 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 56 0 52 0 0 2 33 135 0 18 2 48 0 5 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 57 0 52 0 0 2 6 33 9 0 5 18 6 48 0 52 16 0 1 33 39 0 18 2 48 0 5 18 1 48 0 17 4 18 2 48 0 5 1 58 0 16 0 16 3 1 60 0 16 4 52 59 0 3 52 10 0 3 32 11 0 1 58 0 16 0 16 3 52 10 0 3 32 211 2 16 1 1 57 0 52 0 0 2 33 92 0 18 2 48 0 5 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 14 0 1 32 0 16 0 16 3 52 10 0 3 32 11 0 1 33 0 16 0 16 3 52 10 0 3 32 107 2 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 61 0 52 0 0 2 33 77 0 18 2 48 0 5 18 3 48 0 17 3 16 0 52 62 0 1 6 33 14 0 5 16 0 52 63 0 1 1 64 0 52 0 0 2 33 25 0 1 66 0 52 65 0 1 16 3 16 0 1 68 0 52 67 0 2 52 10 0 3 32 11 0 1 69 0 16 0 16 3 52 10 0 3 32 4 2 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 19 0 52 0 0 2 33 21 0 18 2 48 0 5 1 40 0 16 0 18 3 48 0 52 10 0 3 32 213 1 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 70 0 52 0 0 2 33 170 0 18 2 48 0 5 18 4 1 16 0 48 1 5 18 4 1 71 0 48 1 33 19 0 1 13 0 1 46 0 16 0 52 10 0 2 52 10 0 2 32 125 0 18 4 1 72 0 48 1 33 23 0 1 13 0 1 53 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 92 0 18 4 1 73 0 48 1 6 34 8 0 5 18 4 1 54 0 48 1 33 23 0 1 13 0 1 55 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 47 0 18 4 1 74 0 48 1 6 34 8 0 5 18 4 1 75 0 48 1 33 23 0 1 13 0 1 55 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 2 0 16 0 32 17 1 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 76 0 52 0 0 2 33 21 0 18 2 48 0 5 1 11 0 16 0 18 3 48 0 52 10 0 3 32 226 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 26 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 76 0 48 1 5 1 12 0 16 0 18 3 48 0 52 10 0 3 32 171 0 16 1 1 14 0 52 0 0 2 6 33 38 0 5 16 2 1 73 0 52 0 0 2 6 34 24 0 5 16 2 1 74 0 52 0 0 2 6 34 10 0 5 16 2 1 75 0 52 0 0 2 33 21 0 18 2 48 0 5 1 55 0 16 0 18 3 48 0 52 10 0 3 32 96 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 77 0 52 0 0 2 33 21 0 18 2 48 0 5 1 78 0 16 0 18 5 48 0 52 10 0 3 32 49 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 79 0 52 0 0 2 33 21 0 18 2 48 0 5 1 80 0 16 0 18 5 48 0 52 10 0 3 32 2 0 16 0 50)} {:upvalue-count 6 :arity 1 :constants ("where" "list" coll-where "sorted" "by" "descending" "not" "ascending" coll-sorted-desc coll-sorted "mapped" "to" coll-mapped "split" coll-split "joined" coll-joined) :bytecode (18 0 1 0 0 48 1 33 36 0 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 2 0 16 0 16 1 52 1 0 3 49 1 32 11 1 18 0 1 3 0 48 1 33 93 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 0 1 5 0 48 1 17 2 16 2 52 6 0 1 33 10 0 18 0 1 7 0 48 1 32 1 0 2 5 18 5 16 2 33 14 0 1 8 0 16 0 16 1 52 1 0 3 32 11 0 1 9 0 16 0 16 1 52 1 0 3 49 1 32 164 0 18 0 1 10 0 48 1 33 44 0 18 0 1 11 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 12 0 16 0 16 1 52 1 0 3 49 1 32 110 0 18 0 1 13 0 48 1 33 44 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 14 0 16 0 16 1 52 1 0 3 49 1 32 56 0 18 0 1 15 0 48 1 33 44 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 16 0 16 0 16 1 52 1 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 7 :arity 1 :constants ("and" "list" and "or" or) :bytecode (18 0 1 0 0 48 1 33 40 0 18 1 18 2 18 3 18 4 18 5 48 0 48 1 48 1 48 1 48 1 17 1 18 6 1 2 0 16 0 16 1 52 1 0 3 49 1 32 52 0 18 0 1 3 0 48 1 33 40 0 18 1 18 2 18 3 18 4 18 5 48 0 48 1 48 1 48 1 48 1 17 1 18 6 1 4 0 16 0 16 1 52 1 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 9 :arity 0 :constants ("nil?" "number?" "=" "ident" "list" string-postfix "not" "then" "end" "else" "otherwise" "op" "%") :bytecode (18 0 48 0 17 0 16 0 52 0 0 1 33 4 0 2 32 242 0 16 0 52 1 0 1 6 33 12 0 5 18 1 48 0 1 3 0 52 2 0 2 33 27 0 18 2 48 0 17 1 18 3 48 0 5 1 5 0 16 0 16 1 52 4 0 3 17 0 32 1 0 2 5 18 4 16 0 48 1 17 1 18 5 16 1 48 1 17 2 18 6 16 2 48 1 17 3 18 7 16 3 48 1 17 4 18 8 16 4 48 1 17 5 16 5 6 33 112 0 5 18 1 48 0 1 3 0 52 2 0 2 6 33 64 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 10 0 52 2 0 2 52 6 0 1 6 34 28 0 5 18 1 48 0 1 11 0 52 2 0 2 6 33 12 0 5 18 2 48 0 1 12 0 52 2 0 2 33 25 0 18 2 48 0 17 6 18 3 48 0 5 1 5 0 16 5 16 6 52 4 0 3 32 2 0 16 5 50)} {:upvalue-count 2 :arity 2 :constants () :bytecode (18 0 16 0 48 1 33 7 0 18 1 49 0 32 2 0 16 1 50)} {:upvalue-count 3 :arity 0 :constants ("=" "class" "get" "value" "list" {:upvalue-count 4 :arity 0 :constants ("=" "class" "append" "list" "get" "value") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 31 0 18 1 18 2 48 0 1 5 0 52 4 0 2 52 3 0 1 52 2 0 2 19 1 5 18 3 49 0 32 1 0 2 50)} "to" me "empty?" add-class "cons" multi-add-class) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 101 0 18 1 48 0 1 3 0 52 2 0 2 17 0 52 4 0 0 17 1 51 5 0 0 0 1 1 0 1 1 2 17 2 5 16 2 48 0 5 18 2 1 6 0 1 7 0 52 4 0 1 48 2 17 3 16 1 52 8 0 1 33 14 0 1 9 0 16 0 16 3 52 4 0 3 32 21 0 1 11 0 16 3 16 0 16 1 52 10 0 2 52 10 0 2 52 10 0 2 32 1 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("=" "class" "get" "value" "list" {:upvalue-count 4 :arity 0 :constants ("=" "class" "append" "list" "get" "value") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 31 0 18 1 18 2 48 0 1 5 0 52 4 0 2 52 3 0 1 52 2 0 2 19 1 5 18 3 49 0 32 1 0 2 50)} "from" me "empty?" remove-class "cons" multi-remove-class) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 101 0 18 1 48 0 1 3 0 52 2 0 2 17 0 52 4 0 0 17 1 51 5 0 0 0 1 1 0 1 1 2 17 2 5 16 2 48 0 5 18 2 1 6 0 1 7 0 52 4 0 1 48 2 17 3 16 1 52 8 0 1 33 14 0 1 9 0 16 0 16 3 52 4 0 3 32 21 0 1 11 0 16 3 16 0 16 1 52 10 0 2 52 10 0 2 52 10 0 2 32 1 0 2 50)} {:upvalue-count 7 :arity 0 :constants ("between" "=" "class" "and" "on" "list" me toggle-between toggle-class "style" toggle-style-between toggle-style "attr" toggle-attr-between toggle-attr) :bytecode (18 0 1 0 0 48 1 33 106 0 18 1 48 0 1 2 0 52 1 0 2 33 88 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 4 1 3 0 48 1 5 18 1 48 0 1 2 0 52 1 0 2 33 47 0 18 2 48 0 17 1 18 3 48 0 5 16 1 17 1 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 2 1 7 0 16 0 16 1 16 2 52 5 0 4 32 1 0 2 32 1 0 2 32 50 1 18 1 48 0 1 2 0 52 1 0 2 33 45 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 8 0 16 0 16 1 52 5 0 3 32 247 0 18 1 48 0 1 9 0 52 1 0 2 33 109 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 0 1 0 0 48 1 33 54 0 18 6 48 0 17 1 18 4 1 3 0 48 1 5 18 6 48 0 17 2 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 3 1 10 0 16 0 16 1 16 2 16 3 52 5 0 5 32 27 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 11 0 16 0 16 1 52 5 0 3 32 124 0 18 1 48 0 1 12 0 52 1 0 2 33 109 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 0 1 0 0 48 1 33 54 0 18 6 48 0 17 1 18 4 1 3 0 48 1 5 18 6 48 0 17 2 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 3 1 13 0 16 0 16 1 16 2 16 3 52 5 0 5 32 27 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 14 0 16 0 16 1 52 5 0 3 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" set!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 4 :arity 0 :constants ("into" "list" set! "before" put! "after" "at" "start" "of" "end" "error" "str" "Expected start/end after at, position " "Expected into/before/after/at at position ") :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 16 0 1 2 0 18 0 48 0 16 0 52 1 0 3 32 171 0 18 1 1 3 0 48 1 33 19 0 1 4 0 16 0 1 3 0 18 0 48 0 52 1 0 4 32 142 0 18 1 1 5 0 48 1 33 19 0 1 4 0 16 0 1 5 0 18 0 48 0 52 1 0 4 32 113 0 18 1 1 6 0 48 1 33 90 0 18 1 1 7 0 48 1 33 27 0 18 2 1 8 0 48 1 5 1 4 0 16 0 1 7 0 18 0 48 0 52 1 0 4 32 50 0 18 1 1 9 0 48 1 33 27 0 18 2 1 8 0 48 1 5 1 4 0 16 0 1 9 0 18 0 48 0 52 1 0 4 32 13 0 1 12 0 18 3 52 11 0 2 52 10 0 1 32 13 0 1 13 0 18 3 52 11 0 2 52 10 0 1 50)} {:upvalue-count 3 :arity 0 :constants ("else" "otherwise" "end" "list" if) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 18 2 1 0 0 48 1 6 34 8 0 5 18 2 1 1 0 48 1 33 7 0 18 1 48 0 32 1 0 2 17 2 18 2 1 2 0 48 1 5 16 2 33 16 0 1 4 0 16 0 16 1 16 2 52 3 0 4 32 11 0 1 4 0 16 0 16 1 52 3 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("for" "from" "list" wait-for "=" "number" wait "get" "value" 0) :bytecode (18 0 1 0 0 48 1 33 65 0 18 1 48 0 17 0 18 2 48 0 5 18 0 1 1 0 48 1 33 7 0 18 3 48 0 32 1 0 2 17 1 16 1 33 17 0 1 3 0 16 0 1 1 0 16 1 52 2 0 4 32 9 0 1 3 0 16 0 52 2 0 2 32 53 0 18 4 48 0 1 5 0 52 4 0 2 33 29 0 18 2 48 0 17 0 1 6 0 18 5 16 0 1 8 0 52 7 0 2 48 1 52 2 0 2 32 10 0 1 6 0 1 9 0 52 2 0 2 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "paren-close" "get" "value" "colon" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 83 0 18 2 48 0 1 3 0 52 2 0 2 17 1 18 0 48 0 1 4 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 3 48 0 17 2 18 0 48 0 1 5 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 16 2 52 7 0 2 52 6 0 2 49 1 50)} "cons" dict "list") :bytecode (18 0 48 0 5 51 0 0 0 1 0 2 0 0 0 3 1 0 17 0 5 1 2 0 16 0 52 3 0 0 48 1 52 1 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("get" "value" "=" "paren-open" "to" "list" me send) :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 1 3 0 52 2 0 2 33 7 0 18 2 48 0 32 1 0 2 17 1 18 3 1 4 0 1 6 0 52 5 0 1 48 2 17 2 16 1 33 16 0 1 7 0 16 0 16 1 16 2 52 5 0 4 32 11 0 1 7 0 16 0 16 2 52 5 0 3 50)} {:upvalue-count 2 :arity 0 :constants ("get" "value" "on" "list" me trigger) :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 1 2 0 1 4 0 52 3 0 1 48 2 17 1 1 5 0 16 0 16 1 52 3 0 3 50)} {:upvalue-count 1 :arity 0 :constants ("list" log) :bytecode (1 1 0 18 0 48 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("by" 1 "on" "list" me increment!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 7 0 18 0 48 0 32 3 0 1 1 0 17 1 18 2 1 2 0 1 4 0 52 3 0 1 48 2 17 2 1 5 0 16 0 16 1 16 2 52 3 0 4 50)} {:upvalue-count 3 :arity 0 :constants ("by" 1 "on" "list" me decrement!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 7 0 18 0 48 0 32 3 0 1 1 0 17 1 18 2 1 2 0 1 4 0 52 3 0 1 48 2 17 2 1 5 0 16 0 16 1 16 2 52 3 0 4 50)} {:upvalue-count 6 :arity 0 :constants ("list" me "=" "keyword" "then" "end" "with" "add" "remove" "set" "put" "toggle" "hide" "show" "display" hide) :bytecode (18 0 48 0 33 10 0 1 1 0 52 0 0 1 32 188 0 18 1 48 0 1 3 0 52 2 0 2 6 33 156 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 140 0 5 18 2 48 0 1 5 0 52 2 0 2 6 34 124 0 5 18 2 48 0 1 6 0 52 2 0 2 6 34 108 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 92 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 76 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 60 0 5 18 2 48 0 1 10 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 11 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 12 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 13 0 52 2 0 2 33 10 0 1 1 0 52 0 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 29 0 18 0 48 0 33 6 0 1 14 0 32 13 0 18 2 48 0 17 1 18 5 48 0 5 16 1 32 3 0 1 14 0 17 1 1 15 0 16 0 16 1 52 0 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("list" me "=" "keyword" "then" "end" "with" "add" "remove" "set" "put" "toggle" "hide" "show" "display" show) :bytecode (18 0 48 0 33 10 0 1 1 0 52 0 0 1 32 188 0 18 1 48 0 1 3 0 52 2 0 2 6 33 156 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 140 0 5 18 2 48 0 1 5 0 52 2 0 2 6 34 124 0 5 18 2 48 0 1 6 0 52 2 0 2 6 34 108 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 92 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 76 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 60 0 5 18 2 48 0 1 10 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 11 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 12 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 13 0 52 2 0 2 33 10 0 1 1 0 52 0 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 29 0 18 0 48 0 33 6 0 1 14 0 32 13 0 18 2 48 0 17 1 18 5 48 0 5 16 1 32 3 0 1 14 0 17 1 1 15 0 16 0 16 1 52 0 0 3 50)} {:upvalue-count 7 :arity 0 :constants ("get" "value" "to" "over" "=" "number" 400 "on" "list" me transition) :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 1 2 0 48 1 5 18 2 48 0 17 1 18 3 1 3 0 48 1 33 38 0 18 4 48 0 1 5 0 52 4 0 2 33 18 0 18 5 18 0 48 0 1 1 0 52 0 0 2 48 1 32 3 0 1 6 0 32 1 0 2 17 2 18 6 1 7 0 1 9 0 52 8 0 1 48 2 17 3 16 2 33 18 0 1 10 0 16 0 16 1 16 2 16 3 52 8 0 5 32 13 0 1 10 0 16 0 16 1 16 3 52 8 0 4 50)} {:upvalue-count 7 :arity 0 :constants ("=" "keyword" "for" "in" "end" "list" for "it" "forever" forever "while" while "until" until "times" times repeat) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 12 0 18 2 48 0 5 18 3 49 0 32 203 0 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 3 0 52 0 0 2 33 43 0 18 2 48 0 5 18 4 48 0 17 0 18 5 48 0 17 1 18 6 1 4 0 48 1 5 1 6 0 1 7 0 16 0 2 16 1 52 5 0 5 32 130 0 18 6 1 8 0 48 1 33 10 0 1 9 0 52 5 0 1 32 83 0 18 6 1 10 0 48 1 33 14 0 1 11 0 18 4 48 0 52 5 0 2 32 59 0 18 6 1 12 0 48 1 33 14 0 1 13 0 18 4 48 0 52 5 0 2 32 35 0 18 4 48 0 17 0 18 6 1 14 0 48 1 33 12 0 1 15 0 16 0 52 5 0 2 32 7 0 1 9 0 52 5 0 1 17 0 18 5 48 0 17 1 18 6 1 4 0 48 1 5 1 16 0 16 0 16 1 52 5 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("nil?" "as" "json" "list" fetch) :bytecode (18 0 48 0 17 0 16 0 52 0 0 1 33 5 0 16 0 32 10 0 18 1 18 2 16 0 48 1 48 1 17 1 18 3 1 1 0 48 1 33 16 0 18 4 48 0 17 2 18 5 48 0 5 16 2 32 3 0 1 2 0 17 2 1 4 0 16 1 16 2 52 3 0 3 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "paren-close" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 45 0 18 3 48 0 17 1 18 0 48 0 1 2 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 52 4 0 1 52 3 0 2 49 1 50)} "list") :bytecode (18 0 48 0 5 51 0 0 0 1 0 2 0 0 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 3 :arity 0 :constants ("get" "value" "=" "paren-open" "cons" call "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 1 3 0 52 2 0 2 33 24 0 18 2 48 0 17 1 1 5 0 16 0 16 1 52 4 0 2 52 4 0 2 32 9 0 1 5 0 16 0 52 6 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("=" "class" "from" "for" "list" take! "attr") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 74 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 3 1 2 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 1 18 3 1 3 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 2 1 5 0 1 1 0 16 0 16 1 16 2 52 4 0 5 32 89 0 18 0 48 0 1 6 0 52 0 0 2 33 74 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 3 1 2 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 1 18 3 1 3 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 2 1 5 0 1 6 0 16 0 16 1 16 2 52 4 0 5 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" go) :bytecode (18 0 1 0 0 48 1 5 1 2 0 18 1 48 0 52 1 0 2 50)} {:upvalue-count 6 :arity 1 :constants ("=" "op" "+" "-" "*" "/" "%" "keyword" "mod" + - * / "make-symbol" "nil?" "list") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 33 66 0 5 16 2 1 2 0 52 0 0 2 6 34 52 0 5 16 2 1 3 0 52 0 0 2 6 34 38 0 5 16 2 1 4 0 52 0 0 2 6 34 24 0 5 16 2 1 5 0 52 0 0 2 6 34 10 0 5 16 2 1 6 0 52 0 0 2 6 34 24 0 5 16 1 1 7 0 52 0 0 2 6 33 10 0 5 16 2 1 8 0 52 0 0 2 33 161 0 18 2 48 0 5 16 2 1 2 0 52 0 0 2 33 6 0 1 9 0 32 91 0 16 2 1 3 0 52 0 0 2 33 6 0 1 10 0 32 73 0 16 2 1 4 0 52 0 0 2 33 6 0 1 11 0 32 55 0 16 2 1 5 0 52 0 0 2 33 6 0 1 12 0 32 37 0 16 2 1 6 0 52 0 0 2 6 34 10 0 5 16 2 1 8 0 52 0 0 2 33 10 0 1 6 0 52 13 0 1 32 1 0 2 17 3 18 3 48 0 17 4 16 4 52 14 0 1 33 5 0 16 4 32 6 0 18 4 16 4 48 1 17 4 18 5 16 3 16 0 16 4 52 15 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 8 :arity 0 :constants ("=" "ident" "keyword" "of" "list" "make-symbol" "." "result" it "first" first "last" last "closest" closest "next" next "previous" previous ref) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 6 34 10 0 5 16 0 1 2 0 52 0 0 2 33 179 0 18 2 48 0 5 18 3 1 3 0 48 1 33 20 0 1 6 0 52 5 0 1 18 4 48 0 16 1 52 4 0 3 32 141 0 16 1 1 7 0 52 0 0 2 33 10 0 1 8 0 52 4 0 1 32 119 0 16 1 1 9 0 52 0 0 2 33 10 0 18 5 1 10 0 49 1 32 97 0 16 1 1 11 0 52 0 0 2 33 10 0 18 5 1 12 0 49 1 32 75 0 16 1 1 13 0 52 0 0 2 33 10 0 18 6 1 14 0 49 1 32 53 0 16 1 1 15 0 52 0 0 2 33 10 0 18 6 1 16 0 49 1 32 31 0 16 1 1 17 0 52 0 0 2 33 10 0 18 6 1 18 0 49 1 32 9 0 1 19 0 16 1 52 4 0 2 32 4 0 18 7 49 0 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "bracket-close" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 45 0 18 3 48 0 17 1 18 0 48 0 1 2 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 52 4 0 1 52 3 0 2 49 1 50)} "cons" array "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 1 2 0 16 0 52 3 0 0 48 1 52 1 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "end" "then" "else" "list" return) :bytecode (18 0 48 0 6 34 60 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 44 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 28 0 5 18 2 48 0 1 3 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 4 0 52 0 0 2 33 11 0 1 6 0 2 52 5 0 2 32 11 0 1 6 0 18 3 48 0 52 5 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("list" throw) :bytecode (1 1 0 18 0 48 0 52 0 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" append!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 3 :arity 0 :constants ("end" "list" tell) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 18 2 1 0 0 48 1 5 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("in" "index" "end" "list" for) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 1 0 0 48 1 5 18 3 48 0 17 1 18 4 1 1 0 48 1 33 16 0 18 0 48 0 17 2 18 1 48 0 5 16 2 32 1 0 2 17 2 18 5 48 0 17 3 18 4 1 2 0 48 1 5 16 2 33 21 0 1 4 0 16 0 16 1 16 3 1 1 0 16 2 52 3 0 6 32 13 0 1 4 0 16 0 16 1 16 3 52 3 0 4 50)} {:upvalue-count 3 :arity 0 :constants ("=" "a" "called" "list" make) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 1 48 0 32 1 0 2 5 18 0 48 0 17 0 18 1 48 0 5 18 2 1 2 0 48 1 33 16 0 18 0 48 0 17 1 18 1 48 0 5 16 1 32 1 0 2 17 1 16 1 33 14 0 1 4 0 16 0 16 1 52 3 0 3 32 9 0 1 4 0 16 0 52 3 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "paren-open" "cons" install "list") :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 1 1 0 52 0 0 2 33 24 0 18 3 48 0 17 1 1 3 0 16 0 16 1 52 2 0 2 52 2 0 2 32 9 0 1 3 0 16 0 52 4 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("list" measure "nil?" me) :bytecode (18 0 48 0 17 0 1 1 0 16 0 52 2 0 1 33 10 0 1 3 0 52 0 0 1 32 2 0 16 0 52 0 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("=" "keyword" "then" "end" "list" me "top" "bottom" "left" "right" scroll!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 6 0 1 6 0 32 51 0 18 4 1 7 0 48 1 33 6 0 1 7 0 32 35 0 18 4 1 8 0 48 1 33 6 0 1 8 0 32 19 0 18 4 1 9 0 48 1 33 6 0 1 9 0 32 3 0 1 6 0 17 1 1 10 0 16 0 16 1 52 4 0 3 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "then" "end" "list" me select!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 1 6 0 16 0 52 4 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "then" "end" "list" me reset!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 1 6 0 16 0 52 4 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" default!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 1 :arity 0 :constants ("the" "event" "default" "list" halt!) :bytecode (18 0 1 0 0 48 1 6 33 20 0 5 18 0 1 1 0 48 1 6 34 8 0 5 18 0 1 2 0 48 1 17 0 1 4 0 16 0 33 6 0 1 1 0 32 3 0 1 2 0 52 3 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("=" "paren-open" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 1 49 0 32 4 0 52 2 0 0 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "keyword" "end" "nil?" "append" "list") :bytecode (18 0 48 0 6 34 28 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 2 48 0 1 2 0 52 0 0 2 33 5 0 16 0 32 36 0 18 3 48 0 17 1 16 1 52 3 0 1 33 5 0 16 0 32 16 0 18 4 16 0 16 1 52 5 0 1 52 4 0 2 49 1 50)} "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 5 :arity 0 :constants ("end" "list" def) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 17 1 18 3 48 0 17 2 18 4 1 0 0 48 1 5 1 2 0 16 0 16 1 16 2 52 1 0 4 50)} {:upvalue-count 5 :arity 0 :constants ("end" "list" behavior) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 17 1 18 3 48 0 17 2 18 4 1 0 0 48 1 5 1 2 0 16 0 16 1 16 2 52 1 0 4 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "local" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 38 0 18 1 48 0 17 1 18 2 48 0 5 18 3 48 0 17 2 18 4 16 0 16 1 16 2 52 3 0 2 52 2 0 2 49 1 32 2 0 16 0 50)} "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 6 :arity 0 :constants ("=" "component" "paren-open" "paren-close" "into" "before" "after" "list" render) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 16 0 18 1 48 0 17 0 18 2 48 0 5 16 0 32 66 0 18 0 48 0 1 2 0 52 0 0 2 33 39 0 18 2 48 0 5 18 3 48 0 17 0 18 0 48 0 1 3 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 13 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 4 48 0 17 1 18 5 1 4 0 48 1 33 6 0 1 4 0 32 33 0 18 5 1 5 0 48 1 33 6 0 1 5 0 32 17 0 18 5 1 6 0 48 1 33 6 0 1 6 0 32 1 0 2 17 2 16 2 33 7 0 18 3 48 0 32 1 0 2 17 3 16 2 33 18 0 1 8 0 16 0 16 1 16 2 16 3 52 7 0 5 32 11 0 1 8 0 16 0 16 1 52 7 0 3 50)} {:upvalue-count 5 :arity 0 :constants ("get" "pos" {:upvalue-count 6 :arity 1 :constants ("=" "paren-open" "+" 1 "paren-close" 0 "get" "pos" "-") :bytecode (18 0 48 0 33 5 0 18 1 32 123 0 18 2 48 0 1 1 0 52 0 0 2 33 21 0 18 3 48 0 5 18 4 16 0 1 3 0 52 2 0 2 49 1 32 88 0 18 2 48 0 1 4 0 52 0 0 2 33 63 0 16 0 1 5 0 52 0 0 2 33 30 0 18 5 48 0 1 7 0 52 6 0 2 1 3 0 52 2 0 2 17 1 18 3 48 0 5 16 1 32 18 0 18 3 48 0 5 18 4 16 0 1 3 0 52 8 0 2 49 1 32 11 0 18 3 48 0 5 18 4 16 0 49 1 50)} 0 "substring") :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 5 51 2 0 0 2 1 0 0 3 0 1 1 1 0 0 17 1 5 16 1 1 3 0 48 1 17 2 18 4 16 0 16 2 52 4 0 3 50)} {:upvalue-count 38 :arity 0 :constants ("=" "keyword" "catch" "finally" "end" "else" "otherwise" "add" "remove" "toggle" "set" "put" "if" "wait" "send" "trigger" "log" "increment" "decrement" "hide" "show" "transition" "repeat" "fetch" "call" "take" "settle" "list" settle "go" "return" "throw" "append" "tell" "for" "make" "install" "measure" "render" "scroll" "select" "reset" "default" "halt") :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 6 33 66 0 5 16 1 1 2 0 52 0 0 2 6 34 52 0 5 16 1 1 3 0 52 0 0 2 6 34 38 0 5 16 1 1 4 0 52 0 0 2 6 34 24 0 5 16 1 1 5 0 52 0 0 2 6 34 10 0 5 16 1 1 6 0 52 0 0 2 33 4 0 2 32 57 5 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 7 0 52 0 0 2 33 12 0 18 2 48 0 5 18 3 49 0 32 19 5 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 8 0 52 0 0 2 33 12 0 18 2 48 0 5 18 4 49 0 32 237 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 9 0 52 0 0 2 33 12 0 18 2 48 0 5 18 5 49 0 32 199 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 10 0 52 0 0 2 33 12 0 18 2 48 0 5 18 6 49 0 32 161 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 11 0 52 0 0 2 33 12 0 18 2 48 0 5 18 7 49 0 32 123 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 12 0 52 0 0 2 33 12 0 18 2 48 0 5 18 8 49 0 32 85 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 13 0 52 0 0 2 33 12 0 18 2 48 0 5 18 9 49 0 32 47 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 14 0 52 0 0 2 33 12 0 18 2 48 0 5 18 10 49 0 32 9 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 15 0 52 0 0 2 33 12 0 18 2 48 0 5 18 11 49 0 32 227 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 16 0 52 0 0 2 33 12 0 18 2 48 0 5 18 12 49 0 32 189 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 17 0 52 0 0 2 33 12 0 18 2 48 0 5 18 13 49 0 32 151 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 18 0 52 0 0 2 33 12 0 18 2 48 0 5 18 14 49 0 32 113 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 19 0 52 0 0 2 33 12 0 18 2 48 0 5 18 15 49 0 32 75 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 20 0 52 0 0 2 33 12 0 18 2 48 0 5 18 16 49 0 32 37 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 21 0 52 0 0 2 33 12 0 18 2 48 0 5 18 17 49 0 32 255 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 22 0 52 0 0 2 33 12 0 18 2 48 0 5 18 18 49 0 32 217 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 23 0 52 0 0 2 33 12 0 18 2 48 0 5 18 19 49 0 32 179 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 24 0 52 0 0 2 33 12 0 18 2 48 0 5 18 20 49 0 32 141 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 25 0 52 0 0 2 33 12 0 18 2 48 0 5 18 21 49 0 32 103 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 26 0 52 0 0 2 33 15 0 18 2 48 0 5 1 28 0 52 27 0 1 32 62 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 29 0 52 0 0 2 33 12 0 18 2 48 0 5 18 22 49 0 32 24 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 30 0 52 0 0 2 33 12 0 18 2 48 0 5 18 23 49 0 32 242 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 31 0 52 0 0 2 33 12 0 18 2 48 0 5 18 24 49 0 32 204 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 32 0 52 0 0 2 33 12 0 18 2 48 0 5 18 25 49 0 32 166 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 33 0 52 0 0 2 33 12 0 18 2 48 0 5 18 26 49 0 32 128 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 34 0 52 0 0 2 33 12 0 18 2 48 0 5 18 27 49 0 32 90 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 35 0 52 0 0 2 33 12 0 18 2 48 0 5 18 28 49 0 32 52 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 36 0 52 0 0 2 33 12 0 18 2 48 0 5 18 29 49 0 32 14 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 37 0 52 0 0 2 33 12 0 18 2 48 0 5 18 30 49 0 32 232 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 38 0 52 0 0 2 33 12 0 18 2 48 0 5 18 31 49 0 32 194 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 39 0 52 0 0 2 33 12 0 18 2 48 0 5 18 32 49 0 32 156 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 40 0 52 0 0 2 33 12 0 18 2 48 0 5 18 33 49 0 32 118 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 41 0 52 0 0 2 33 12 0 18 2 48 0 5 18 34 49 0 32 80 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 42 0 52 0 0 2 33 12 0 18 2 48 0 5 18 35 49 0 32 42 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 43 0 52 0 0 2 33 12 0 18 2 48 0 5 18 36 49 0 32 4 0 18 37 49 0 50)} {:upvalue-count 5 :arity 2 :constants ({:upvalue-count 0 :arity 1 :constants ("=" "add" "remove" "toggle" "set" "put" "if" "wait" "send" "trigger" "log" "increment" "decrement" "hide" "show" "transition" "repeat" "fetch" "call" "take" "settle" "go" "return" "throw" "append" "tell" "for" "make" "install" "measure" "render" "halt" "default" "scroll" "select" "reset") :bytecode (16 0 1 1 0 52 0 0 2 6 34 216 1 5 16 0 1 2 0 52 0 0 2 6 34 202 1 5 16 0 1 3 0 52 0 0 2 6 34 188 1 5 16 0 1 4 0 52 0 0 2 6 34 174 1 5 16 0 1 5 0 52 0 0 2 6 34 160 1 5 16 0 1 6 0 52 0 0 2 6 34 146 1 5 16 0 1 7 0 52 0 0 2 6 34 132 1 5 16 0 1 8 0 52 0 0 2 6 34 118 1 5 16 0 1 9 0 52 0 0 2 6 34 104 1 5 16 0 1 10 0 52 0 0 2 6 34 90 1 5 16 0 1 11 0 52 0 0 2 6 34 76 1 5 16 0 1 12 0 52 0 0 2 6 34 62 1 5 16 0 1 13 0 52 0 0 2 6 34 48 1 5 16 0 1 14 0 52 0 0 2 6 34 34 1 5 16 0 1 15 0 52 0 0 2 6 34 20 1 5 16 0 1 16 0 52 0 0 2 6 34 6 1 5 16 0 1 17 0 52 0 0 2 6 34 248 0 5 16 0 1 18 0 52 0 0 2 6 34 234 0 5 16 0 1 19 0 52 0 0 2 6 34 220 0 5 16 0 1 20 0 52 0 0 2 6 34 206 0 5 16 0 1 21 0 52 0 0 2 6 34 192 0 5 16 0 1 22 0 52 0 0 2 6 34 178 0 5 16 0 1 23 0 52 0 0 2 6 34 164 0 5 16 0 1 24 0 52 0 0 2 6 34 150 0 5 16 0 1 25 0 52 0 0 2 6 34 136 0 5 16 0 1 26 0 52 0 0 2 6 34 122 0 5 16 0 1 27 0 52 0 0 2 6 34 108 0 5 16 0 1 28 0 52 0 0 2 6 34 94 0 5 16 0 1 29 0 52 0 0 2 6 34 80 0 5 16 0 1 30 0 52 0 0 2 6 34 66 0 5 16 0 1 31 0 52 0 0 2 6 34 52 0 5 16 0 1 32 0 52 0 0 2 6 34 38 0 5 16 0 1 33 0 52 0 0 2 6 34 24 0 5 16 0 1 34 0 52 0 0 2 6 34 10 0 5 16 0 1 35 0 52 0 0 2 50)} {:upvalue-count 7 :arity 1 :constants ("nil?" "append" "list" "then" "not" "=" "keyword") :bytecode (18 0 48 0 17 1 16 1 52 0 0 1 33 5 0 16 0 32 84 0 16 0 16 1 52 2 0 1 52 1 0 2 17 2 18 1 1 3 0 48 1 33 9 0 18 2 16 2 49 1 32 51 0 18 3 48 0 52 4 0 1 6 33 25 0 5 18 4 48 0 1 6 0 52 5 0 2 6 33 9 0 5 18 5 18 6 48 0 48 1 33 9 0 18 2 16 2 49 1 32 2 0 16 2 50)} "list" "=" "len" 0 1 "first" "cons" do) :bytecode (51 0 0 17 0 5 51 1 0 0 0 0 1 1 1 0 2 0 3 1 0 0 4 17 1 5 16 1 52 2 0 0 48 1 17 2 16 2 52 4 0 1 1 5 0 52 3 0 2 33 4 0 2 32 34 0 16 2 52 4 0 1 1 6 0 52 3 0 2 33 9 0 16 2 52 7 0 1 32 9 0 1 9 0 16 2 52 8 0 2 50)} {:upvalue-count 6 :arity 0 :constants ("every" "=" "bracket-open" "bracket-close" "from" "catch" "list" "finally" "end" on "append" "filter") :bytecode (18 0 1 0 0 48 1 17 0 18 1 48 0 17 1 18 2 48 0 5 16 1 17 1 18 3 48 0 1 2 0 52 1 0 2 33 39 0 18 2 48 0 5 18 4 48 0 17 2 18 3 48 0 1 3 0 52 1 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 2 32 1 0 2 17 2 18 0 1 4 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 3 18 5 48 0 17 4 18 0 1 5 0 48 1 33 32 0 18 1 48 0 17 5 18 2 48 0 5 16 5 17 5 18 5 48 0 17 6 16 5 16 6 52 6 0 2 32 1 0 2 17 5 18 0 1 7 0 48 1 33 7 0 18 5 48 0 32 1 0 2 17 6 18 0 1 8 0 48 1 5 1 9 0 16 1 52 6 0 2 17 7 16 0 33 17 0 16 7 1 0 0 3 52 6 0 2 52 10 0 2 32 2 0 16 7 17 8 16 2 33 18 0 16 8 1 11 0 16 2 52 6 0 2 52 10 0 2 32 2 0 16 8 17 9 16 3 33 18 0 16 9 1 4 0 16 3 52 6 0 2 52 10 0 2 32 2 0 16 9 17 10 16 5 33 18 0 16 10 1 5 0 16 5 52 6 0 2 52 10 0 2 32 2 0 16 10 17 11 16 6 33 18 0 16 11 1 7 0 16 6 52 6 0 2 52 10 0 2 32 2 0 16 11 17 12 16 12 16 4 52 6 0 1 52 10 0 2 17 13 16 13 50)} {:upvalue-count 2 :arity 0 :constants ("end" "list" init) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 1 2 0 16 0 52 1 0 2 50)} {:upvalue-count 7 :arity 0 :constants ("=" "on" "init" "def" "behavior") :bytecode (18 0 48 0 17 0 16 0 1 1 0 52 0 0 2 33 12 0 18 1 48 0 5 18 2 49 0 32 76 0 16 0 1 2 0 52 0 0 2 33 12 0 18 1 48 0 5 18 3 49 0 32 52 0 16 0 1 3 0 52 0 0 2 33 12 0 18 1 48 0 5 18 4 49 0 32 28 0 16 0 1 4 0 52 0 0 2 33 12 0 18 1 48 0 5 18 5 49 0 32 4 0 18 6 49 0 50)} {:upvalue-count 3 :arity 1 :constants ("nil?" "append" "list") :bytecode (18 0 48 0 33 5 0 16 0 32 36 0 18 1 48 0 17 1 16 1 52 0 0 1 33 5 0 16 0 32 16 0 18 2 16 0 16 1 52 2 0 1 52 1 0 2 49 1 50)} "list" "=" 1 "first" "cons" do) :bytecode (1 0 0 17 2 16 0 52 1 0 1 17 3 51 2 0 1 2 1 3 1 0 17 4 5 51 3 0 1 4 17 5 5 51 4 0 1 4 17 6 5 51 5 0 1 0 1 2 17 7 5 51 6 0 1 2 1 3 1 5 17 8 5 51 7 0 1 5 1 6 1 7 17 9 5 51 8 0 1 9 1 2 17 10 5 51 9 0 17 11 5 51 10 0 1 5 1 6 1 7 1 13 17 12 5 51 11 0 1 5 1 8 1 6 1 7 1 13 1 41 17 13 5 51 12 0 1 5 1 6 1 7 17 14 5 51 13 0 1 5 1 6 1 7 1 9 1 21 17 15 5 51 14 0 1 5 1 6 1 7 1 11 1 21 1 67 1 46 1 12 1 14 1 15 1 8 1 2 1 0 1 47 1 16 1 9 17 16 5 51 15 0 1 5 1 6 1 7 1 12 1 13 1 41 1 21 1 17 17 17 5 51 16 0 1 5 1 6 1 7 1 21 1 9 1 16 1 8 17 18 5 51 17 0 1 9 1 18 1 45 1 17 1 16 1 19 17 19 5 51 18 0 1 9 1 19 1 18 1 45 1 17 1 16 1 20 17 20 5 51 19 0 1 16 1 5 1 6 1 7 1 17 1 45 1 18 1 19 1 20 17 21 5 51 20 0 1 9 1 21 17 22 5 51 21 0 1 5 1 7 1 22 17 23 5 51 22 0 1 5 1 7 1 22 17 24 5 51 23 0 1 9 1 5 1 6 1 7 1 10 1 22 1 16 17 25 5 51 24 0 1 21 1 10 17 26 5 51 25 0 1 21 1 9 1 10 1 2 17 27 5 51 26 0 1 21 1 69 1 9 17 28 5 51 27 0 1 9 1 6 1 7 1 21 1 5 1 11 17 29 5 51 28 0 1 7 1 5 1 8 1 21 17 30 5 51 29 0 1 7 1 5 1 30 1 22 17 31 5 51 30 0 1 7 1 22 17 32 5 51 31 0 1 21 17 33 5 51 32 0 1 21 1 9 1 22 17 34 5 51 33 0 1 21 1 9 1 22 17 35 5 51 34 0 1 8 1 5 1 6 1 21 1 9 1 7 17 36 5 51 35 0 1 8 1 5 1 6 1 21 1 9 1 7 17 37 5 51 36 0 1 7 1 10 1 21 1 9 1 5 1 11 1 22 17 38 5 51 37 0 1 5 1 6 1 7 1 52 1 21 1 69 1 9 17 39 5 51 38 0 1 16 1 45 1 17 1 9 1 6 1 7 17 40 5 51 39 0 1 7 1 5 1 8 1 21 17 41 5 51 40 0 1 7 1 5 1 41 17 42 5 51 41 0 1 5 1 6 1 7 1 9 1 21 17 43 5 51 42 0 1 9 1 21 17 44 5 51 43 0 1 5 1 6 1 7 1 16 1 17 1 45 17 45 5 51 44 0 1 5 1 6 1 7 1 9 1 21 1 15 1 14 1 16 17 46 5 51 45 0 1 5 1 8 1 7 1 21 17 47 5 51 46 0 1 8 1 5 1 6 1 21 17 48 5 51 47 0 1 21 17 49 5 51 48 0 1 21 1 10 17 50 5 51 49 0 1 21 1 69 1 9 17 51 5 51 50 0 1 6 1 7 1 10 1 21 1 9 1 69 17 52 5 51 51 0 1 6 1 7 1 9 17 53 5 51 52 0 1 6 1 7 1 5 1 41 17 54 5 51 53 0 1 21 17 55 5 51 54 0 1 8 1 5 1 6 1 21 1 9 17 56 5 51 55 0 1 8 1 5 1 6 1 21 17 57 5 51 56 0 1 8 1 5 1 6 1 21 17 58 5 51 57 0 1 21 1 10 17 59 5 51 58 0 1 9 17 60 5 51 59 0 1 5 1 41 17 61 5 51 60 0 1 8 1 5 1 6 1 72 17 62 5 51 61 0 1 6 1 7 1 61 1 69 1 9 17 63 5 51 62 0 1 6 1 7 1 61 1 62 1 9 17 64 5 51 63 0 1 5 1 6 1 7 1 21 17 65 5 51 64 0 1 5 1 6 1 7 1 21 1 65 1 9 17 66 5 51 65 0 1 4 1 7 1 8 1 5 1 1 17 67 5 51 66 0 1 5 1 6 1 7 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 42 1 43 1 44 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 66 1 56 1 57 1 58 1 59 1 60 1 21 17 68 5 51 67 0 1 68 1 9 1 8 1 5 1 6 17 69 5 51 68 0 1 9 1 6 1 7 1 5 1 21 1 69 17 70 5 51 69 0 1 69 1 9 17 71 5 51 70 0 1 6 1 7 1 70 1 71 1 63 1 64 1 69 17 72 5 51 71 0 1 8 1 72 1 73 17 73 5 16 73 52 72 0 0 48 1 17 74 16 74 52 1 0 1 1 74 0 52 73 0 2 33 9 0 16 74 52 75 0 1 32 9 0 1 77 0 16 74 52 76 0 2 50)} "hs-compile" {:upvalue-count 0 :arity 1 :constants ("hs-parse" "hs-tokenize") :bytecode (20 0 0 20 1 0 16 0 48 1 16 0 49 2 50)}) :bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 50))) diff --git a/shared/static/wasm/sx/hs-runtime.sx b/shared/static/wasm/sx/hs-runtime.sx index bca2bfd7..66ef9b5d 100644 --- a/shared/static/wasm/sx/hs-runtime.sx +++ b/shared/static/wasm/sx/hs-runtime.sx @@ -415,6 +415,10 @@ (hs-contains? (rest collection) item))))) (true false)))) ;; Method dispatch — obj.method(args) +(define precedes? (fn (a b) (< (str a) (str b)))) + +;; ── 0.9.90 features ───────────────────────────────────────────── +;; beep! — debug logging, returns value unchanged (define hs-empty? (fn @@ -425,13 +429,11 @@ ((list? v) (= (len v) 0)) ((dict? v) (= (len (keys v)) 0)) (true false)))) - -;; ── 0.9.90 features ───────────────────────────────────────────── -;; beep! — debug logging, returns value unchanged -(define hs-first (fn (lst) (first lst))) ;; Property-based is — check obj.key truthiness -(define hs-last (fn (lst) (last lst))) +(define hs-first (fn (lst) (first lst))) ;; Array slicing (inclusive both ends) +(define hs-last (fn (lst) (last lst))) +;; Collection: sorted by (define hs-template (fn @@ -517,7 +519,7 @@ (set! i (+ i 1)) (tpl-loop))))))) (do (tpl-loop) result)))) -;; Collection: sorted by +;; Collection: sorted by descending (define hs-make-object (fn @@ -529,7 +531,7 @@ (fn (pair) (dict-set! d (first pair) (nth pair 1))) pairs) d)))) -;; Collection: sorted by descending +;; Collection: split by (define hs-method-call (fn @@ -552,9 +554,9 @@ (if (= (first lst) item) i (idx-loop (rest lst) (+ i 1)))))) (idx-loop obj 0))) (true nil)))) -;; Collection: split by -(define hs-beep (fn (v) v)) ;; Collection: joined by +(define hs-beep (fn (v) v)) + (define hs-prop-is (fn (obj key) (not (hs-falsy? (host-get obj key))))) (define diff --git a/shared/static/wasm/sx/hs-runtime.sxbc b/shared/static/wasm/sx/hs-runtime.sxbc index 6b0e3087..e93612db 100644 --- a/shared/static/wasm/sx/hs-runtime.sxbc +++ b/shared/static/wasm/sx/hs-runtime.sxbc @@ -1,3 +1,3 @@ -(sxbc 1 "7770eb263eb7477d" +(sxbc 1 "807eb7a8ff411b71" (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 (20 0 0 20 1 0 16 0 1 2 0 48 2 1 3 0 16 1 49 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" "") :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 151 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 74 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 15 0 20 4 0 16 0 16 1 1 10 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 10 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 10 0 49 3 50)} "hs-take!" {:upvalue-count 0 :arity 4 :constants ("list?" "list" "host-get" "parentNode" "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" {:upvalue-count 1 :arity 1 :constants ("dom-remove-attr") :bytecode (20 0 0 16 0 18 0 49 2 50)} "dom-set-attr" "true") :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 31 0 20 2 0 16 0 1 3 0 48 2 17 4 16 4 33 10 0 20 4 0 16 4 48 1 32 4 0 52 1 0 0 17 4 16 1 1 6 0 52 5 0 2 33 24 0 51 8 0 1 2 16 4 52 7 0 2 5 20 9 0 16 0 16 2 49 2 32 24 0 51 10 0 1 2 16 4 52 7 0 2 5 20 11 0 16 0 16 2 1 12 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 (20 0 0 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 49 3 50)} "hs-halt!" {:upvalue-count 0 :arity 1 :constants ("event" "host-call" "preventDefault" "list" "=" "stopPropagation") :bytecode (20 0 0 33 50 0 20 1 0 20 0 0 1 2 0 52 3 0 0 48 3 5 16 0 1 0 0 52 4 0 2 33 18 0 20 1 0 20 0 0 1 5 0 52 3 0 0 49 3 32 1 0 2 32 1 0 2 50)} "hs-select!" {:upvalue-count 0 :arity 1 :constants ("host-call" "select" "list") :bytecode (20 0 0 16 0 1 1 0 52 2 0 0 49 3 50)} "hs-reset!" {:upvalue-count 0 :arity 1 :constants ("host-call" "reset" "list") :bytecode (20 0 0 16 0 1 1 0 52 2 0 0 49 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 ("dom-query-all" "dom-body") :bytecode (20 0 0 20 1 0 48 0 16 0 49 2 50)} "hs-query-first" {:upvalue-count 0 :arity 1 :constants ("host-call" "host-global" "document" "querySelector") :bytecode (20 0 0 20 1 0 1 2 0 48 1 1 3 0 16 0 49 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-fetch" {:upvalue-count 0 :arity 2 :constants ("list" io-fetch "=" "json" io-parse-json "text" io-parse-text "html" io-parse-html) :bytecode (1 1 0 16 0 52 0 0 2 112 17 2 16 1 1 3 0 52 2 0 2 33 13 0 1 4 0 16 2 52 0 0 2 112 32 52 0 16 1 1 5 0 52 2 0 2 33 13 0 1 6 0 16 2 52 0 0 2 112 32 27 0 16 1 1 7 0 52 2 0 2 33 13 0 1 8 0 16 2 52 0 0 2 112 32 2 0 16 2 50)} "hs-coerce" {:upvalue-count 0 :arity 2 :constants ("=" "Int" "floor" "+" 0 "Integer" "Float" "Number" "String" "str" "Bool" "Boolean" "Array" "list?" "list" "JSON" "Object" "string?" "Fixed" "string-contains?" "Fixed:" ":" "parse-number" "nth" "split" 1 "reduce" {:upvalue-count 0 :arity 2 :constants ("*" 10) :bytecode (16 0 1 1 0 52 0 0 2 50)} "range" "/" "*" 0.5 "HTML" "Values" "Fragment" "Date") :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 219 1 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 191 1 16 1 1 6 0 52 0 0 2 33 12 0 16 0 1 4 0 52 3 0 2 32 167 1 16 1 1 7 0 52 0 0 2 33 12 0 16 0 1 4 0 52 3 0 2 32 143 1 16 1 1 8 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 122 1 16 1 1 10 0 52 0 0 2 33 13 0 16 0 33 4 0 3 32 1 0 4 32 97 1 16 1 1 11 0 52 0 0 2 33 13 0 16 0 33 4 0 3 32 1 0 4 32 72 1 16 1 1 12 0 52 0 0 2 33 23 0 16 0 52 13 0 1 33 5 0 16 0 32 6 0 16 0 52 14 0 1 32 37 1 16 1 1 15 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 16 1 16 1 1 16 0 52 0 0 2 33 19 0 16 0 52 17 0 1 33 5 0 16 0 32 2 0 16 0 32 241 0 16 1 1 18 0 52 0 0 2 6 34 10 0 5 16 1 1 20 0 52 19 0 2 33 133 0 16 1 1 21 0 52 19 0 2 33 23 0 16 1 1 21 0 52 24 0 2 1 25 0 52 23 0 2 52 22 0 1 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 54 0 51 27 0 1 25 0 1 4 0 16 2 52 28 0 2 52 26 0 3 17 4 16 3 16 4 52 30 0 2 1 31 0 52 3 0 2 52 2 0 1 16 4 52 29 0 2 17 5 16 5 52 9 0 1 32 82 0 16 1 1 32 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 61 0 16 1 1 33 0 52 0 0 2 33 5 0 16 0 32 44 0 16 1 1 34 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 23 0 16 1 1 35 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 2 0 16 0 50)} "hs-add" {:upvalue-count 0 :arity 2 :constants ("string?" "str" "+") :bytecode (16 0 52 0 0 1 6 34 7 0 5 16 1 52 0 0 1 33 11 0 16 0 16 1 52 1 0 2 32 8 0 16 0 16 1 52 2 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-type-check" {:upvalue-count 0 :arity 2 :constants ("nil?" "=" "Number" "number?" "String" "string?" "Boolean" "Array" "list?" "Object" "dict?") :bytecode (16 0 52 0 0 1 33 4 0 3 32 119 0 16 1 1 2 0 52 1 0 2 33 9 0 16 0 52 3 0 1 32 98 0 16 1 1 4 0 52 1 0 2 33 9 0 16 0 52 5 0 1 32 77 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 43 0 16 1 1 7 0 52 1 0 2 33 9 0 16 0 52 8 0 1 32 22 0 16 1 1 9 0 52 1 0 2 33 9 0 16 0 52 10 0 1 32 1 0 3 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-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?") :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 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)} "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)} {: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 20 2 0 16 0 16 1 48 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 79 0 128 43 0 5 51 80 0 128 45 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 93 0 5 51 102 0 128 95 0 50))) + :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 (20 0 0 20 1 0 16 0 1 2 0 48 2 1 3 0 16 1 49 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" "") :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 151 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 74 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 15 0 20 4 0 16 0 16 1 1 10 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 10 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 10 0 49 3 50)} "hs-take!" {:upvalue-count 0 :arity 4 :constants ("list?" "list" "host-get" "parentNode" "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" {:upvalue-count 1 :arity 1 :constants ("dom-remove-attr") :bytecode (20 0 0 16 0 18 0 49 2 50)} "dom-set-attr" "true") :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 31 0 20 2 0 16 0 1 3 0 48 2 17 4 16 4 33 10 0 20 4 0 16 4 48 1 32 4 0 52 1 0 0 17 4 16 1 1 6 0 52 5 0 2 33 24 0 51 8 0 1 2 16 4 52 7 0 2 5 20 9 0 16 0 16 2 49 2 32 24 0 51 10 0 1 2 16 4 52 7 0 2 5 20 11 0 16 0 16 2 1 12 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 (20 0 0 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 49 3 50)} "hs-halt!" {:upvalue-count 0 :arity 1 :constants ("event" "host-call" "preventDefault" "list" "=" "stopPropagation") :bytecode (20 0 0 33 50 0 20 1 0 20 0 0 1 2 0 52 3 0 0 48 3 5 16 0 1 0 0 52 4 0 2 33 18 0 20 1 0 20 0 0 1 5 0 52 3 0 0 49 3 32 1 0 2 32 1 0 2 50)} "hs-select!" {:upvalue-count 0 :arity 1 :constants ("host-call" "select" "list") :bytecode (20 0 0 16 0 1 1 0 52 2 0 0 49 3 50)} "hs-reset!" {:upvalue-count 0 :arity 1 :constants ("host-call" "reset" "list") :bytecode (20 0 0 16 0 1 1 0 52 2 0 0 49 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 ("dom-query-all" "dom-body") :bytecode (20 0 0 20 1 0 48 0 16 0 49 2 50)} "hs-query-first" {:upvalue-count 0 :arity 1 :constants ("host-call" "host-global" "document" "querySelector") :bytecode (20 0 0 20 1 0 1 2 0 48 1 1 3 0 16 0 49 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-fetch" {:upvalue-count 0 :arity 2 :constants ("list" io-fetch "=" "json" io-parse-json "text" io-parse-text "html" io-parse-html) :bytecode (1 1 0 16 0 52 0 0 2 112 17 2 16 1 1 3 0 52 2 0 2 33 13 0 1 4 0 16 2 52 0 0 2 112 32 52 0 16 1 1 5 0 52 2 0 2 33 13 0 1 6 0 16 2 52 0 0 2 112 32 27 0 16 1 1 7 0 52 2 0 2 33 13 0 1 8 0 16 2 52 0 0 2 112 32 2 0 16 2 50)} "hs-coerce" {:upvalue-count 0 :arity 2 :constants ("=" "Int" "floor" "+" 0 "Integer" "Float" "Number" "String" "str" "Bool" "Boolean" "Array" "list?" "list" "JSON" "Object" "string?" "Fixed" "string-contains?" "Fixed:" ":" "parse-number" "nth" "split" 1 "reduce" {:upvalue-count 0 :arity 2 :constants ("*" 10) :bytecode (16 0 1 1 0 52 0 0 2 50)} "range" "/" "*" 0.5 "HTML" "Values" "Fragment" "Date") :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 219 1 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 191 1 16 1 1 6 0 52 0 0 2 33 12 0 16 0 1 4 0 52 3 0 2 32 167 1 16 1 1 7 0 52 0 0 2 33 12 0 16 0 1 4 0 52 3 0 2 32 143 1 16 1 1 8 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 122 1 16 1 1 10 0 52 0 0 2 33 13 0 16 0 33 4 0 3 32 1 0 4 32 97 1 16 1 1 11 0 52 0 0 2 33 13 0 16 0 33 4 0 3 32 1 0 4 32 72 1 16 1 1 12 0 52 0 0 2 33 23 0 16 0 52 13 0 1 33 5 0 16 0 32 6 0 16 0 52 14 0 1 32 37 1 16 1 1 15 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 16 1 16 1 1 16 0 52 0 0 2 33 19 0 16 0 52 17 0 1 33 5 0 16 0 32 2 0 16 0 32 241 0 16 1 1 18 0 52 0 0 2 6 34 10 0 5 16 1 1 20 0 52 19 0 2 33 133 0 16 1 1 21 0 52 19 0 2 33 23 0 16 1 1 21 0 52 24 0 2 1 25 0 52 23 0 2 52 22 0 1 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 54 0 51 27 0 1 25 0 1 4 0 16 2 52 28 0 2 52 26 0 3 17 4 16 3 16 4 52 30 0 2 1 31 0 52 3 0 2 52 2 0 1 16 4 52 29 0 2 17 5 16 5 52 9 0 1 32 82 0 16 1 1 32 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 61 0 16 1 1 33 0 52 0 0 2 33 5 0 16 0 32 44 0 16 1 1 34 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 23 0 16 1 1 35 0 52 0 0 2 33 9 0 16 0 52 9 0 1 32 2 0 16 0 50)} "hs-add" {:upvalue-count 0 :arity 2 :constants ("string?" "str" "+") :bytecode (16 0 52 0 0 1 6 34 7 0 5 16 1 52 0 0 1 33 11 0 16 0 16 1 52 1 0 2 32 8 0 16 0 16 1 52 2 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-type-check" {:upvalue-count 0 :arity 2 :constants ("nil?" "=" "Number" "number?" "String" "string?" "Boolean" "Array" "list?" "Object" "dict?") :bytecode (16 0 52 0 0 1 33 4 0 3 32 119 0 16 1 1 2 0 52 1 0 2 33 9 0 16 0 52 3 0 1 32 98 0 16 1 1 4 0 52 1 0 2 33 9 0 16 0 52 5 0 1 32 77 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 43 0 16 1 1 7 0 52 1 0 2 33 9 0 16 0 52 8 0 1 32 22 0 16 1 1 9 0 52 1 0 2 33 9 0 16 0 52 10 0 1 32 1 0 3 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-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?") :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 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)} {: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 20 2 0 16 0 16 1 48 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 81 0 128 43 0 5 51 82 0 128 45 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 102 0 128 101 0 5 51 103 0 128 95 0 5 51 104 0 128 97 0 50))) diff --git a/shared/static/wasm/sx/hs-tokenizer.sx b/shared/static/wasm/sx/hs-tokenizer.sx index abb9b104..5870d217 100644 --- a/shared/static/wasm/sx/hs-tokenizer.sx +++ b/shared/static/wasm/sx/hs-tokenizer.sx @@ -166,7 +166,11 @@ "select" "reset" "default" - "halt")) + "halt" + "precedes" + "follows" + "ignoring" + "case")) (define hs-keyword? (fn (word) (some (fn (k) (= k word)) hs-keywords))) diff --git a/shared/static/wasm/sx/hs-tokenizer.sxbc b/shared/static/wasm/sx/hs-tokenizer.sxbc index a2f5b767..b3e8774a 100644 --- a/shared/static/wasm/sx/hs-tokenizer.sxbc +++ b/shared/static/wasm/sx/hs-tokenizer.sxbc @@ -1,3 +1,3 @@ -(sxbc 1 "156825d310e5d3dd" +(sxbc 1 "4d9e38a015ec4eaf" (code - :constants ("hs-make-token" {:upvalue-count 0 :arity 3 :constants ("pos" "value" "type") :bytecode (1 0 0 16 2 1 1 0 16 1 1 2 0 16 0 65 3 0 50)} "hs-digit?" {:upvalue-count 0 :arity 1 :constants (">=" "0" "<=" "9") :bytecode (16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 0 1 3 0 52 2 0 2 50)} "hs-letter?" {:upvalue-count 0 :arity 1 :constants (">=" "a" "<=" "z" "A" "Z") :bytecode (16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 0 1 3 0 52 2 0 2 6 34 24 0 5 16 0 1 4 0 52 0 0 2 6 33 10 0 5 16 0 1 5 0 52 2 0 2 50)} "hs-ident-start?" {:upvalue-count 0 :arity 1 :constants ("hs-letter?" "=" "_" "$") :bytecode (20 0 0 16 0 48 1 6 34 24 0 5 16 0 1 2 0 52 1 0 2 6 34 10 0 5 16 0 1 3 0 52 1 0 2 50)} "hs-ident-char?" {:upvalue-count 0 :arity 1 :constants ("hs-letter?" "hs-digit?" "=" "_" "$" "-") :bytecode (20 0 0 16 0 48 1 6 34 50 0 5 20 1 0 16 0 48 1 6 34 38 0 5 16 0 1 3 0 52 2 0 2 6 34 24 0 5 16 0 1 4 0 52 2 0 2 6 34 10 0 5 16 0 1 5 0 52 2 0 2 50)} "hs-ws?" {:upvalue-count 0 :arity 1 :constants ("=" " " "\t" "\n" "\r") :bytecode (16 0 1 1 0 52 0 0 2 6 34 38 0 5 16 0 1 2 0 52 0 0 2 6 34 24 0 5 16 0 1 3 0 52 0 0 2 6 34 10 0 5 16 0 1 4 0 52 0 0 2 50)} "hs-keywords" "list" "on" "end" "set" "to" "put" "into" "before" "after" "add" "remove" "toggle" "if" "else" "otherwise" "then" "from" "in" "of" "for" "until" "wait" "send" "trigger" "call" "get" "take" "log" "hide" "show" "repeat" "while" "times" "forever" "break" "continue" "return" "throw" "catch" "finally" "def" "tell" "make" "fetch" "as" "with" "every" "or" "and" "not" "is" "no" "the" "my" "me" "it" "its" "result" "true" "false" "null" "when" "between" "at" "by" "queue" "elsewhere" "event" "target" "detail" "sender" "index" "increment" "decrement" "append" "settle" "transition" "over" "closest" "next" "previous" "first" "last" "random" "empty" "exists" "matches" "contains" "do" "unless" "you" "your" "new" "init" "start" "go" "js" "less" "than" "greater" "class" "anything" "install" "measure" "behavior" "called" "render" "eval" "I" "am" "does" "some" "mod" "equal" "equals" "really" "include" "includes" "contain" "undefined" "exist" "match" "beep" "where" "sorted" "mapped" "split" "joined" "descending" "ascending" "scroll" "select" "reset" "default" "halt" "hs-keyword?" {:upvalue-count 0 :arity 1 :constants ("some" {:upvalue-count 1 :arity 1 :constants ("=") :bytecode (16 0 18 0 52 0 0 2 50)} "hs-keywords") :bytecode (51 1 0 1 0 20 2 0 52 0 0 2 50)} "hs-tokenize" {:upvalue-count 0 :arity 1 :constants ("list" 0 "len" {:upvalue-count 3 :arity 1 :constants ("<" "+" "nth") :bytecode (18 0 16 0 52 1 0 2 18 1 52 0 0 2 33 17 0 18 2 18 0 16 0 52 1 0 2 52 2 0 2 32 1 0 2 50)} {:upvalue-count 1 :arity 0 :constants (0) :bytecode (18 0 1 0 0 49 1 50)} {:upvalue-count 1 :arity 1 :constants ("+") :bytecode (18 0 16 0 52 0 0 2 19 0 50)} {:upvalue-count 5 :arity 0 :constants ("<" "hs-ws?" 1) :bytecode (18 0 18 1 52 0 0 2 6 33 10 0 5 20 1 0 18 2 48 0 48 1 33 15 0 18 3 1 2 0 48 1 5 18 4 49 0 32 1 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("<" "not" "=" "\n" 1) :bytecode (18 0 18 1 52 0 0 2 6 33 16 0 5 18 2 48 0 1 3 0 52 2 0 2 52 1 0 1 33 15 0 18 3 1 4 0 48 1 5 18 4 49 0 32 1 0 2 50)} {:upvalue-count 6 :arity 1 :constants ("<" "hs-ident-char?" 1 "slice") :bytecode (18 0 18 1 52 0 0 2 6 33 10 0 5 20 1 0 18 2 48 0 48 1 33 17 0 18 3 1 2 0 48 1 5 18 4 16 0 48 1 32 1 0 2 5 18 5 16 0 18 0 52 3 0 3 50)} {:upvalue-count 7 :arity 3 :constants ("<" "hs-digit?" 1 "=" "." "+" {:upvalue-count 5 :arity 0 :constants ("<" "hs-digit?" 1) :bytecode (18 0 18 1 52 0 0 2 6 33 10 0 5 20 1 0 18 2 48 0 48 1 33 15 0 18 3 1 2 0 48 1 5 18 4 49 0 32 1 0 2 50)} "e" "E" 2 "-" "m" "s" "slice") :bytecode (18 0 18 1 52 0 0 2 6 33 10 0 5 20 1 0 18 2 48 0 48 1 33 17 0 18 3 1 2 0 48 1 5 18 4 16 0 48 1 32 1 0 2 5 18 0 18 1 52 0 0 2 6 33 49 0 5 18 2 48 0 1 4 0 52 3 0 2 6 33 33 0 5 18 0 1 2 0 52 5 0 2 18 1 52 0 0 2 6 33 13 0 5 20 1 0 18 5 1 2 0 48 1 48 1 33 31 0 18 3 1 2 0 48 1 5 51 6 0 0 0 0 1 0 2 0 3 1 1 17 1 5 16 1 48 0 32 1 0 2 5 18 0 18 1 52 0 0 2 6 33 140 0 5 18 2 48 0 1 7 0 52 3 0 2 6 34 12 0 5 18 2 48 0 1 8 0 52 3 0 2 6 33 108 0 5 18 0 1 2 0 52 5 0 2 18 1 52 0 0 2 6 33 13 0 5 20 1 0 18 5 1 2 0 48 1 48 1 6 34 71 0 5 18 0 1 9 0 52 5 0 2 18 1 52 0 0 2 6 33 51 0 5 18 5 1 2 0 48 1 1 5 0 52 3 0 2 6 34 15 0 5 18 5 1 2 0 48 1 1 10 0 52 3 0 2 6 33 13 0 5 20 1 0 18 5 1 9 0 48 1 48 1 33 86 0 18 3 1 2 0 48 1 5 18 0 18 1 52 0 0 2 6 33 28 0 5 18 2 48 0 1 5 0 52 3 0 2 6 34 12 0 5 18 2 48 0 1 10 0 52 3 0 2 33 10 0 18 3 1 2 0 48 1 32 1 0 2 5 51 6 0 0 0 0 1 0 2 0 3 1 2 17 2 5 16 2 48 0 32 1 0 2 5 18 0 17 3 18 0 18 1 52 0 0 2 6 33 28 0 5 18 2 48 0 1 11 0 52 3 0 2 6 34 12 0 5 18 2 48 0 1 12 0 52 3 0 2 33 91 0 18 2 48 0 1 11 0 52 3 0 2 6 33 35 0 5 18 0 1 2 0 52 5 0 2 18 1 52 0 0 2 6 33 15 0 5 18 5 1 2 0 48 1 1 12 0 52 3 0 2 33 10 0 18 3 1 9 0 48 1 32 25 0 18 2 48 0 1 12 0 52 3 0 2 33 10 0 18 3 1 2 0 48 1 32 1 0 2 32 1 0 2 5 18 6 16 0 18 0 52 13 0 3 50)} {:upvalue-count 4 :arity 1 :constants ("list" 1 {:upvalue-count 7 :arity 0 :constants (">=" "=" "\\" 1 "<" "n" "append!" "\n" "t" "\t") :bytecode (18 0 18 1 52 0 0 2 33 4 0 2 32 217 0 18 2 48 0 1 2 0 52 1 0 2 33 157 0 18 3 1 3 0 48 1 5 18 0 18 1 52 4 0 2 33 129 0 18 2 48 0 17 0 16 0 1 5 0 52 1 0 2 33 12 0 18 4 1 7 0 52 6 0 2 32 88 0 16 0 1 8 0 52 1 0 2 33 12 0 18 4 1 9 0 52 6 0 2 32 64 0 16 0 1 2 0 52 1 0 2 33 12 0 18 4 1 2 0 52 6 0 2 32 40 0 16 0 18 5 52 1 0 2 33 11 0 18 4 18 5 52 6 0 2 32 18 0 18 4 1 2 0 52 6 0 2 5 18 4 16 0 52 6 0 2 5 18 3 1 3 0 48 1 32 1 0 2 5 18 6 49 0 32 46 0 18 2 48 0 18 5 52 1 0 2 33 10 0 18 3 1 3 0 49 1 32 23 0 18 4 18 2 48 0 52 6 0 2 5 18 3 1 3 0 48 1 5 18 6 49 0 50)} "join" "") :bytecode (52 0 0 0 17 1 18 0 1 1 0 48 1 5 51 2 0 0 1 0 2 0 3 0 0 1 1 1 0 1 2 17 2 5 16 2 48 0 5 1 4 0 16 1 52 3 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("list" 1 {:upvalue-count 7 :arity 0 :constants (">=" "=" "`" 1 "$" "<" "+" "{" "append!" "${" 2 {:upvalue-count 7 :arity 0 :constants ("<" ">" 0 "=" "{" "+" 1 "append!" "}" "-") :bytecode (18 0 18 1 52 0 0 2 6 33 10 0 5 18 2 1 2 0 52 1 0 2 33 162 0 18 3 48 0 1 4 0 52 3 0 2 33 38 0 18 2 1 6 0 52 5 0 2 19 2 5 18 4 18 3 48 0 52 7 0 2 5 18 5 1 6 0 48 1 5 18 6 49 0 32 107 0 18 3 48 0 1 8 0 52 3 0 2 33 70 0 18 2 1 6 0 52 9 0 2 19 2 5 18 2 1 2 0 52 1 0 2 33 13 0 18 4 18 3 48 0 52 7 0 2 32 1 0 2 5 18 5 1 6 0 48 1 5 18 2 1 2 0 52 1 0 2 33 7 0 18 6 49 0 32 1 0 2 32 23 0 18 4 18 3 48 0 52 7 0 2 5 18 5 1 6 0 48 1 5 18 6 49 0 32 1 0 2 50)} "}") :bytecode (18 0 18 1 52 0 0 2 33 4 0 2 32 165 0 18 2 48 0 1 2 0 52 1 0 2 33 10 0 18 3 1 3 0 49 1 32 141 0 18 2 48 0 1 4 0 52 1 0 2 6 33 35 0 5 18 0 1 3 0 52 6 0 2 18 1 52 5 0 2 6 33 15 0 5 18 4 1 3 0 48 1 1 7 0 52 1 0 2 33 65 0 18 5 1 9 0 52 8 0 2 5 18 3 1 10 0 48 1 5 1 3 0 17 0 51 11 0 0 0 0 1 1 0 0 2 0 5 0 3 1 1 17 1 5 16 1 48 0 5 18 5 1 12 0 52 8 0 2 5 18 6 49 0 32 23 0 18 5 18 2 48 0 52 8 0 2 5 18 3 1 3 0 48 1 5 18 6 49 0 50)} "join" "") :bytecode (52 0 0 0 17 0 18 0 1 1 0 48 1 5 51 2 0 0 1 0 2 0 3 0 0 0 4 1 0 1 1 17 1 5 16 1 48 0 5 1 4 0 16 0 52 3 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("list" 1 {:upvalue-count 7 :arity 0 :constants (">=" "=" "/" "<" "+" 1 ">" 2 "append!") :bytecode (18 0 18 1 52 0 0 2 33 4 0 2 32 86 0 18 2 48 0 1 2 0 52 1 0 2 6 33 35 0 5 18 0 1 5 0 52 4 0 2 18 1 52 3 0 2 6 33 15 0 5 18 3 1 5 0 48 1 1 6 0 52 1 0 2 33 10 0 18 4 1 7 0 49 1 32 23 0 18 5 18 2 48 0 52 8 0 2 5 18 4 1 5 0 48 1 5 18 6 49 0 50)} "join" "") :bytecode (52 0 0 0 17 0 18 0 1 1 0 48 1 5 51 2 0 0 1 0 2 0 3 0 4 0 0 1 0 1 1 17 1 5 16 1 48 0 5 1 4 0 16 0 52 3 0 2 50)} {:upvalue-count 6 :arity 1 :constants ("<" "hs-ident-char?" "=" ":" "[" "]" 1 "slice") :bytecode (18 0 18 1 52 0 0 2 6 33 58 0 5 20 1 0 18 2 48 0 48 1 6 34 44 0 5 18 2 48 0 1 3 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 5 0 52 2 0 2 33 17 0 18 3 1 6 0 48 1 5 18 4 16 0 48 1 32 1 0 2 5 18 5 16 0 18 0 52 7 0 3 50)} {:upvalue-count 1 :arity 3 :constants ("append!" "hs-make-token") :bytecode (18 0 20 1 0 16 0 16 1 16 2 48 3 52 0 0 2 50)} {:upvalue-count 15 :arity 0 :constants ("<" "=" "/" "+" 1 2 "not" "hs-letter?" "." "#" "[" "*" ":" "selector" "op" ".." "-" "_" "class" "hs-ident-start?" "id" "@" "hs-ident-char?" "attr" "~" "component" "str" "style" "local" "\"" "'" "s" ">=" "string" "`" "template" "hs-digit?" "number" "hs-keyword?" "keyword" "ident" "!" ">" "==" 3 "'s" "(" "paren-open" ")" "paren-close" "bracket-open" "]" "bracket-close" "{" "brace-open" "}" "brace-close" "," "comma" "%" "dot" "\\" "colon") :bytecode (18 0 48 0 5 18 1 18 2 52 0 0 2 33 193 8 18 3 48 0 17 0 18 1 17 1 16 0 1 2 0 52 1 0 2 6 33 35 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 15 0 5 18 4 1 4 0 48 1 1 2 0 52 1 0 2 33 20 0 18 5 1 5 0 48 1 5 18 6 48 0 5 18 7 49 0 32 109 8 16 0 1 0 0 52 1 0 2 6 33 151 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 131 0 5 18 4 1 4 0 48 1 1 1 0 52 1 0 2 52 6 0 1 6 33 108 0 5 20 7 0 18 4 1 4 0 48 1 48 1 6 34 91 0 5 18 4 1 4 0 48 1 1 8 0 52 1 0 2 6 34 72 0 5 18 4 1 4 0 48 1 1 9 0 52 1 0 2 6 34 53 0 5 18 4 1 4 0 48 1 1 10 0 52 1 0 2 6 34 34 0 5 18 4 1 4 0 48 1 1 11 0 52 1 0 2 6 34 15 0 5 18 4 1 4 0 48 1 1 12 0 52 1 0 2 33 21 0 18 8 1 13 0 18 9 48 0 16 1 48 3 5 18 7 49 0 32 177 7 16 0 1 8 0 52 1 0 2 6 33 35 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 15 0 5 18 4 1 4 0 48 1 1 8 0 52 1 0 2 33 28 0 18 8 1 14 0 1 15 0 16 1 48 3 5 18 5 1 5 0 48 1 5 18 7 49 0 32 98 7 16 0 1 8 0 52 1 0 2 6 33 71 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 51 0 5 20 7 0 18 4 1 4 0 48 1 48 1 6 34 34 0 5 18 4 1 4 0 48 1 1 16 0 52 1 0 2 6 34 15 0 5 18 4 1 4 0 48 1 1 17 0 52 1 0 2 33 31 0 18 5 1 4 0 48 1 5 18 8 1 18 0 18 10 18 1 48 1 16 1 48 3 5 18 7 49 0 32 236 6 16 0 1 9 0 52 1 0 2 6 33 33 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 13 0 5 20 19 0 18 4 1 4 0 48 1 48 1 33 31 0 18 5 1 4 0 48 1 5 18 8 1 20 0 18 11 18 1 48 1 16 1 48 3 5 18 7 49 0 32 156 6 16 0 1 21 0 52 1 0 2 6 33 33 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 13 0 5 20 22 0 18 4 1 4 0 48 1 48 1 33 31 0 18 5 1 4 0 48 1 5 18 8 1 23 0 18 11 18 1 48 1 16 1 48 3 5 18 7 49 0 32 76 6 16 0 1 24 0 52 1 0 2 6 33 33 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 13 0 5 20 7 0 18 4 1 4 0 48 1 48 1 33 38 0 18 5 1 4 0 48 1 5 18 8 1 25 0 1 24 0 18 11 18 1 48 1 52 26 0 2 16 1 48 3 5 18 7 49 0 32 245 5 16 0 1 11 0 52 1 0 2 6 33 33 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 13 0 5 20 7 0 18 4 1 4 0 48 1 48 1 33 31 0 18 5 1 4 0 48 1 5 18 8 1 27 0 18 11 18 1 48 1 16 1 48 3 5 18 7 49 0 32 165 5 16 0 1 12 0 52 1 0 2 6 33 33 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 13 0 5 20 19 0 18 4 1 4 0 48 1 48 1 33 31 0 18 5 1 4 0 48 1 5 18 8 1 28 0 18 11 18 1 48 1 16 1 48 3 5 18 7 49 0 32 85 5 16 0 1 29 0 52 1 0 2 6 34 94 0 5 16 0 1 30 0 52 1 0 2 6 33 80 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 56 0 5 18 4 1 4 0 48 1 1 31 0 52 1 0 2 6 33 37 0 5 18 1 1 5 0 52 3 0 2 18 2 52 32 0 2 6 34 17 0 5 20 22 0 18 4 1 5 0 48 1 48 1 52 6 0 1 52 6 0 1 33 23 0 18 8 1 33 0 18 12 16 0 48 1 16 1 48 3 5 18 7 49 0 32 208 4 16 0 1 34 0 52 1 0 2 33 21 0 18 8 1 35 0 18 13 48 0 16 1 48 3 5 18 7 49 0 32 175 4 20 36 0 16 0 48 1 33 23 0 18 8 1 37 0 18 14 16 1 48 1 16 1 48 3 5 18 7 49 0 32 142 4 20 19 0 16 0 48 1 33 43 0 18 11 16 1 48 1 17 2 18 8 20 38 0 16 2 48 1 33 6 0 1 39 0 32 3 0 1 40 0 16 2 16 1 48 3 5 18 7 49 0 32 89 4 16 0 1 1 0 52 1 0 2 6 34 38 0 5 16 0 1 41 0 52 1 0 2 6 34 24 0 5 16 0 1 0 0 52 1 0 2 6 34 10 0 5 16 0 1 42 0 52 1 0 2 6 33 35 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 15 0 5 18 4 1 4 0 48 1 1 1 0 52 1 0 2 33 128 0 16 0 1 1 0 52 1 0 2 6 34 10 0 5 16 0 1 41 0 52 1 0 2 6 33 35 0 5 18 1 1 5 0 52 3 0 2 18 2 52 0 0 2 6 33 15 0 5 18 4 1 5 0 48 1 1 1 0 52 1 0 2 33 29 0 18 8 1 14 0 16 0 1 43 0 52 26 0 2 16 1 48 3 5 18 5 1 44 0 48 1 32 26 0 18 8 1 14 0 16 0 1 1 0 52 26 0 2 16 1 48 3 5 18 5 1 5 0 48 1 5 18 7 49 0 32 124 3 16 0 1 30 0 52 1 0 2 6 33 76 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 56 0 5 18 4 1 4 0 48 1 1 31 0 52 1 0 2 6 33 37 0 5 18 1 1 5 0 52 3 0 2 18 2 52 32 0 2 6 34 17 0 5 20 22 0 18 4 1 5 0 48 1 48 1 52 6 0 1 33 28 0 18 8 1 14 0 1 45 0 16 1 48 3 5 18 5 1 5 0 48 1 5 18 7 49 0 32 4 3 16 0 1 46 0 52 1 0 2 33 28 0 18 8 1 47 0 1 46 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 220 2 16 0 1 48 0 52 1 0 2 33 28 0 18 8 1 49 0 1 48 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 180 2 16 0 1 10 0 52 1 0 2 33 28 0 18 8 1 50 0 1 10 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 140 2 16 0 1 51 0 52 1 0 2 33 28 0 18 8 1 52 0 1 51 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 100 2 16 0 1 53 0 52 1 0 2 33 28 0 18 8 1 54 0 1 53 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 60 2 16 0 1 55 0 52 1 0 2 33 28 0 18 8 1 56 0 1 55 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 20 2 16 0 1 57 0 52 1 0 2 33 28 0 18 8 1 58 0 1 57 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 236 1 16 0 1 3 0 52 1 0 2 33 28 0 18 8 1 14 0 1 3 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 196 1 16 0 1 16 0 52 1 0 2 33 28 0 18 8 1 14 0 1 16 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 156 1 16 0 1 2 0 52 1 0 2 33 28 0 18 8 1 14 0 1 2 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 116 1 16 0 1 1 0 52 1 0 2 33 28 0 18 8 1 14 0 1 1 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 76 1 16 0 1 0 0 52 1 0 2 33 28 0 18 8 1 14 0 1 0 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 36 1 16 0 1 42 0 52 1 0 2 33 28 0 18 8 1 14 0 1 42 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 252 0 16 0 1 41 0 52 1 0 2 33 28 0 18 8 1 14 0 1 41 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 212 0 16 0 1 11 0 52 1 0 2 33 28 0 18 8 1 14 0 1 11 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 172 0 16 0 1 59 0 52 1 0 2 33 28 0 18 8 1 14 0 1 59 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 132 0 16 0 1 8 0 52 1 0 2 33 28 0 18 8 1 60 0 1 8 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 92 0 16 0 1 61 0 52 1 0 2 33 28 0 18 8 1 14 0 1 61 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 52 0 16 0 1 12 0 52 1 0 2 33 28 0 18 8 1 62 0 1 12 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 12 0 18 5 1 4 0 48 1 5 18 7 49 0 32 1 0 2 50)} "eof") :bytecode (52 0 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 17 4 5 51 4 0 1 4 17 5 5 51 5 0 1 2 17 6 5 51 6 0 1 2 1 3 1 5 1 6 1 7 17 7 5 51 7 0 1 2 1 3 1 5 1 6 1 8 17 8 5 51 8 0 1 2 1 3 1 5 1 6 1 9 1 0 17 9 5 51 9 0 1 2 1 3 1 5 1 6 1 10 1 4 1 0 17 10 5 51 10 0 1 6 1 2 1 3 1 5 17 11 5 51 11 0 1 6 1 2 1 3 1 5 1 4 17 12 5 51 12 0 1 6 1 2 1 3 1 5 1 4 17 13 5 51 13 0 1 2 1 3 1 5 1 6 1 14 1 0 17 14 5 51 14 0 1 1 17 15 5 51 15 0 1 7 1 2 1 3 1 5 1 4 1 6 1 8 1 16 1 15 1 13 1 14 1 9 1 11 1 12 1 10 17 16 5 16 16 48 0 5 16 15 1 16 0 2 16 2 48 3 5 16 1 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 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 1 29 0 1 30 0 1 31 0 1 32 0 1 33 0 1 34 0 1 35 0 1 36 0 1 37 0 1 38 0 1 39 0 1 40 0 1 41 0 1 42 0 1 43 0 1 44 0 1 45 0 1 46 0 1 47 0 1 48 0 1 49 0 1 50 0 1 51 0 1 52 0 1 53 0 1 54 0 1 55 0 1 56 0 1 57 0 1 58 0 1 59 0 1 60 0 1 61 0 1 62 0 1 63 0 1 64 0 1 65 0 1 66 0 1 67 0 1 68 0 1 69 0 1 70 0 1 71 0 1 72 0 1 73 0 1 74 0 1 75 0 1 76 0 1 77 0 1 78 0 1 79 0 1 80 0 1 81 0 1 82 0 1 83 0 1 84 0 1 85 0 1 86 0 1 87 0 1 88 0 1 89 0 1 90 0 1 91 0 1 92 0 1 93 0 1 94 0 1 95 0 1 96 0 1 97 0 1 98 0 1 99 0 1 100 0 1 101 0 1 102 0 1 103 0 1 104 0 1 105 0 1 106 0 1 107 0 1 108 0 1 109 0 1 110 0 1 111 0 1 112 0 1 113 0 1 114 0 1 115 0 1 116 0 1 117 0 1 118 0 1 119 0 1 120 0 1 121 0 1 122 0 1 123 0 1 124 0 1 125 0 1 126 0 1 127 0 1 128 0 1 129 0 1 130 0 1 131 0 1 132 0 1 133 0 1 134 0 1 135 0 1 136 0 1 137 0 1 138 0 1 139 0 1 140 0 1 141 0 1 142 0 1 143 0 1 144 0 1 145 0 1 146 0 1 147 0 52 13 0 134 128 12 0 5 51 149 0 128 148 0 5 51 151 0 128 150 0 50))) + :constants ("hs-make-token" {:upvalue-count 0 :arity 3 :constants ("pos" "value" "type") :bytecode (1 0 0 16 2 1 1 0 16 1 1 2 0 16 0 65 3 0 50)} "hs-digit?" {:upvalue-count 0 :arity 1 :constants (">=" "0" "<=" "9") :bytecode (16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 0 1 3 0 52 2 0 2 50)} "hs-letter?" {:upvalue-count 0 :arity 1 :constants (">=" "a" "<=" "z" "A" "Z") :bytecode (16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 0 1 3 0 52 2 0 2 6 34 24 0 5 16 0 1 4 0 52 0 0 2 6 33 10 0 5 16 0 1 5 0 52 2 0 2 50)} "hs-ident-start?" {:upvalue-count 0 :arity 1 :constants ("hs-letter?" "=" "_" "$") :bytecode (20 0 0 16 0 48 1 6 34 24 0 5 16 0 1 2 0 52 1 0 2 6 34 10 0 5 16 0 1 3 0 52 1 0 2 50)} "hs-ident-char?" {:upvalue-count 0 :arity 1 :constants ("hs-letter?" "hs-digit?" "=" "_" "$" "-") :bytecode (20 0 0 16 0 48 1 6 34 50 0 5 20 1 0 16 0 48 1 6 34 38 0 5 16 0 1 3 0 52 2 0 2 6 34 24 0 5 16 0 1 4 0 52 2 0 2 6 34 10 0 5 16 0 1 5 0 52 2 0 2 50)} "hs-ws?" {:upvalue-count 0 :arity 1 :constants ("=" " " "\t" "\n" "\r") :bytecode (16 0 1 1 0 52 0 0 2 6 34 38 0 5 16 0 1 2 0 52 0 0 2 6 34 24 0 5 16 0 1 3 0 52 0 0 2 6 34 10 0 5 16 0 1 4 0 52 0 0 2 50)} "hs-keywords" "list" "on" "end" "set" "to" "put" "into" "before" "after" "add" "remove" "toggle" "if" "else" "otherwise" "then" "from" "in" "of" "for" "until" "wait" "send" "trigger" "call" "get" "take" "log" "hide" "show" "repeat" "while" "times" "forever" "break" "continue" "return" "throw" "catch" "finally" "def" "tell" "make" "fetch" "as" "with" "every" "or" "and" "not" "is" "no" "the" "my" "me" "it" "its" "result" "true" "false" "null" "when" "between" "at" "by" "queue" "elsewhere" "event" "target" "detail" "sender" "index" "increment" "decrement" "append" "settle" "transition" "over" "closest" "next" "previous" "first" "last" "random" "empty" "exists" "matches" "contains" "do" "unless" "you" "your" "new" "init" "start" "go" "js" "less" "than" "greater" "class" "anything" "install" "measure" "behavior" "called" "render" "eval" "I" "am" "does" "some" "mod" "equal" "equals" "really" "include" "includes" "contain" "undefined" "exist" "match" "beep" "where" "sorted" "mapped" "split" "joined" "descending" "ascending" "scroll" "select" "reset" "default" "halt" "precedes" "follows" "ignoring" "case" "hs-keyword?" {:upvalue-count 0 :arity 1 :constants ("some" {:upvalue-count 1 :arity 1 :constants ("=") :bytecode (16 0 18 0 52 0 0 2 50)} "hs-keywords") :bytecode (51 1 0 1 0 20 2 0 52 0 0 2 50)} "hs-tokenize" {:upvalue-count 0 :arity 1 :constants ("list" 0 "len" {:upvalue-count 3 :arity 1 :constants ("<" "+" "nth") :bytecode (18 0 16 0 52 1 0 2 18 1 52 0 0 2 33 17 0 18 2 18 0 16 0 52 1 0 2 52 2 0 2 32 1 0 2 50)} {:upvalue-count 1 :arity 0 :constants (0) :bytecode (18 0 1 0 0 49 1 50)} {:upvalue-count 1 :arity 1 :constants ("+") :bytecode (18 0 16 0 52 0 0 2 19 0 50)} {:upvalue-count 5 :arity 0 :constants ("<" "hs-ws?" 1) :bytecode (18 0 18 1 52 0 0 2 6 33 10 0 5 20 1 0 18 2 48 0 48 1 33 15 0 18 3 1 2 0 48 1 5 18 4 49 0 32 1 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("<" "not" "=" "\n" 1) :bytecode (18 0 18 1 52 0 0 2 6 33 16 0 5 18 2 48 0 1 3 0 52 2 0 2 52 1 0 1 33 15 0 18 3 1 4 0 48 1 5 18 4 49 0 32 1 0 2 50)} {:upvalue-count 6 :arity 1 :constants ("<" "hs-ident-char?" 1 "slice") :bytecode (18 0 18 1 52 0 0 2 6 33 10 0 5 20 1 0 18 2 48 0 48 1 33 17 0 18 3 1 2 0 48 1 5 18 4 16 0 48 1 32 1 0 2 5 18 5 16 0 18 0 52 3 0 3 50)} {:upvalue-count 7 :arity 3 :constants ("<" "hs-digit?" 1 "=" "." "+" {:upvalue-count 5 :arity 0 :constants ("<" "hs-digit?" 1) :bytecode (18 0 18 1 52 0 0 2 6 33 10 0 5 20 1 0 18 2 48 0 48 1 33 15 0 18 3 1 2 0 48 1 5 18 4 49 0 32 1 0 2 50)} "e" "E" 2 "-" "m" "s" "slice") :bytecode (18 0 18 1 52 0 0 2 6 33 10 0 5 20 1 0 18 2 48 0 48 1 33 17 0 18 3 1 2 0 48 1 5 18 4 16 0 48 1 32 1 0 2 5 18 0 18 1 52 0 0 2 6 33 49 0 5 18 2 48 0 1 4 0 52 3 0 2 6 33 33 0 5 18 0 1 2 0 52 5 0 2 18 1 52 0 0 2 6 33 13 0 5 20 1 0 18 5 1 2 0 48 1 48 1 33 31 0 18 3 1 2 0 48 1 5 51 6 0 0 0 0 1 0 2 0 3 1 1 17 1 5 16 1 48 0 32 1 0 2 5 18 0 18 1 52 0 0 2 6 33 140 0 5 18 2 48 0 1 7 0 52 3 0 2 6 34 12 0 5 18 2 48 0 1 8 0 52 3 0 2 6 33 108 0 5 18 0 1 2 0 52 5 0 2 18 1 52 0 0 2 6 33 13 0 5 20 1 0 18 5 1 2 0 48 1 48 1 6 34 71 0 5 18 0 1 9 0 52 5 0 2 18 1 52 0 0 2 6 33 51 0 5 18 5 1 2 0 48 1 1 5 0 52 3 0 2 6 34 15 0 5 18 5 1 2 0 48 1 1 10 0 52 3 0 2 6 33 13 0 5 20 1 0 18 5 1 9 0 48 1 48 1 33 86 0 18 3 1 2 0 48 1 5 18 0 18 1 52 0 0 2 6 33 28 0 5 18 2 48 0 1 5 0 52 3 0 2 6 34 12 0 5 18 2 48 0 1 10 0 52 3 0 2 33 10 0 18 3 1 2 0 48 1 32 1 0 2 5 51 6 0 0 0 0 1 0 2 0 3 1 2 17 2 5 16 2 48 0 32 1 0 2 5 18 0 17 3 18 0 18 1 52 0 0 2 6 33 28 0 5 18 2 48 0 1 11 0 52 3 0 2 6 34 12 0 5 18 2 48 0 1 12 0 52 3 0 2 33 91 0 18 2 48 0 1 11 0 52 3 0 2 6 33 35 0 5 18 0 1 2 0 52 5 0 2 18 1 52 0 0 2 6 33 15 0 5 18 5 1 2 0 48 1 1 12 0 52 3 0 2 33 10 0 18 3 1 9 0 48 1 32 25 0 18 2 48 0 1 12 0 52 3 0 2 33 10 0 18 3 1 2 0 48 1 32 1 0 2 32 1 0 2 5 18 6 16 0 18 0 52 13 0 3 50)} {:upvalue-count 4 :arity 1 :constants ("list" 1 {:upvalue-count 7 :arity 0 :constants (">=" "=" "\\" 1 "<" "n" "append!" "\n" "t" "\t") :bytecode (18 0 18 1 52 0 0 2 33 4 0 2 32 217 0 18 2 48 0 1 2 0 52 1 0 2 33 157 0 18 3 1 3 0 48 1 5 18 0 18 1 52 4 0 2 33 129 0 18 2 48 0 17 0 16 0 1 5 0 52 1 0 2 33 12 0 18 4 1 7 0 52 6 0 2 32 88 0 16 0 1 8 0 52 1 0 2 33 12 0 18 4 1 9 0 52 6 0 2 32 64 0 16 0 1 2 0 52 1 0 2 33 12 0 18 4 1 2 0 52 6 0 2 32 40 0 16 0 18 5 52 1 0 2 33 11 0 18 4 18 5 52 6 0 2 32 18 0 18 4 1 2 0 52 6 0 2 5 18 4 16 0 52 6 0 2 5 18 3 1 3 0 48 1 32 1 0 2 5 18 6 49 0 32 46 0 18 2 48 0 18 5 52 1 0 2 33 10 0 18 3 1 3 0 49 1 32 23 0 18 4 18 2 48 0 52 6 0 2 5 18 3 1 3 0 48 1 5 18 6 49 0 50)} "join" "") :bytecode (52 0 0 0 17 1 18 0 1 1 0 48 1 5 51 2 0 0 1 0 2 0 3 0 0 1 1 1 0 1 2 17 2 5 16 2 48 0 5 1 4 0 16 1 52 3 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("list" 1 {:upvalue-count 7 :arity 0 :constants (">=" "=" "`" 1 "$" "<" "+" "{" "append!" "${" 2 {:upvalue-count 7 :arity 0 :constants ("<" ">" 0 "=" "{" "+" 1 "append!" "}" "-") :bytecode (18 0 18 1 52 0 0 2 6 33 10 0 5 18 2 1 2 0 52 1 0 2 33 162 0 18 3 48 0 1 4 0 52 3 0 2 33 38 0 18 2 1 6 0 52 5 0 2 19 2 5 18 4 18 3 48 0 52 7 0 2 5 18 5 1 6 0 48 1 5 18 6 49 0 32 107 0 18 3 48 0 1 8 0 52 3 0 2 33 70 0 18 2 1 6 0 52 9 0 2 19 2 5 18 2 1 2 0 52 1 0 2 33 13 0 18 4 18 3 48 0 52 7 0 2 32 1 0 2 5 18 5 1 6 0 48 1 5 18 2 1 2 0 52 1 0 2 33 7 0 18 6 49 0 32 1 0 2 32 23 0 18 4 18 3 48 0 52 7 0 2 5 18 5 1 6 0 48 1 5 18 6 49 0 32 1 0 2 50)} "}") :bytecode (18 0 18 1 52 0 0 2 33 4 0 2 32 165 0 18 2 48 0 1 2 0 52 1 0 2 33 10 0 18 3 1 3 0 49 1 32 141 0 18 2 48 0 1 4 0 52 1 0 2 6 33 35 0 5 18 0 1 3 0 52 6 0 2 18 1 52 5 0 2 6 33 15 0 5 18 4 1 3 0 48 1 1 7 0 52 1 0 2 33 65 0 18 5 1 9 0 52 8 0 2 5 18 3 1 10 0 48 1 5 1 3 0 17 0 51 11 0 0 0 0 1 1 0 0 2 0 5 0 3 1 1 17 1 5 16 1 48 0 5 18 5 1 12 0 52 8 0 2 5 18 6 49 0 32 23 0 18 5 18 2 48 0 52 8 0 2 5 18 3 1 3 0 48 1 5 18 6 49 0 50)} "join" "") :bytecode (52 0 0 0 17 0 18 0 1 1 0 48 1 5 51 2 0 0 1 0 2 0 3 0 0 0 4 1 0 1 1 17 1 5 16 1 48 0 5 1 4 0 16 0 52 3 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("list" 1 {:upvalue-count 7 :arity 0 :constants (">=" "=" "/" "<" "+" 1 ">" 2 "append!") :bytecode (18 0 18 1 52 0 0 2 33 4 0 2 32 86 0 18 2 48 0 1 2 0 52 1 0 2 6 33 35 0 5 18 0 1 5 0 52 4 0 2 18 1 52 3 0 2 6 33 15 0 5 18 3 1 5 0 48 1 1 6 0 52 1 0 2 33 10 0 18 4 1 7 0 49 1 32 23 0 18 5 18 2 48 0 52 8 0 2 5 18 4 1 5 0 48 1 5 18 6 49 0 50)} "join" "") :bytecode (52 0 0 0 17 0 18 0 1 1 0 48 1 5 51 2 0 0 1 0 2 0 3 0 4 0 0 1 0 1 1 17 1 5 16 1 48 0 5 1 4 0 16 0 52 3 0 2 50)} {:upvalue-count 6 :arity 1 :constants ("<" "hs-ident-char?" "=" ":" "[" "]" 1 "slice") :bytecode (18 0 18 1 52 0 0 2 6 33 58 0 5 20 1 0 18 2 48 0 48 1 6 34 44 0 5 18 2 48 0 1 3 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 5 0 52 2 0 2 33 17 0 18 3 1 6 0 48 1 5 18 4 16 0 48 1 32 1 0 2 5 18 5 16 0 18 0 52 7 0 3 50)} {:upvalue-count 1 :arity 3 :constants ("append!" "hs-make-token") :bytecode (18 0 20 1 0 16 0 16 1 16 2 48 3 52 0 0 2 50)} {:upvalue-count 15 :arity 0 :constants ("<" "=" "/" "+" 1 2 "not" "hs-letter?" "." "#" "[" "*" ":" "selector" "op" ".." "-" "_" "class" "hs-ident-start?" "id" "@" "hs-ident-char?" "attr" "~" "component" "str" "style" "local" "\"" "'" "s" ">=" "string" "`" "template" "hs-digit?" "number" "hs-keyword?" "keyword" "ident" "!" ">" "==" 3 "'s" "(" "paren-open" ")" "paren-close" "bracket-open" "]" "bracket-close" "{" "brace-open" "}" "brace-close" "," "comma" "%" "dot" "\\" "colon") :bytecode (18 0 48 0 5 18 1 18 2 52 0 0 2 33 193 8 18 3 48 0 17 0 18 1 17 1 16 0 1 2 0 52 1 0 2 6 33 35 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 15 0 5 18 4 1 4 0 48 1 1 2 0 52 1 0 2 33 20 0 18 5 1 5 0 48 1 5 18 6 48 0 5 18 7 49 0 32 109 8 16 0 1 0 0 52 1 0 2 6 33 151 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 131 0 5 18 4 1 4 0 48 1 1 1 0 52 1 0 2 52 6 0 1 6 33 108 0 5 20 7 0 18 4 1 4 0 48 1 48 1 6 34 91 0 5 18 4 1 4 0 48 1 1 8 0 52 1 0 2 6 34 72 0 5 18 4 1 4 0 48 1 1 9 0 52 1 0 2 6 34 53 0 5 18 4 1 4 0 48 1 1 10 0 52 1 0 2 6 34 34 0 5 18 4 1 4 0 48 1 1 11 0 52 1 0 2 6 34 15 0 5 18 4 1 4 0 48 1 1 12 0 52 1 0 2 33 21 0 18 8 1 13 0 18 9 48 0 16 1 48 3 5 18 7 49 0 32 177 7 16 0 1 8 0 52 1 0 2 6 33 35 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 15 0 5 18 4 1 4 0 48 1 1 8 0 52 1 0 2 33 28 0 18 8 1 14 0 1 15 0 16 1 48 3 5 18 5 1 5 0 48 1 5 18 7 49 0 32 98 7 16 0 1 8 0 52 1 0 2 6 33 71 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 51 0 5 20 7 0 18 4 1 4 0 48 1 48 1 6 34 34 0 5 18 4 1 4 0 48 1 1 16 0 52 1 0 2 6 34 15 0 5 18 4 1 4 0 48 1 1 17 0 52 1 0 2 33 31 0 18 5 1 4 0 48 1 5 18 8 1 18 0 18 10 18 1 48 1 16 1 48 3 5 18 7 49 0 32 236 6 16 0 1 9 0 52 1 0 2 6 33 33 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 13 0 5 20 19 0 18 4 1 4 0 48 1 48 1 33 31 0 18 5 1 4 0 48 1 5 18 8 1 20 0 18 11 18 1 48 1 16 1 48 3 5 18 7 49 0 32 156 6 16 0 1 21 0 52 1 0 2 6 33 33 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 13 0 5 20 22 0 18 4 1 4 0 48 1 48 1 33 31 0 18 5 1 4 0 48 1 5 18 8 1 23 0 18 11 18 1 48 1 16 1 48 3 5 18 7 49 0 32 76 6 16 0 1 24 0 52 1 0 2 6 33 33 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 13 0 5 20 7 0 18 4 1 4 0 48 1 48 1 33 38 0 18 5 1 4 0 48 1 5 18 8 1 25 0 1 24 0 18 11 18 1 48 1 52 26 0 2 16 1 48 3 5 18 7 49 0 32 245 5 16 0 1 11 0 52 1 0 2 6 33 33 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 13 0 5 20 7 0 18 4 1 4 0 48 1 48 1 33 31 0 18 5 1 4 0 48 1 5 18 8 1 27 0 18 11 18 1 48 1 16 1 48 3 5 18 7 49 0 32 165 5 16 0 1 12 0 52 1 0 2 6 33 33 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 13 0 5 20 19 0 18 4 1 4 0 48 1 48 1 33 31 0 18 5 1 4 0 48 1 5 18 8 1 28 0 18 11 18 1 48 1 16 1 48 3 5 18 7 49 0 32 85 5 16 0 1 29 0 52 1 0 2 6 34 94 0 5 16 0 1 30 0 52 1 0 2 6 33 80 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 56 0 5 18 4 1 4 0 48 1 1 31 0 52 1 0 2 6 33 37 0 5 18 1 1 5 0 52 3 0 2 18 2 52 32 0 2 6 34 17 0 5 20 22 0 18 4 1 5 0 48 1 48 1 52 6 0 1 52 6 0 1 33 23 0 18 8 1 33 0 18 12 16 0 48 1 16 1 48 3 5 18 7 49 0 32 208 4 16 0 1 34 0 52 1 0 2 33 21 0 18 8 1 35 0 18 13 48 0 16 1 48 3 5 18 7 49 0 32 175 4 20 36 0 16 0 48 1 33 23 0 18 8 1 37 0 18 14 16 1 48 1 16 1 48 3 5 18 7 49 0 32 142 4 20 19 0 16 0 48 1 33 43 0 18 11 16 1 48 1 17 2 18 8 20 38 0 16 2 48 1 33 6 0 1 39 0 32 3 0 1 40 0 16 2 16 1 48 3 5 18 7 49 0 32 89 4 16 0 1 1 0 52 1 0 2 6 34 38 0 5 16 0 1 41 0 52 1 0 2 6 34 24 0 5 16 0 1 0 0 52 1 0 2 6 34 10 0 5 16 0 1 42 0 52 1 0 2 6 33 35 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 15 0 5 18 4 1 4 0 48 1 1 1 0 52 1 0 2 33 128 0 16 0 1 1 0 52 1 0 2 6 34 10 0 5 16 0 1 41 0 52 1 0 2 6 33 35 0 5 18 1 1 5 0 52 3 0 2 18 2 52 0 0 2 6 33 15 0 5 18 4 1 5 0 48 1 1 1 0 52 1 0 2 33 29 0 18 8 1 14 0 16 0 1 43 0 52 26 0 2 16 1 48 3 5 18 5 1 44 0 48 1 32 26 0 18 8 1 14 0 16 0 1 1 0 52 26 0 2 16 1 48 3 5 18 5 1 5 0 48 1 5 18 7 49 0 32 124 3 16 0 1 30 0 52 1 0 2 6 33 76 0 5 18 1 1 4 0 52 3 0 2 18 2 52 0 0 2 6 33 56 0 5 18 4 1 4 0 48 1 1 31 0 52 1 0 2 6 33 37 0 5 18 1 1 5 0 52 3 0 2 18 2 52 32 0 2 6 34 17 0 5 20 22 0 18 4 1 5 0 48 1 48 1 52 6 0 1 33 28 0 18 8 1 14 0 1 45 0 16 1 48 3 5 18 5 1 5 0 48 1 5 18 7 49 0 32 4 3 16 0 1 46 0 52 1 0 2 33 28 0 18 8 1 47 0 1 46 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 220 2 16 0 1 48 0 52 1 0 2 33 28 0 18 8 1 49 0 1 48 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 180 2 16 0 1 10 0 52 1 0 2 33 28 0 18 8 1 50 0 1 10 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 140 2 16 0 1 51 0 52 1 0 2 33 28 0 18 8 1 52 0 1 51 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 100 2 16 0 1 53 0 52 1 0 2 33 28 0 18 8 1 54 0 1 53 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 60 2 16 0 1 55 0 52 1 0 2 33 28 0 18 8 1 56 0 1 55 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 20 2 16 0 1 57 0 52 1 0 2 33 28 0 18 8 1 58 0 1 57 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 236 1 16 0 1 3 0 52 1 0 2 33 28 0 18 8 1 14 0 1 3 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 196 1 16 0 1 16 0 52 1 0 2 33 28 0 18 8 1 14 0 1 16 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 156 1 16 0 1 2 0 52 1 0 2 33 28 0 18 8 1 14 0 1 2 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 116 1 16 0 1 1 0 52 1 0 2 33 28 0 18 8 1 14 0 1 1 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 76 1 16 0 1 0 0 52 1 0 2 33 28 0 18 8 1 14 0 1 0 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 36 1 16 0 1 42 0 52 1 0 2 33 28 0 18 8 1 14 0 1 42 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 252 0 16 0 1 41 0 52 1 0 2 33 28 0 18 8 1 14 0 1 41 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 212 0 16 0 1 11 0 52 1 0 2 33 28 0 18 8 1 14 0 1 11 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 172 0 16 0 1 59 0 52 1 0 2 33 28 0 18 8 1 14 0 1 59 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 132 0 16 0 1 8 0 52 1 0 2 33 28 0 18 8 1 60 0 1 8 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 92 0 16 0 1 61 0 52 1 0 2 33 28 0 18 8 1 14 0 1 61 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 52 0 16 0 1 12 0 52 1 0 2 33 28 0 18 8 1 62 0 1 12 0 16 1 48 3 5 18 5 1 4 0 48 1 5 18 7 49 0 32 12 0 18 5 1 4 0 48 1 5 18 7 49 0 32 1 0 2 50)} "eof") :bytecode (52 0 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 17 4 5 51 4 0 1 4 17 5 5 51 5 0 1 2 17 6 5 51 6 0 1 2 1 3 1 5 1 6 1 7 17 7 5 51 7 0 1 2 1 3 1 5 1 6 1 8 17 8 5 51 8 0 1 2 1 3 1 5 1 6 1 9 1 0 17 9 5 51 9 0 1 2 1 3 1 5 1 6 1 10 1 4 1 0 17 10 5 51 10 0 1 6 1 2 1 3 1 5 17 11 5 51 11 0 1 6 1 2 1 3 1 5 1 4 17 12 5 51 12 0 1 6 1 2 1 3 1 5 1 4 17 13 5 51 13 0 1 2 1 3 1 5 1 6 1 14 1 0 17 14 5 51 14 0 1 1 17 15 5 51 15 0 1 7 1 2 1 3 1 5 1 4 1 6 1 8 1 16 1 15 1 13 1 14 1 9 1 11 1 12 1 10 17 16 5 16 16 48 0 5 16 15 1 16 0 2 16 2 48 3 5 16 1 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 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 1 29 0 1 30 0 1 31 0 1 32 0 1 33 0 1 34 0 1 35 0 1 36 0 1 37 0 1 38 0 1 39 0 1 40 0 1 41 0 1 42 0 1 43 0 1 44 0 1 45 0 1 46 0 1 47 0 1 48 0 1 49 0 1 50 0 1 51 0 1 52 0 1 53 0 1 54 0 1 55 0 1 56 0 1 57 0 1 58 0 1 59 0 1 60 0 1 61 0 1 62 0 1 63 0 1 64 0 1 65 0 1 66 0 1 67 0 1 68 0 1 69 0 1 70 0 1 71 0 1 72 0 1 73 0 1 74 0 1 75 0 1 76 0 1 77 0 1 78 0 1 79 0 1 80 0 1 81 0 1 82 0 1 83 0 1 84 0 1 85 0 1 86 0 1 87 0 1 88 0 1 89 0 1 90 0 1 91 0 1 92 0 1 93 0 1 94 0 1 95 0 1 96 0 1 97 0 1 98 0 1 99 0 1 100 0 1 101 0 1 102 0 1 103 0 1 104 0 1 105 0 1 106 0 1 107 0 1 108 0 1 109 0 1 110 0 1 111 0 1 112 0 1 113 0 1 114 0 1 115 0 1 116 0 1 117 0 1 118 0 1 119 0 1 120 0 1 121 0 1 122 0 1 123 0 1 124 0 1 125 0 1 126 0 1 127 0 1 128 0 1 129 0 1 130 0 1 131 0 1 132 0 1 133 0 1 134 0 1 135 0 1 136 0 1 137 0 1 138 0 1 139 0 1 140 0 1 141 0 1 142 0 1 143 0 1 144 0 1 145 0 1 146 0 1 147 0 1 148 0 1 149 0 1 150 0 1 151 0 52 13 0 138 128 12 0 5 51 153 0 128 152 0 5 51 155 0 128 154 0 50))) diff --git a/shared/static/wasm/sx/module-manifest.json b/shared/static/wasm/sx/module-manifest.json index 50cf8b38..3de142c3 100644 --- a/shared/static/wasm/sx/module-manifest.json +++ b/shared/static/wasm/sx/module-manifest.json @@ -994,6 +994,7 @@ "hs-falsy?", "hs-matches?", "hs-contains?", + "precedes?", "hs-empty?", "hs-first", "hs-last", diff --git a/sx/sx/pretext-demo.sx b/sx/sx/pretext-demo.sx index 469cbee9..73aab725 100644 --- a/sx/sx/pretext-demo.sx +++ b/sx/sx/pretext-demo.sx @@ -1,171 +1,109 @@ ;; Pretext demo — DOM-free text layout ;; ;; Visual-first: shows typeset text, then explains how. -;; All layout computed server-side in pure SX. +;; All layout computed as data, then rendered. -;; Render a single line of positioned words -(defcomp - ~pretext-demo/render-line - (&key line-words line-widths gap-w y) - (let - ((positions (list)) (x 0)) - (for-each - (fn - (i) - (let - ((w (nth line-words i)) (ww (nth line-widths i))) - (append! - positions - (span - :style (str - "position:absolute;left:" - (+ x 16) - "px;top:" - (+ y 12) - "px;font-size:15px;line-height:24px;white-space:nowrap;") - w)) - (set! x (+ x ww gap-w)))) - (range (len line-words))) - positions)) +;; Compute positioned word data for one line. +;; Returns list of {:word :x :width} dicts. +(define + pretext-position-line + (fn + (words widths gap-w) + (let + loop + ((i 0) (x 0) (acc (list))) + (if + (>= i (len words)) + acc + (loop + (+ i 1) + (+ x (nth widths i) gap-w) + (append acc (list {:width (nth widths i) :x x :word (nth words i)}))))))) -;; Render a paragraph as positioned words using break-lines output +;; Compute all positioned lines for a paragraph. +;; Returns list of {:y :words [{:word :x :width}...]} dicts. +(define + pretext-layout-lines + (fn + (words widths ranges space-width max-width line-height) + (let + ((n-lines (len ranges))) + (map + (fn + (line-idx) + (let + ((range (nth ranges line-idx)) (y (* line-idx line-height))) + (let + ((start (first range)) (end (nth range 1))) + (let + ((lw (slice words start end)) + (lwid (slice widths start end))) + (let + ((total-w (reduce + 0 lwid)) + (n-gaps (max 1 (- (len lw) 1))) + (is-last (= line-idx (- n-lines 1)))) + (let + ((gap (if is-last space-width (/ (- max-width total-w) n-gaps)))) + {:y y :words (pretext-position-line lw lwid gap)})))))) + (range n-lines))))) + +;; Render pre-computed positioned lines (defcomp - ~pretext-demo/typeset-block - (&key words widths space-width max-width line-height label) + ~pretext-demo/render-paragraph + (&key lines max-width line-height n-words label) (let - ((ranges (break-lines widths space-width max-width)) - (lh (or line-height 24))) + ((lh (or line-height 24)) (n-lines (len lines))) (div - (~tw - :tokens "relative rounded-lg border border-stone-200 bg-white overflow-hidden") + :class "relative rounded-lg border border-stone-200 bg-white overflow-hidden" (when label (div - (~tw :tokens "px-4 pt-3 pb-1") + :class "px-4 pt-3 pb-1" (span - (~tw - :tokens "text-xs font-medium uppercase tracking-wide text-stone-400") + :class "text-xs font-medium uppercase tracking-wide text-stone-400" label))) (div :style (str "position:relative;height:" - (* (len ranges) lh) + (* n-lines lh) "px;padding:12px 16px;") - (map-indexed + (map (fn - (line-idx range) + (line) (let - ((start (first range)) - (end (nth range 1)) - (y (* line-idx lh)) - (line-words (slice words start end)) - (line-widths (slice widths start end)) - (total-word-w (reduce + 0 line-widths)) - (gaps (max 1 (- (len line-words) 1))) - (slack (- max-width total-word-w)) - (is-last (= line-idx (- (len ranges) 1))) - (gap-w (if is-last space-width (/ slack gaps)))) - (~pretext-demo/render-line - :line-words line-words - :line-widths line-widths - :gap-w gap-w - :y y))) - ranges)) - (div - (~tw - :tokens "px-4 py-2 border-t border-stone-100 bg-stone-50 flex justify-between") - (span - (~tw :tokens "text-xs text-stone-400") - (str (len ranges) " lines, " (len words) " words")) - (span - (~tw :tokens "text-xs text-stone-400") - (str "width: " max-width "px")))))) - -;; Simple greedy word wrap for comparison -(defcomp - ~pretext-demo/greedy-block - (&key words widths space-width max-width line-height label) - (let - ((n (len widths)) - (lines (list)) - (current-start 0) - (current-width 0) - (lh (or line-height 24))) - (for-each - (fn - (i) - (let - ((w (nth widths i)) - (needed - (if (= i current-start) w (+ current-width space-width w)))) - (if - (and (> needed max-width) (not (= i current-start))) - (do - (append! lines (list current-start i)) - (set! current-start i) - (set! current-width w)) - (set! current-width needed)))) - (range n)) - (append! lines (list current-start n)) - (div - (~tw - :tokens "relative rounded-lg border border-stone-200 bg-white overflow-hidden") - (when - label - (div - (~tw :tokens "px-4 pt-3 pb-1") - (span - (~tw - :tokens "text-xs font-medium uppercase tracking-wide text-stone-400") - label))) - (div - :style (str - "position:relative;height:" - (* (len lines) lh) - "px;padding:12px 16px;") - (map-indexed - (fn - (line-idx range) - (let - ((start (first range)) - (end (nth range 1)) - (y (* line-idx lh)) - (line-words (slice words start end)) - (line-widths (slice widths start end)) - (total-word-w (reduce + 0 line-widths)) - (gaps (max 1 (- (len line-words) 1))) - (slack (- max-width total-word-w)) - (is-last (= line-idx (- (len lines) 1))) - (gap-w (if is-last space-width (/ slack gaps)))) - (~pretext-demo/render-line - :line-words line-words - :line-widths line-widths - :gap-w gap-w - :y y))) + ((y (get line :y))) + (map + (fn + (pw) + (span + :style (str + "position:absolute;left:" + (+ (get pw :x) 16) + "px;top:" + (+ y 12) + "px;font-size:15px;line-height:" + lh + "px;white-space:nowrap;") + (get pw :word))) + (get line :words)))) lines)) (div - (~tw - :tokens "px-4 py-2 border-t border-stone-100 bg-stone-50 flex justify-between") + :class "px-4 py-2 border-t border-stone-100 bg-stone-50 flex justify-between" (span - (~tw :tokens "text-xs text-stone-400") - (str (len lines) " lines (greedy)")) - (span - (~tw :tokens "text-xs text-stone-400") - (str "width: " max-width "px")))))) + :class "text-xs text-stone-400" + (str n-lines " lines, " n-words " words")) + (span :class "text-xs text-stone-400" (str "width: " max-width "px")))))) (defcomp ~pretext-demo/content () (let - ((sample-text "In the beginning was the Word, and the Word was with God, and the Word was God. The same was in the beginning with God. All things were made by him; and without him was not any thing made that was made. In him was life; and the life was the light of men.") - (sample-words - (split - "In the beginning was the Word, and the Word was with God, and the Word was God. The same was in the beginning with God. All things were made by him; and without him was not any thing made that was made. In him was life; and the life was the light of men." - " ")) + ((sample-words (split "In the beginning was the Word, and the Word was with God, and the Word was God. The same was in the beginning with God. All things were made by him; and without him was not any thing made that was made. In him was life; and the life was the light of men." " ")) (char-w 9.6) (space-w 9.6)) (let - ((sample-widths (map (fn (w) (* (len w) char-w)) sample-words))) + ((sw (map (fn (w) (* (len w) char-w)) sample-words)) + (n-words (len sample-words))) (div (~tw :tokens "space-y-10") (div @@ -177,14 +115,21 @@ (p (~tw :tokens "mt-1 text-lg text-stone-500") "DOM-free text layout. One IO boundary. Pure arithmetic.")) - (div - (~tw :tokens "max-w-xl mx-auto mt-6") - (~pretext-demo/typeset-block - :words sample-words - :widths sample-widths - :space-width space-w - :max-width 520 - :label "Knuth-Plass optimal line breaking — John 1:1–4"))) + (let + ((hero-max 520) (hero-ranges (break-lines sw space-w 520))) + (div + (~tw :tokens "max-w-xl mx-auto mt-6") + (~pretext-demo/render-paragraph + :lines (pretext-layout-lines + sample-words + sw + hero-ranges + space-w + hero-max + 24) + :max-width hero-max + :n-words n-words + :label "Knuth-Plass optimal line breaking — John 1:1–4")))) (div (~tw :tokens "rounded-lg border border-violet-200 bg-violet-50 p-5") (p @@ -205,24 +150,35 @@ "Most web text uses greedy word wrap — break when the next word doesn't fit. " "Knuth-Plass considers all possible breaks simultaneously, minimizing total raggedness.") (let - ((narrow-widths (map (fn (w) (* (len w) 7.8)) sample-words)) - (narrow-sw 7.8) - (narrow-max 340)) + ((nw (map (fn (w) (* (len w) 7.8)) sample-words)) + (ns 7.8) + (nm 340) + (nlh 22)) (div (~tw :tokens "grid grid-cols-1 md:grid-cols-2 gap-4") - (~pretext-demo/greedy-block - :words sample-words - :widths narrow-widths - :space-width narrow-sw - :max-width narrow-max - :line-height 22 + (~pretext-demo/render-paragraph + :lines (pretext-layout-lines + sample-words + nw + (break-lines-greedy nw ns nm) + ns + nm + nlh) + :max-width nm + :line-height nlh + :n-words n-words :label "Greedy (browser default)") - (~pretext-demo/typeset-block - :words sample-words - :widths narrow-widths - :space-width narrow-sw - :max-width narrow-max - :line-height 22 + (~pretext-demo/render-paragraph + :lines (pretext-layout-lines + sample-words + nw + (break-lines nw ns nm) + ns + nm + nlh) + :max-width nm + :line-height nlh + :n-words n-words :label "Knuth-Plass optimal")))) (div (~tw :tokens "space-y-3")