Add .sxbc s-expression bytecode format
Bytecode modules are now serialized as s-expressions (.sxbc) in addition to JSON (.sxbc.json). The .sxbc format is the canonical representation — content-addressable, parseable by the SX parser, and suitable for CID referencing. Annotation layers (source maps, variable names, tests, docs) can reference the bytecode CID without polluting the bytecode itself. Format: (sxbc version hash (code :arity N :bytecode (...) :constants (...))) The browser loader tries .sxbc first (via load-sxbc kernel primitive), falls back to .sxbc.json. Caddy needs .sxbc MIME type to serve the new format (currently 404s, JSON fallback works). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* compile-modules.js — Pre-compile .sx files to bytecode JSON.
|
||||
* compile-modules.js — Pre-compile .sx files to bytecode s-expressions.
|
||||
*
|
||||
* Uses the js_of_ocaml kernel in Node.js to compile each .sx module,
|
||||
* then serializes the bytecode as JSON for fast browser loading.
|
||||
* then serializes the bytecode as .sxbc (s-expression format) for browser loading.
|
||||
*
|
||||
* Usage: node compile-modules.js [dist-dir]
|
||||
*/
|
||||
@@ -59,7 +59,6 @@ for (const file of FILES) {
|
||||
const hash = crypto.createHash('sha256').update(src).digest('hex').slice(0, 16);
|
||||
|
||||
try {
|
||||
// Parse source to get expression list, then compile
|
||||
const code = K.eval('(compile-module (sx-parse ' + JSON.stringify(src) + '))');
|
||||
|
||||
if (typeof code === 'string' && code.startsWith('Error')) {
|
||||
@@ -68,15 +67,22 @@ for (const file of FILES) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const sx = serializeModuleToSx(code, hash);
|
||||
|
||||
// Write .sxbc (s-expression format)
|
||||
const outPath = srcPath.replace(/\.sx$/, '.sxbc');
|
||||
fs.writeFileSync(outPath, sx);
|
||||
|
||||
// Also write .sxbc.json for backwards compatibility during transition
|
||||
const json = {
|
||||
magic: 'SXBC',
|
||||
version: 1,
|
||||
hash: hash,
|
||||
module: serializeModule(code),
|
||||
module: serializeModuleToJson(code),
|
||||
};
|
||||
const jsonPath = srcPath.replace(/\.sx$/, '.sxbc.json');
|
||||
fs.writeFileSync(jsonPath, JSON.stringify(json));
|
||||
|
||||
const outPath = srcPath.replace(/\.sx$/, '.sxbc.json');
|
||||
fs.writeFileSync(outPath, JSON.stringify(json));
|
||||
const size = fs.statSync(outPath).size;
|
||||
console.log(' ok', file, '→', Math.round(size / 1024) + 'K');
|
||||
compiled++;
|
||||
@@ -88,13 +94,93 @@ for (const file of FILES) {
|
||||
|
||||
console.log('Done:', compiled, 'compiled,', skipped, 'skipped');
|
||||
|
||||
// --- Serialization ---
|
||||
// --- S-expression serialization ---
|
||||
|
||||
function serializeModule(code) {
|
||||
return {
|
||||
function serializeModuleToSx(code, hash) {
|
||||
return '(sxbc 1 "' + hash + '"\n ' + serializeCodeToSx(code, 2) + ')\n';
|
||||
}
|
||||
|
||||
function serializeCodeToSx(code, indent) {
|
||||
const pad = ' '.repeat(indent);
|
||||
const bc = extractList(code.bytecode);
|
||||
const consts = extractList(code.constants);
|
||||
const arity = code.arity || code['arity'] || 0;
|
||||
const uvc = code['upvalue-count'] || 0;
|
||||
|
||||
let parts = ['(code'];
|
||||
if (arity) parts.push(' :arity ' + arity);
|
||||
if (uvc) parts.push(' :upvalue-count ' + uvc);
|
||||
parts.push('\n' + pad + ' :bytecode (' + bc.join(' ') + ')');
|
||||
parts.push('\n' + pad + ' :constants (');
|
||||
|
||||
const constStrs = consts.map(c => serializeConstToSx(c, indent + 4));
|
||||
if (constStrs.length > 0) {
|
||||
parts.push('\n' + constStrs.map(s => pad + ' ' + s).join('\n'));
|
||||
parts.push(')');
|
||||
} else {
|
||||
parts[parts.length - 1] += ')';
|
||||
}
|
||||
parts.push(')');
|
||||
return parts.join('');
|
||||
}
|
||||
|
||||
function serializeConstToSx(c, indent) {
|
||||
if (c === null || c === undefined) return 'nil';
|
||||
if (typeof c === 'number') return String(c);
|
||||
if (typeof c === 'string') return '"' + c.replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '"';
|
||||
if (typeof c === 'boolean') return c ? 'true' : 'false';
|
||||
if (c._type === 'symbol') return "'" + c.name;
|
||||
if (c._type === 'keyword') return ':' + c.name;
|
||||
if (c._type === 'list') {
|
||||
const items = extractList(c).map(x => serializeConstToSx(x, indent));
|
||||
return '(list ' + items.join(' ') + ')';
|
||||
}
|
||||
// Code object (nested lambda bytecode)
|
||||
if (c.bytecode) return serializeCodeToSx(c, indent);
|
||||
if (c._type === 'dict') {
|
||||
const bc = c.get ? c.get('bytecode') : c.bytecode;
|
||||
if (bc) return serializeCodeToSx(c, indent);
|
||||
// Regular dict — serialize as {:key val ...}
|
||||
const entries = [];
|
||||
if (c.forEach) c.forEach((v, k) => { entries.push(':' + k + ' ' + serializeConstToSx(v, indent)); });
|
||||
return '{' + entries.join(' ') + '}';
|
||||
}
|
||||
return 'nil';
|
||||
}
|
||||
|
||||
// --- JSON serialization (backwards compat) ---
|
||||
|
||||
function serializeModuleToJson(code) {
|
||||
const result = {
|
||||
bytecode: extractList(code.bytecode),
|
||||
constants: extractList(code.constants).map(serializeConstant),
|
||||
constants: extractList(code.constants).map(serializeConstantJson),
|
||||
};
|
||||
const arity = code.arity || code['arity'];
|
||||
const uvc = code['upvalue-count'];
|
||||
const locals = code.locals || code['locals'];
|
||||
if (arity) result.arity = typeof arity === 'number' ? arity : 0;
|
||||
if (uvc) result['upvalue-count'] = typeof uvc === 'number' ? uvc : 0;
|
||||
if (locals) result.locals = typeof locals === 'number' ? locals : 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
function serializeConstantJson(c) {
|
||||
if (c === null || c === undefined) return { t: 'nil' };
|
||||
if (typeof c === 'number') return { t: 'n', v: c };
|
||||
if (typeof c === 'string') return { t: 's', v: c };
|
||||
if (typeof c === 'boolean') return { t: 'b', v: c };
|
||||
if (c._type === 'symbol') return { t: 'sym', v: c.name };
|
||||
if (c._type === 'keyword') return { t: 'kw', v: c.name };
|
||||
if (c._type === 'list') return { t: 'list', v: extractList(c).map(serializeConstantJson) };
|
||||
if (c.bytecode) return { t: 'code', v: serializeModuleToJson(c) };
|
||||
if (c._type === 'dict') {
|
||||
const bc = c.get ? c.get('bytecode') : c.bytecode;
|
||||
if (bc) return { t: 'code', v: serializeModuleToJson(c) };
|
||||
const entries = {};
|
||||
if (c.forEach) c.forEach((v, k) => { entries[k] = serializeConstantJson(v); });
|
||||
return { t: 'dict', v: entries };
|
||||
}
|
||||
return { t: 'nil' };
|
||||
}
|
||||
|
||||
function extractList(v) {
|
||||
@@ -104,25 +190,3 @@ function extractList(v) {
|
||||
if (v.items) return v.items;
|
||||
return [];
|
||||
}
|
||||
|
||||
function serializeConstant(c) {
|
||||
if (c === null || c === undefined) return { t: 'nil' };
|
||||
if (typeof c === 'number') return { t: 'n', v: c };
|
||||
if (typeof c === 'string') return { t: 's', v: c };
|
||||
if (typeof c === 'boolean') return { t: 'b', v: c };
|
||||
if (c._type === 'symbol') return { t: 'sym', v: c.name };
|
||||
if (c._type === 'keyword') return { t: 'kw', v: c.name };
|
||||
if (c._type === 'list') return { t: 'list', v: extractList(c).map(serializeConstant) };
|
||||
// Code object (nested lambda bytecode)
|
||||
if (c.bytecode) return { t: 'code', v: serializeModule(c) };
|
||||
if (c._type === 'dict') {
|
||||
// Check if it's a code object stored as dict
|
||||
const bc = c.get ? c.get('bytecode') : c.bytecode;
|
||||
if (bc) return { t: 'code', v: serializeModule(c) };
|
||||
// Regular dict
|
||||
const entries = {};
|
||||
if (c.forEach) c.forEach((v, k) => { entries[k] = serializeConstant(v); });
|
||||
return { t: 'dict', v: entries };
|
||||
}
|
||||
return { t: 'nil' };
|
||||
}
|
||||
|
||||
@@ -503,6 +503,41 @@ let () =
|
||||
let d = Hashtbl.create 2 in Hashtbl.replace d "ok" (Bool false); Hashtbl.replace d "error" (String msg); Dict d)
|
||||
| _ -> raise (Eval_error "try-call: 1 arg"));
|
||||
|
||||
(* --- Bytecode loading from s-expression format ---
|
||||
(sxbc version hash (code :arity N :upvalue-count N :bytecode (...) :constants (...)))
|
||||
Recursively converts the SX tree into the dict format that loadModule expects. *)
|
||||
bind "load-sxbc" (fun args ->
|
||||
match args with
|
||||
| [List (_ :: _ :: _ :: code_form :: _)] | [List (_ :: _ :: code_form :: _)] ->
|
||||
let rec convert_code form =
|
||||
match form with
|
||||
| List (Symbol "code" :: rest) ->
|
||||
let d = Hashtbl.create 8 in
|
||||
let rec parse_kv = function
|
||||
| Keyword "arity" :: Number n :: rest -> Hashtbl.replace d "arity" (Number n); parse_kv rest
|
||||
| Keyword "upvalue-count" :: Number n :: rest -> Hashtbl.replace d "upvalue-count" (Number n); parse_kv rest
|
||||
| Keyword "bytecode" :: List nums :: rest ->
|
||||
Hashtbl.replace d "bytecode" (List nums); parse_kv rest
|
||||
| Keyword "constants" :: List consts :: rest ->
|
||||
Hashtbl.replace d "constants" (List (List.map convert_const consts)); parse_kv rest
|
||||
| _ :: rest -> parse_kv rest (* skip unknown keywords *)
|
||||
| [] -> ()
|
||||
in
|
||||
parse_kv rest;
|
||||
Dict d
|
||||
| _ -> raise (Eval_error ("load-sxbc: expected (code ...), got " ^ type_of form))
|
||||
and convert_const = function
|
||||
| List (Symbol "code" :: _) as form -> convert_code form
|
||||
| List (Symbol "list" :: items) -> List (List.map convert_const items)
|
||||
| v -> v (* strings, numbers, booleans, nil, symbols, keywords pass through *)
|
||||
in
|
||||
let module_val = convert_code code_form in
|
||||
let code = Sx_vm.code_from_value module_val in
|
||||
let _result = Sx_vm.execute_module code _vm_globals in
|
||||
sync_vm_to_env ();
|
||||
Number (float_of_int (Hashtbl.length _vm_globals))
|
||||
| _ -> raise (Eval_error "load-sxbc: expected (sxbc version hash (code ...))"));
|
||||
|
||||
(* --- List mutation --- *)
|
||||
bind "append!" (fun args ->
|
||||
match args with
|
||||
|
||||
@@ -199,6 +199,7 @@
|
||||
|
||||
/**
|
||||
* Deserialize type-tagged JSON constant back to JS value for loadModule.
|
||||
* (Legacy — used for .sxbc.json fallback)
|
||||
*/
|
||||
function deserializeConstant(c) {
|
||||
if (!c || !c.t) return null;
|
||||
@@ -228,33 +229,58 @@
|
||||
}
|
||||
|
||||
/**
|
||||
* Try loading a pre-compiled .sxbc.json bytecode module.
|
||||
* Try loading a pre-compiled bytecode module.
|
||||
* Tries .sxbc (s-expression) first, falls back to .sxbc.json (legacy).
|
||||
* Returns true on success, null on failure (caller falls back to .sx source).
|
||||
*/
|
||||
function loadBytecodeFile(path) {
|
||||
var bcPath = path.replace(/\.sx$/, '.sxbc.json');
|
||||
var url = _baseUrl + bcPath + _cacheBust;
|
||||
// Try .sxbc (s-expression format) first
|
||||
var sxbcPath = path.replace(/\.sx$/, '.sxbc');
|
||||
var url = _baseUrl + sxbcPath + _cacheBust;
|
||||
try {
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", url, false);
|
||||
xhr.send();
|
||||
if (xhr.status !== 200) return null;
|
||||
if (xhr.status === 200 && xhr.responseText.indexOf("(sxbc") === 0) {
|
||||
// Parse with the SX kernel — returns the (sxbc ...) form
|
||||
var parsed = K.eval('(first (sx-parse ' + JSON.stringify(xhr.responseText) + '))');
|
||||
// (sxbc version hash (code ...)) — third element is the module
|
||||
var module = K.eval('(nth (sx-parse ' + JSON.stringify(xhr.responseText) + ') 0)');
|
||||
// Use evalSxbc which understands the sxbc format
|
||||
var result = K.eval('(load-sxbc (first (sx-parse ' + JSON.stringify(xhr.responseText) + ')))');
|
||||
if (typeof result === 'string' && result.indexOf('Error') === 0) {
|
||||
console.warn("[sx-platform] sxbc FAIL " + path + ":", result);
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch(e) {
|
||||
// Fall through to JSON
|
||||
}
|
||||
|
||||
var json = JSON.parse(xhr.responseText);
|
||||
// Fallback: .sxbc.json (legacy format)
|
||||
var bcPath = path.replace(/\.sx$/, '.sxbc.json');
|
||||
url = _baseUrl + bcPath + _cacheBust;
|
||||
try {
|
||||
var xhr2 = new XMLHttpRequest();
|
||||
xhr2.open("GET", url, false);
|
||||
xhr2.send();
|
||||
if (xhr2.status !== 200) return null;
|
||||
|
||||
var json = JSON.parse(xhr2.responseText);
|
||||
if (!json.module || json.magic !== 'SXBC') return null;
|
||||
|
||||
var module = {
|
||||
var module2 = {
|
||||
_type: 'dict',
|
||||
bytecode: { _type: 'list', items: json.module.bytecode },
|
||||
constants: { _type: 'list', items: json.module.constants.map(deserializeConstant) },
|
||||
};
|
||||
|
||||
var result = K.loadModule(module);
|
||||
if (typeof result === 'string' && result.indexOf('Error') === 0) {
|
||||
console.warn("[sx-platform] bytecode FAIL " + path + ":", result);
|
||||
var result2 = K.loadModule(module2);
|
||||
if (typeof result2 === 'string' && result2.indexOf('Error') === 0) {
|
||||
console.warn("[sx-platform] bytecode FAIL " + path + ":", result2);
|
||||
return null;
|
||||
}
|
||||
console.log("[sx-platform] ok " + path + " (bytecode)");
|
||||
return true;
|
||||
} catch(e) {
|
||||
console.error("[sx-platform] bytecode EXCEPTION " + path + ":", e);
|
||||
|
||||
1184
shared/static/wasm/sx/adapter-dom.sxbc
Normal file
1184
shared/static/wasm/sx/adapter-dom.sxbc
Normal file
File diff suppressed because one or more lines are too long
543
shared/static/wasm/sx/adapter-html.sxbc
Normal file
543
shared/static/wasm/sx/adapter-html.sxbc
Normal file
@@ -0,0 +1,543 @@
|
||||
(sxbc 1 "086e7cdb6c662abb"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 1 6 0 1 7 0 1 8 0 1 9 0 1 10 0 1 11 0 1 12 0 1 13 0 1 14 0 1 15 0 1 16 0 1 17 0 1 18 0 1 19 0 1 20 0 1 21 0 1 22 0 1 23 0 1 24 0 1 25 0 1 26 0 1 27 0 52 5 0 22 128 4 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 41 0 128 40 0 5 51 43 0 128 42 0 5 51 45 0 128 44 0 5 51 47 0 128 46 0 50)
|
||||
:constants (
|
||||
"render-to-html"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 3 48 1 5 16 0 52 1 0 1 6 1 2 0 52 3 0 2 33 7 0 5 1 4 0 32 27 1 6 1 5 0 52 3 0 2 33 11 0 5 20 6 0 16 0 49 1 32 5 1 6 1 7 0 52 3 0 2 33 10 0 5 16 0 52 8 0 1 32 240 0 6 1 9 0 52 3 0 2 33 18 0 5 16 0 33 6 0 1 10 0 32 3 0 1 11 0 32 211 0 6 1 12 0 52 3 0 2 33 28 0 5 16 0 52 13 0 1 33 6 0 1 4 0 32 9 0 20 14 0 16 0 16 1 49 2 32 172 0 6 1 15 0 52 3 0 2 33 25 0 5 20 16 0 20 17 0 20 18 0 16 0 16 1 48 2 48 1 16 1 49 2 32 136 0 6 1 19 0 52 3 0 2 33 16 0 5 20 6 0 20 20 0 16 0 48 1 49 1 32 109 0 6 1 21 0 52 3 0 2 33 10 0 5 16 0 52 22 0 1 32 88 0 6 1 23 0 52 3 0 2 33 21 0 5 1 25 0 16 0 52 26 0 1 52 24 0 2 5 1 4 0 32 56 0 6 1 27 0 52 3 0 2 33 23 0 5 20 28 0 20 29 0 16 0 48 1 20 30 0 16 0 48 1 49 2 32 22 0 5 20 16 0 20 17 0 20 18 0 16 0 16 1 48 2 48 1 16 1 49 2 50)
|
||||
:constants (
|
||||
"set-render-active!"
|
||||
"type-of"
|
||||
"nil"
|
||||
"="
|
||||
""
|
||||
"string"
|
||||
"escape-html"
|
||||
"number"
|
||||
"str"
|
||||
"boolean"
|
||||
"true"
|
||||
"false"
|
||||
"list"
|
||||
"empty?"
|
||||
"render-list-to-html"
|
||||
"symbol"
|
||||
"render-value-to-html"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"keyword"
|
||||
"keyword-name"
|
||||
"raw-html"
|
||||
"raw-html-content"
|
||||
"spread"
|
||||
"scope-emit!"
|
||||
"element-attrs"
|
||||
"spread-attrs"
|
||||
"thunk"
|
||||
"render-to-html"
|
||||
"thunk-expr"
|
||||
"thunk-env"))
|
||||
"render-value-to-html"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 0 0 1 6 1 1 0 52 2 0 2 33 7 0 5 1 3 0 32 195 0 6 1 4 0 52 2 0 2 33 11 0 5 20 5 0 16 0 49 1 32 173 0 6 1 6 0 52 2 0 2 33 10 0 5 16 0 52 7 0 1 32 152 0 6 1 8 0 52 2 0 2 33 18 0 5 16 0 33 6 0 1 9 0 32 3 0 1 10 0 32 123 0 6 1 11 0 52 2 0 2 33 13 0 5 20 12 0 16 0 16 1 49 2 32 99 0 6 1 13 0 52 2 0 2 33 10 0 5 16 0 52 14 0 1 32 78 0 6 1 15 0 52 2 0 2 33 21 0 5 1 17 0 16 0 52 18 0 1 52 16 0 2 5 1 3 0 32 46 0 6 1 19 0 52 2 0 2 33 23 0 5 20 20 0 20 21 0 16 0 48 1 20 22 0 16 0 48 1 49 2 32 12 0 5 20 5 0 16 0 52 7 0 1 49 1 50)
|
||||
:constants (
|
||||
"type-of"
|
||||
"nil"
|
||||
"="
|
||||
""
|
||||
"string"
|
||||
"escape-html"
|
||||
"number"
|
||||
"str"
|
||||
"boolean"
|
||||
"true"
|
||||
"false"
|
||||
"list"
|
||||
"render-list-to-html"
|
||||
"raw-html"
|
||||
"raw-html-content"
|
||||
"spread"
|
||||
"scope-emit!"
|
||||
"element-attrs"
|
||||
"spread-attrs"
|
||||
"thunk"
|
||||
"render-to-html"
|
||||
"thunk-expr"
|
||||
"thunk-env"))
|
||||
"RENDER_HTML_FORMS"
|
||||
"list"
|
||||
"if"
|
||||
"when"
|
||||
"cond"
|
||||
"case"
|
||||
"let"
|
||||
"let*"
|
||||
"letrec"
|
||||
"begin"
|
||||
"do"
|
||||
"define"
|
||||
"defcomp"
|
||||
"defisland"
|
||||
"defmacro"
|
||||
"defstyle"
|
||||
"deftype"
|
||||
"defeffect"
|
||||
"map"
|
||||
"map-indexed"
|
||||
"filter"
|
||||
"for-each"
|
||||
"scope"
|
||||
"provide"
|
||||
"render-html-form?"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"contains?"
|
||||
"RENDER_HTML_FORMS"))
|
||||
"render-list-to-html"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 0 0 1 33 6 0 1 1 0 32 15 2 16 0 52 2 0 1 17 2 16 2 52 5 0 1 1 6 0 52 4 0 2 52 3 0 1 33 21 0 1 1 0 51 9 0 1 1 16 0 52 8 0 2 52 7 0 2 32 222 1 20 10 0 16 2 48 1 17 3 16 0 52 11 0 1 17 4 16 3 1 12 0 52 4 0 2 33 21 0 1 1 0 51 13 0 1 1 16 4 52 8 0 2 52 7 0 2 32 172 1 16 3 1 14 0 52 4 0 2 33 21 0 1 1 0 51 15 0 1 1 16 4 52 8 0 2 52 7 0 2 32 139 1 16 3 1 16 0 52 4 0 2 33 12 0 20 17 0 16 4 16 1 49 2 32 115 1 16 3 1 18 0 52 4 0 2 33 12 0 20 19 0 16 4 16 1 49 2 32 91 1 16 3 1 20 0 52 4 0 2 6 34 24 0 5 16 3 1 21 0 52 4 0 2 6 34 10 0 5 16 3 1 22 0 52 4 0 2 33 21 0 1 1 0 51 13 0 1 1 16 4 52 8 0 2 52 7 0 2 32 30 1 20 24 0 16 3 52 23 0 2 33 14 0 20 25 0 16 3 16 4 16 1 49 3 32 4 1 16 3 1 27 0 52 26 0 2 6 33 28 0 5 20 28 0 16 1 16 3 48 2 6 33 14 0 5 20 30 0 16 1 16 3 48 2 52 29 0 1 33 21 0 20 31 0 20 30 0 16 1 16 3 48 2 16 4 16 1 49 3 32 195 0 16 3 1 27 0 52 26 0 2 33 80 0 20 30 0 16 1 16 3 48 2 17 5 16 5 52 32 0 1 33 14 0 20 33 0 16 5 16 4 16 1 49 3 32 43 0 16 5 52 34 0 1 33 21 0 20 35 0 20 36 0 16 5 16 4 16 1 48 3 16 1 49 2 32 13 0 1 39 0 16 3 52 38 0 2 52 37 0 1 32 103 0 20 40 0 16 3 48 1 33 14 0 20 41 0 16 3 16 0 16 1 49 3 32 79 0 20 28 0 16 1 16 3 48 2 6 33 14 0 5 20 30 0 16 1 16 3 48 2 52 34 0 1 33 28 0 20 35 0 20 36 0 20 30 0 16 1 16 3 48 2 16 4 16 1 48 3 16 1 49 2 32 21 0 20 42 0 20 43 0 20 44 0 16 0 16 1 48 2 48 1 16 1 49 2 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
""
|
||||
"first"
|
||||
"not"
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"join"
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"render-value-to-html"))
|
||||
"symbol-name"
|
||||
"rest"
|
||||
"<>"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"render-to-html"))
|
||||
"raw!"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 1 0 20 2 0 16 0 18 0 48 2 48 1 52 0 0 1 50)
|
||||
:constants (
|
||||
"str"
|
||||
"trampoline"
|
||||
"eval-expr"))
|
||||
"lake"
|
||||
"render-html-lake"
|
||||
"marsh"
|
||||
"render-html-marsh"
|
||||
"portal"
|
||||
"error-boundary"
|
||||
"promise-delayed"
|
||||
"contains?"
|
||||
"HTML_TAGS"
|
||||
"render-html-element"
|
||||
"starts-with?"
|
||||
"~"
|
||||
"env-has?"
|
||||
"island?"
|
||||
"env-get"
|
||||
"render-html-island"
|
||||
"component?"
|
||||
"render-html-component"
|
||||
"macro?"
|
||||
"render-to-html"
|
||||
"expand-macro"
|
||||
"error"
|
||||
"str"
|
||||
"Unknown component: "
|
||||
"render-html-form?"
|
||||
"dispatch-html-form"
|
||||
"render-value-to-html"
|
||||
"trampoline"
|
||||
"eval-expr"))
|
||||
"dispatch-html-form"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 88 0 20 2 0 20 3 0 16 1 1 5 0 52 4 0 2 16 2 48 2 48 1 17 3 16 3 33 19 0 20 6 0 16 1 1 7 0 52 4 0 2 16 2 49 2 32 38 0 16 1 52 9 0 1 1 10 0 52 8 0 2 33 19 0 20 6 0 16 1 1 10 0 52 4 0 2 16 2 49 2 32 3 0 1 11 0 32 227 4 16 0 1 12 0 52 0 0 2 33 103 0 20 2 0 20 3 0 16 1 1 5 0 52 4 0 2 16 2 48 2 48 1 52 13 0 1 33 6 0 1 11 0 32 66 0 16 1 52 9 0 1 1 10 0 52 0 0 2 33 19 0 20 6 0 16 1 1 7 0 52 4 0 2 16 2 49 2 32 31 0 1 11 0 51 16 0 1 1 1 2 1 7 0 16 1 52 9 0 1 52 17 0 2 52 15 0 2 52 14 0 2 32 112 4 16 0 1 18 0 52 0 0 2 33 38 0 20 19 0 16 1 52 20 0 1 16 2 48 2 17 3 16 3 33 12 0 20 6 0 16 3 16 2 49 2 32 3 0 1 11 0 32 62 4 16 0 1 21 0 52 0 0 2 33 24 0 20 6 0 20 2 0 20 3 0 16 1 16 2 48 2 48 1 16 2 49 2 32 26 4 16 0 1 22 0 52 0 0 2 33 107 0 16 1 1 5 0 52 4 0 2 17 3 16 1 1 7 0 52 23 0 2 17 4 20 24 0 16 2 48 1 17 5 51 26 0 1 5 16 3 52 25 0 2 5 51 27 0 1 5 16 3 52 25 0 2 5 16 4 52 9 0 1 1 5 0 52 8 0 2 33 18 0 51 28 0 1 5 16 4 52 29 0 1 52 25 0 2 32 1 0 2 5 20 6 0 16 4 52 30 0 1 16 5 49 2 32 163 3 16 0 1 31 0 52 0 0 2 6 34 10 0 5 16 0 1 32 0 52 0 0 2 33 87 0 20 33 0 16 1 1 5 0 52 4 0 2 16 2 48 2 17 3 16 1 52 9 0 1 1 10 0 52 0 0 2 33 19 0 20 6 0 16 1 1 7 0 52 4 0 2 16 3 49 2 32 31 0 1 11 0 51 16 0 1 1 1 3 1 7 0 16 1 52 9 0 1 52 17 0 2 52 15 0 2 52 14 0 2 32 50 3 16 0 1 34 0 52 0 0 2 6 34 10 0 5 16 0 1 35 0 52 0 0 2 33 69 0 16 1 52 9 0 1 1 7 0 52 0 0 2 33 19 0 20 6 0 16 1 1 5 0 52 4 0 2 16 2 49 2 32 31 0 1 11 0 51 16 0 1 1 1 2 1 5 0 16 1 52 9 0 1 52 17 0 2 52 15 0 2 52 14 0 2 32 211 2 20 36 0 16 0 48 1 33 21 0 20 2 0 20 3 0 16 1 16 2 48 2 48 1 5 1 11 0 32 180 2 16 0 1 15 0 52 0 0 2 33 69 0 20 2 0 20 3 0 16 1 1 5 0 52 4 0 2 16 2 48 2 48 1 17 3 20 2 0 20 3 0 16 1 1 7 0 52 4 0 2 16 2 48 2 48 1 17 4 1 11 0 51 37 0 1 3 1 2 16 4 52 15 0 2 52 14 0 2 32 99 2 16 0 1 38 0 52 0 0 2 33 69 0 20 2 0 20 3 0 16 1 1 5 0 52 4 0 2 16 2 48 2 48 1 17 3 20 2 0 20 3 0 16 1 1 7 0 52 4 0 2 16 2 48 2 48 1 17 4 1 11 0 51 39 0 1 3 1 2 16 4 52 38 0 2 52 14 0 2 32 18 2 16 0 1 40 0 52 0 0 2 33 24 0 20 6 0 20 2 0 20 3 0 16 1 16 2 48 2 48 1 16 2 49 2 32 238 1 16 0 1 25 0 52 0 0 2 33 69 0 20 2 0 20 3 0 16 1 1 5 0 52 4 0 2 16 2 48 2 48 1 17 3 20 2 0 20 3 0 16 1 1 7 0 52 4 0 2 16 2 48 2 48 1 17 4 1 11 0 51 37 0 1 3 1 2 16 4 52 15 0 2 52 14 0 2 32 157 1 16 0 1 41 0 52 0 0 2 33 217 0 20 2 0 20 3 0 16 1 1 5 0 52 4 0 2 16 2 48 2 48 1 17 3 16 1 1 7 0 52 23 0 2 17 4 2 17 5 2 17 6 16 4 52 9 0 1 1 7 0 52 42 0 2 6 33 41 0 5 16 4 52 44 0 1 52 43 0 1 1 45 0 52 0 0 2 6 33 19 0 5 20 46 0 16 4 52 44 0 1 48 1 1 47 0 52 0 0 2 33 38 0 20 2 0 20 3 0 16 4 1 5 0 52 4 0 2 16 2 48 2 48 1 17 5 5 16 4 1 7 0 52 23 0 2 17 6 32 4 0 16 4 17 6 5 16 3 16 5 52 48 0 2 5 16 6 52 9 0 1 1 5 0 52 0 0 2 33 16 0 20 6 0 16 6 52 44 0 1 16 2 48 2 32 18 0 1 11 0 51 49 0 1 2 16 6 52 15 0 2 52 14 0 2 17 7 16 3 52 50 0 1 5 16 7 32 184 0 16 0 1 51 0 52 0 0 2 33 151 0 20 2 0 20 3 0 16 1 1 5 0 52 4 0 2 16 2 48 2 48 1 17 3 20 2 0 20 3 0 16 1 1 7 0 52 4 0 2 16 2 48 2 48 1 17 4 1 10 0 17 5 16 1 52 9 0 1 1 10 0 52 52 0 2 17 6 16 3 16 4 52 48 0 2 5 16 6 1 5 0 52 0 0 2 33 18 0 20 6 0 16 1 16 5 52 4 0 2 16 2 48 2 32 32 0 1 11 0 51 16 0 1 1 1 2 16 5 16 5 16 6 52 53 0 2 52 17 0 2 52 15 0 2 52 14 0 2 17 7 16 3 52 50 0 1 5 16 7 32 21 0 20 54 0 20 2 0 20 3 0 16 1 16 2 48 2 48 1 16 2 49 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"if"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"nth"
|
||||
1
|
||||
"render-to-html"
|
||||
2
|
||||
">"
|
||||
"len"
|
||||
3
|
||||
""
|
||||
"when"
|
||||
"not"
|
||||
"join"
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 49 2 50)
|
||||
:constants (
|
||||
"render-to-html"
|
||||
"nth"))
|
||||
"range"
|
||||
"cond"
|
||||
"eval-cond"
|
||||
"rest"
|
||||
"case"
|
||||
"letrec"
|
||||
"slice"
|
||||
"env-extend"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 14 0 20 4 0 16 0 52 2 0 1 48 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 20 6 0 18 0 16 1 2 49 3 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"str"
|
||||
"env-bind!"))
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 14 0 20 4 0 16 0 52 2 0 1 48 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 20 6 0 18 0 16 1 20 7 0 20 8 0 16 0 1 10 0 52 9 0 2 18 0 48 2 48 1 49 3 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"str"
|
||||
"env-set!"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"nth"
|
||||
1))
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 20 1 0 16 0 18 0 48 2 49 1 50)
|
||||
:constants (
|
||||
"trampoline"
|
||||
"eval-expr"))
|
||||
"init"
|
||||
"last"
|
||||
"let"
|
||||
"let*"
|
||||
"process-bindings"
|
||||
"begin"
|
||||
"do"
|
||||
"definition-form?"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (18 0 52 0 0 1 33 18 0 20 1 0 18 0 16 0 52 2 0 1 18 1 49 3 32 19 0 20 3 0 18 0 16 0 52 2 0 1 52 4 0 2 18 1 49 2 50)
|
||||
:constants (
|
||||
"lambda?"
|
||||
"render-lambda-html"
|
||||
"list"
|
||||
"render-to-html"
|
||||
"apply"))
|
||||
"map-indexed"
|
||||
(code :arity 2 :upvalue-count 2
|
||||
:bytecode (18 0 52 0 0 1 33 20 0 20 1 0 18 0 16 0 16 1 52 2 0 2 18 1 49 3 32 21 0 20 3 0 18 0 16 0 16 1 52 2 0 2 52 4 0 2 18 1 49 2 50)
|
||||
:constants (
|
||||
"lambda?"
|
||||
"render-lambda-html"
|
||||
"list"
|
||||
"render-to-html"
|
||||
"apply"))
|
||||
"filter"
|
||||
"scope"
|
||||
">="
|
||||
"type-of"
|
||||
"first"
|
||||
"keyword"
|
||||
"keyword-name"
|
||||
"value"
|
||||
"scope-push!"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"render-to-html"))
|
||||
"scope-pop!"
|
||||
"provide"
|
||||
"-"
|
||||
"+"
|
||||
"render-value-to-html"))
|
||||
"render-lambda-html"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 52 1 0 1 16 2 48 2 17 3 51 3 0 1 3 1 1 16 0 52 4 0 1 52 2 0 2 5 20 5 0 16 0 52 6 0 1 16 3 49 2 50)
|
||||
:constants (
|
||||
"env-merge"
|
||||
"lambda-closure"
|
||||
"for-each-indexed"
|
||||
(code :arity 2 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 1 18 1 16 0 52 1 0 2 49 3 50)
|
||||
:constants (
|
||||
"env-bind!"
|
||||
"nth"))
|
||||
"lambda-params"
|
||||
"render-to-html"
|
||||
"lambda-body"))
|
||||
"render-html-component"
|
||||
(code :arity 3
|
||||
:bytecode (52 0 0 0 17 3 52 1 0 0 17 4 51 3 0 1 1 1 2 1 3 1 4 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 20 7 0 16 0 52 8 0 1 16 2 48 2 17 5 51 10 0 1 5 1 3 16 0 52 11 0 1 52 9 0 2 5 16 0 52 12 0 1 33 35 0 20 13 0 16 5 1 14 0 1 17 0 51 19 0 1 2 16 4 52 18 0 2 52 16 0 2 52 15 0 1 48 3 32 1 0 2 5 20 20 0 16 0 52 21 0 1 16 5 49 2 50)
|
||||
:constants (
|
||||
"dict"
|
||||
"list"
|
||||
"reduce"
|
||||
(code :arity 2 :upvalue-count 4
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 154 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 78 0 20 10 0 20 11 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 48 2 48 1 17 3 18 2 20 14 0 16 1 48 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 32 0 20 15 0 18 3 16 1 48 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)
|
||||
:constants (
|
||||
"get"
|
||||
"skip"
|
||||
"assoc"
|
||||
"i"
|
||||
"inc"
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"<"
|
||||
"len"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"nth"
|
||||
"dict-set!"
|
||||
"keyword-name"
|
||||
"append!"))
|
||||
"i"
|
||||
0
|
||||
"skip"
|
||||
"env-merge"
|
||||
"component-closure"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 49 3 50)
|
||||
:constants (
|
||||
"env-bind!"
|
||||
"dict-has?"
|
||||
"dict-get"))
|
||||
"component-params"
|
||||
"component-has-children?"
|
||||
"env-bind!"
|
||||
"children"
|
||||
"make-raw-html"
|
||||
"join"
|
||||
""
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"render-to-html"))
|
||||
"render-to-html"
|
||||
"component-body"))
|
||||
"render-html-element"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 1 16 2 48 2 17 3 16 3 52 1 0 1 17 4 16 3 1 3 0 52 2 0 2 17 5 20 5 0 16 0 52 4 0 2 17 6 16 6 33 22 0 1 7 0 16 0 20 8 0 16 4 48 1 1 9 0 52 6 0 4 32 83 0 1 11 0 2 52 10 0 2 5 1 13 0 51 15 0 1 2 16 5 52 14 0 2 52 12 0 2 17 7 51 17 0 1 4 1 11 0 52 18 0 1 52 16 0 2 5 1 11 0 52 19 0 1 5 1 7 0 16 0 20 8 0 16 4 48 1 1 20 0 16 7 1 21 0 16 0 1 20 0 52 6 0 8 50)
|
||||
:constants (
|
||||
"parse-element-args"
|
||||
"first"
|
||||
"nth"
|
||||
1
|
||||
"contains?"
|
||||
"VOID_ELEMENTS"
|
||||
"str"
|
||||
"<"
|
||||
"render-attrs"
|
||||
" />"
|
||||
"scope-push!"
|
||||
"element-attrs"
|
||||
"join"
|
||||
""
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"render-to-html"))
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 16 0 49 2 50)
|
||||
:constants (
|
||||
"merge-spread-attrs"))
|
||||
"scope-emitted"
|
||||
"scope-pop!"
|
||||
">"
|
||||
"</"))
|
||||
"render-html-lake"
|
||||
(code :arity 2
|
||||
:bytecode (2 17 2 1 0 0 17 3 52 1 0 0 17 4 51 3 0 1 0 1 1 1 2 1 3 1 4 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 1 8 0 16 2 6 34 4 0 5 1 9 0 52 4 0 2 17 5 1 11 0 2 52 10 0 2 5 1 9 0 51 14 0 1 1 16 4 52 13 0 2 52 12 0 2 17 6 51 16 0 1 5 1 11 0 52 17 0 1 52 15 0 2 5 1 11 0 52 18 0 1 5 1 20 0 16 3 20 21 0 16 5 48 1 1 22 0 16 6 1 23 0 16 3 1 22 0 52 19 0 8 50)
|
||||
:constants (
|
||||
"div"
|
||||
"list"
|
||||
"reduce"
|
||||
(code :arity 2 :upvalue-count 5
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 187 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 111 0 20 10 0 16 1 48 1 17 3 20 11 0 20 12 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 48 2 48 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 20 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 32 0 20 16 0 18 4 16 1 48 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)
|
||||
:constants (
|
||||
"get"
|
||||
"skip"
|
||||
"assoc"
|
||||
"i"
|
||||
"inc"
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"<"
|
||||
"len"
|
||||
"keyword-name"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"nth"
|
||||
"id"
|
||||
"tag"
|
||||
"append!"))
|
||||
"dict"
|
||||
"i"
|
||||
0
|
||||
"skip"
|
||||
"data-sx-lake"
|
||||
""
|
||||
"scope-push!"
|
||||
"element-attrs"
|
||||
"join"
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"render-to-html"))
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 16 0 49 2 50)
|
||||
:constants (
|
||||
"merge-spread-attrs"))
|
||||
"scope-emitted"
|
||||
"scope-pop!"
|
||||
"str"
|
||||
"<"
|
||||
"render-attrs"
|
||||
">"
|
||||
"</"))
|
||||
"render-html-marsh"
|
||||
(code :arity 2
|
||||
:bytecode (2 17 2 1 0 0 17 3 52 1 0 0 17 4 51 3 0 1 0 1 1 1 2 1 3 1 4 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 1 8 0 16 2 6 34 4 0 5 1 9 0 52 4 0 2 17 5 1 11 0 2 52 10 0 2 5 1 9 0 51 14 0 1 1 16 4 52 13 0 2 52 12 0 2 17 6 51 16 0 1 5 1 11 0 52 17 0 1 52 15 0 2 5 1 11 0 52 18 0 1 5 1 20 0 16 3 20 21 0 16 5 48 1 1 22 0 16 6 1 23 0 16 3 1 22 0 52 19 0 8 50)
|
||||
:constants (
|
||||
"div"
|
||||
"list"
|
||||
"reduce"
|
||||
(code :arity 2 :upvalue-count 5
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 203 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 127 0 20 10 0 16 1 48 1 17 3 20 11 0 20 12 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 48 2 48 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 36 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 17 0 16 3 1 16 0 52 5 0 2 33 4 0 2 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 32 0 20 17 0 18 4 16 1 48 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)
|
||||
:constants (
|
||||
"get"
|
||||
"skip"
|
||||
"assoc"
|
||||
"i"
|
||||
"inc"
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"<"
|
||||
"len"
|
||||
"keyword-name"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"nth"
|
||||
"id"
|
||||
"tag"
|
||||
"transform"
|
||||
"append!"))
|
||||
"dict"
|
||||
"i"
|
||||
0
|
||||
"skip"
|
||||
"data-sx-marsh"
|
||||
""
|
||||
"scope-push!"
|
||||
"element-attrs"
|
||||
"join"
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"render-to-html"))
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 16 0 49 2 50)
|
||||
:constants (
|
||||
"merge-spread-attrs"))
|
||||
"scope-emitted"
|
||||
"scope-pop!"
|
||||
"str"
|
||||
"<"
|
||||
"render-attrs"
|
||||
">"
|
||||
"</"))
|
||||
"render-html-island"
|
||||
(code :arity 3
|
||||
:bytecode (52 0 0 0 17 3 52 1 0 0 17 4 51 3 0 1 1 1 2 1 3 1 4 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 20 7 0 16 0 52 8 0 1 16 2 48 2 17 5 16 0 52 9 0 1 17 6 51 11 0 1 5 1 3 16 0 52 12 0 1 52 10 0 2 5 16 0 52 13 0 1 33 35 0 20 14 0 16 5 1 15 0 1 18 0 51 20 0 1 2 16 4 52 19 0 2 52 17 0 2 52 16 0 1 48 3 32 1 0 2 5 20 21 0 51 22 0 1 0 1 5 51 23 0 48 2 17 7 20 24 0 16 3 48 1 17 8 1 26 0 20 27 0 16 6 48 1 1 28 0 16 8 33 20 0 1 29 0 20 27 0 16 8 48 1 1 28 0 52 25 0 3 32 3 0 1 18 0 1 30 0 16 7 1 31 0 52 25 0 7 50)
|
||||
:constants (
|
||||
"dict"
|
||||
"list"
|
||||
"reduce"
|
||||
(code :arity 2 :upvalue-count 4
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 154 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 78 0 20 10 0 20 11 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 48 2 48 1 17 3 18 2 20 14 0 16 1 48 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 32 0 20 15 0 18 3 16 1 48 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)
|
||||
:constants (
|
||||
"get"
|
||||
"skip"
|
||||
"assoc"
|
||||
"i"
|
||||
"inc"
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"<"
|
||||
"len"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"nth"
|
||||
"dict-set!"
|
||||
"keyword-name"
|
||||
"append!"))
|
||||
"i"
|
||||
0
|
||||
"skip"
|
||||
"env-merge"
|
||||
"component-closure"
|
||||
"component-name"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 49 3 50)
|
||||
:constants (
|
||||
"env-bind!"
|
||||
"dict-has?"
|
||||
"dict-get"))
|
||||
"component-params"
|
||||
"component-has-children?"
|
||||
"env-bind!"
|
||||
"children"
|
||||
"make-raw-html"
|
||||
"join"
|
||||
""
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"render-to-html"))
|
||||
"cek-try"
|
||||
(code :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 52 1 0 1 18 1 49 2 50)
|
||||
:constants (
|
||||
"render-to-html"
|
||||
"component-body"))
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 50)
|
||||
:constants (
|
||||
""))
|
||||
"serialize-island-state"
|
||||
"str"
|
||||
"<span data-sx-island=\""
|
||||
"escape-attr"
|
||||
"\""
|
||||
" data-sx-state=\""
|
||||
">"
|
||||
"</span>"))
|
||||
"serialize-island-state"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 4 0 2 32 7 0 20 1 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"empty-dict?"
|
||||
"sx-serialize")))))
|
||||
511
shared/static/wasm/sx/adapter-sx.sxbc
Normal file
511
shared/static/wasm/sx/adapter-sx.sxbc
Normal file
@@ -0,0 +1,511 @@
|
||||
(sxbc 1 "13762a3a91f6b00d"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 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 52 15 0 35 128 14 0 5 1 52 0 1 53 0 1 54 0 1 55 0 1 56 0 1 57 0 1 58 0 52 15 0 7 128 51 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 50)
|
||||
:constants (
|
||||
"render-to-sx"
|
||||
(code :arity 2
|
||||
: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 10 0 20 4 0 16 2 49 1 32 27 0 16 2 52 2 0 1 1 5 0 52 1 0 2 33 5 0 16 2 32 6 0 16 2 52 6 0 1 50)
|
||||
:constants (
|
||||
"aser"
|
||||
"="
|
||||
"type-of"
|
||||
"sx-expr"
|
||||
"sx-expr-source"
|
||||
"string"
|
||||
"serialize"))
|
||||
"aser"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 3 48 1 5 16 0 52 1 0 1 6 1 2 0 52 3 0 2 33 6 0 5 16 0 32 16 1 6 1 4 0 52 3 0 2 33 6 0 5 16 0 32 255 0 6 1 5 0 52 3 0 2 33 6 0 5 16 0 32 238 0 6 1 6 0 52 3 0 2 33 5 0 5 2 32 222 0 6 1 7 0 52 3 0 2 33 116 0 5 20 8 0 16 0 48 1 17 3 20 9 0 16 1 16 3 48 2 33 12 0 20 10 0 16 1 16 3 48 2 32 79 0 16 3 52 11 0 1 33 9 0 16 3 52 12 0 1 32 61 0 16 3 1 13 0 52 3 0 2 33 4 0 3 32 45 0 16 3 1 14 0 52 3 0 2 33 4 0 4 32 29 0 16 3 1 6 0 52 3 0 2 33 4 0 2 32 13 0 1 17 0 16 3 52 16 0 2 52 15 0 1 32 95 0 6 1 18 0 52 3 0 2 33 11 0 5 20 19 0 16 0 48 1 32 73 0 6 1 20 0 52 3 0 2 33 29 0 5 16 0 52 21 0 1 33 7 0 52 20 0 0 32 9 0 20 22 0 16 0 16 1 48 2 32 33 0 6 1 23 0 52 3 0 2 33 19 0 5 1 25 0 16 0 52 26 0 1 52 24 0 2 5 2 32 3 0 5 16 0 17 2 16 2 52 27 0 1 33 18 0 1 25 0 16 2 52 26 0 1 52 24 0 2 5 2 32 2 0 16 2 50)
|
||||
:constants (
|
||||
"set-render-active!"
|
||||
"type-of"
|
||||
"number"
|
||||
"="
|
||||
"string"
|
||||
"boolean"
|
||||
"nil"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"env-has?"
|
||||
"env-get"
|
||||
"primitive?"
|
||||
"get-primitive"
|
||||
"true"
|
||||
"false"
|
||||
"error"
|
||||
"str"
|
||||
"Undefined symbol: "
|
||||
"keyword"
|
||||
"keyword-name"
|
||||
"list"
|
||||
"empty?"
|
||||
"aser-list"
|
||||
"spread"
|
||||
"scope-emit!"
|
||||
"element-attrs"
|
||||
"spread-attrs"
|
||||
"spread?"))
|
||||
"aser-list"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 0 0 1 17 2 16 0 52 1 0 1 17 3 16 2 52 4 0 1 1 5 0 52 3 0 2 52 2 0 1 33 14 0 51 7 0 1 1 16 0 52 6 0 2 32 136 2 20 8 0 16 2 48 1 17 4 16 4 1 9 0 52 3 0 2 33 12 0 20 10 0 16 3 16 1 49 2 32 103 2 16 4 1 11 0 52 3 0 2 33 15 0 20 12 0 1 11 0 16 3 16 1 49 3 32 76 2 16 4 1 14 0 52 13 0 2 33 196 0 20 15 0 16 1 16 4 48 2 33 12 0 20 16 0 16 1 16 4 48 2 32 1 0 2 17 5 20 15 0 16 1 1 17 0 48 2 33 8 0 20 17 0 48 0 32 1 0 4 17 6 16 5 6 33 7 0 5 16 5 52 18 0 1 33 21 0 20 19 0 20 20 0 16 5 16 3 16 1 48 3 16 1 49 2 32 105 0 16 5 6 33 71 0 5 16 5 52 21 0 1 6 33 60 0 5 16 5 52 22 0 1 52 2 0 1 6 33 45 0 5 16 6 6 34 15 0 5 20 23 0 16 5 48 1 1 24 0 52 3 0 2 6 33 19 0 5 20 23 0 16 5 48 1 1 25 0 52 3 0 2 52 2 0 1 33 14 0 20 26 0 16 5 16 3 16 1 49 3 32 11 0 20 12 0 16 4 16 3 16 1 49 3 32 124 1 16 4 1 27 0 52 3 0 2 33 14 0 20 12 0 16 4 16 3 16 1 49 3 32 98 1 16 4 1 28 0 52 3 0 2 33 14 0 20 12 0 16 4 16 3 16 1 49 3 32 72 1 20 30 0 16 4 52 29 0 2 33 14 0 20 12 0 16 4 16 3 16 1 49 3 32 46 1 20 31 0 16 4 48 1 6 34 8 0 5 20 32 0 16 4 48 1 33 14 0 20 33 0 16 4 16 0 16 1 49 3 32 10 1 20 15 0 16 1 16 4 48 2 6 33 14 0 5 20 16 0 16 1 16 4 48 2 52 18 0 1 33 28 0 20 19 0 20 20 0 20 16 0 16 1 16 4 48 2 16 3 16 1 48 3 16 1 49 2 32 208 0 20 34 0 20 35 0 16 2 16 1 48 2 48 1 17 5 51 36 0 1 1 16 3 52 6 0 2 17 6 20 37 0 16 5 48 1 6 33 41 0 5 16 5 52 38 0 1 52 2 0 1 6 33 26 0 5 16 5 52 21 0 1 52 2 0 1 6 33 11 0 5 16 5 52 22 0 1 52 2 0 1 33 11 0 16 5 16 6 52 39 0 2 32 113 0 16 5 52 38 0 1 33 19 0 20 34 0 20 40 0 16 5 16 6 16 1 48 3 49 1 32 85 0 16 5 52 21 0 1 33 25 0 20 12 0 1 14 0 16 5 52 42 0 1 52 41 0 2 16 3 16 1 49 3 32 51 0 16 5 52 22 0 1 33 25 0 20 12 0 1 14 0 16 5 52 42 0 1 52 41 0 2 16 3 16 1 49 3 32 17 0 1 44 0 16 5 52 45 0 1 52 41 0 2 52 43 0 1 50)
|
||||
:constants (
|
||||
"first"
|
||||
"rest"
|
||||
"not"
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"aser"))
|
||||
"symbol-name"
|
||||
"<>"
|
||||
"aser-fragment"
|
||||
"raw!"
|
||||
"aser-call"
|
||||
"starts-with?"
|
||||
"~"
|
||||
"env-has?"
|
||||
"env-get"
|
||||
"expand-components?"
|
||||
"macro?"
|
||||
"aser"
|
||||
"expand-macro"
|
||||
"component?"
|
||||
"island?"
|
||||
"component-affinity"
|
||||
"server"
|
||||
"client"
|
||||
"aser-expand-component"
|
||||
"lake"
|
||||
"marsh"
|
||||
"contains?"
|
||||
"HTML_TAGS"
|
||||
"special-form?"
|
||||
"ho-form?"
|
||||
"aser-special"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 20 1 0 16 0 18 0 48 2 49 1 50)
|
||||
:constants (
|
||||
"trampoline"
|
||||
"eval-expr"))
|
||||
"callable?"
|
||||
"lambda?"
|
||||
"apply"
|
||||
"call-lambda"
|
||||
"str"
|
||||
"component-name"
|
||||
"error"
|
||||
"Not callable: "
|
||||
"inspect"))
|
||||
"aser-reserialize"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 2 0 1 1 3 0 52 1 0 2 52 0 0 1 33 9 0 16 0 52 4 0 1 32 122 0 16 0 52 5 0 1 33 6 0 1 6 0 32 107 0 16 0 52 7 0 1 17 1 16 1 52 2 0 1 1 8 0 52 1 0 2 52 0 0 1 33 9 0 16 0 52 4 0 1 32 70 0 20 9 0 16 1 48 1 17 2 16 2 52 3 0 1 17 3 16 0 52 10 0 1 17 4 4 17 5 1 11 0 17 6 51 13 0 1 5 1 6 1 4 1 3 16 4 52 12 0 2 5 1 15 0 1 17 0 16 3 52 16 0 2 1 18 0 52 14 0 3 50)
|
||||
:constants (
|
||||
"not"
|
||||
"="
|
||||
"type-of"
|
||||
"list"
|
||||
"serialize"
|
||||
"empty?"
|
||||
"()"
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"rest"
|
||||
0
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (18 0 33 15 0 4 19 0 5 18 1 52 0 0 1 19 1 32 116 1 16 0 52 2 0 1 1 3 0 52 1 0 2 6 33 17 1 5 18 1 52 0 0 1 18 2 52 5 0 1 52 4 0 2 6 33 252 0 5 16 0 1 8 0 52 7 0 2 52 6 0 1 6 33 234 0 5 16 0 1 10 0 52 9 0 2 6 34 220 0 5 16 0 1 11 0 52 9 0 2 6 34 206 0 5 16 0 1 12 0 52 9 0 2 6 34 192 0 5 16 0 1 13 0 52 9 0 2 6 34 178 0 5 16 0 1 14 0 52 9 0 2 6 34 164 0 5 16 0 1 15 0 52 9 0 2 6 34 150 0 5 16 0 1 16 0 52 9 0 2 6 34 136 0 5 16 0 1 17 0 52 9 0 2 6 34 122 0 5 16 0 1 18 0 52 9 0 2 6 34 108 0 5 16 0 1 19 0 52 9 0 2 6 34 94 0 5 16 0 1 20 0 52 9 0 2 6 34 80 0 5 16 0 1 21 0 52 9 0 2 6 34 66 0 5 16 0 1 22 0 52 9 0 2 6 34 52 0 5 16 0 1 23 0 52 9 0 2 6 34 38 0 5 16 0 1 24 0 52 9 0 2 6 34 24 0 5 16 0 1 25 0 52 9 0 2 6 34 10 0 5 16 0 1 26 0 52 9 0 2 33 56 0 20 27 0 18 3 1 29 0 16 0 52 28 0 2 48 2 5 20 27 0 18 3 18 2 18 1 52 0 0 1 52 31 0 2 52 30 0 1 48 2 5 3 19 0 5 18 1 52 0 0 1 19 1 32 23 0 20 27 0 18 3 20 32 0 16 0 48 1 48 2 5 18 1 52 0 0 1 19 1 50)
|
||||
:constants (
|
||||
"inc"
|
||||
"="
|
||||
"type-of"
|
||||
"string"
|
||||
"<"
|
||||
"len"
|
||||
"not"
|
||||
"contains?"
|
||||
" "
|
||||
"starts-with?"
|
||||
"class"
|
||||
"id"
|
||||
"sx-"
|
||||
"data-"
|
||||
"style"
|
||||
"href"
|
||||
"src"
|
||||
"type"
|
||||
"name"
|
||||
"value"
|
||||
"placeholder"
|
||||
"action"
|
||||
"method"
|
||||
"target"
|
||||
"role"
|
||||
"for"
|
||||
"on"
|
||||
"append!"
|
||||
"str"
|
||||
":"
|
||||
"serialize"
|
||||
"nth"
|
||||
"aser-reserialize"))
|
||||
"str"
|
||||
"("
|
||||
"join"
|
||||
" "
|
||||
")"))
|
||||
"aser-fragment"
|
||||
(code :arity 2
|
||||
:bytecode (52 0 0 0 17 2 51 2 0 1 1 1 2 16 0 52 1 0 2 5 16 2 52 3 0 1 33 6 0 1 4 0 32 54 0 16 2 52 6 0 1 1 7 0 52 5 0 2 33 14 0 20 8 0 16 2 52 9 0 1 49 1 32 24 0 20 8 0 1 11 0 1 13 0 16 2 52 12 0 2 1 14 0 52 10 0 3 49 1 50)
|
||||
:constants (
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 16 0 18 0 48 2 17 1 16 1 52 1 0 1 33 4 0 2 32 76 0 16 1 52 3 0 1 1 4 0 52 2 0 2 33 17 0 20 5 0 18 1 20 6 0 16 1 48 1 49 2 32 43 0 16 1 52 3 0 1 1 7 0 52 2 0 2 33 14 0 51 9 0 0 1 16 1 52 8 0 2 32 13 0 20 5 0 18 1 16 1 52 10 0 1 49 2 50)
|
||||
:constants (
|
||||
"aser"
|
||||
"nil?"
|
||||
"="
|
||||
"type-of"
|
||||
"sx-expr"
|
||||
"append!"
|
||||
"sx-expr-source"
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 1 0 1 52 0 0 1 33 50 0 16 0 52 3 0 1 1 4 0 52 2 0 2 33 17 0 20 5 0 18 0 20 6 0 16 0 48 1 49 2 32 14 0 20 5 0 18 0 20 7 0 16 0 48 1 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"nil?"
|
||||
"="
|
||||
"type-of"
|
||||
"sx-expr"
|
||||
"append!"
|
||||
"sx-expr-source"
|
||||
"aser-reserialize"))
|
||||
"serialize"))
|
||||
"empty?"
|
||||
""
|
||||
"="
|
||||
"len"
|
||||
1
|
||||
"make-sx-expr"
|
||||
"first"
|
||||
"str"
|
||||
"(<> "
|
||||
"join"
|
||||
" "
|
||||
")"))
|
||||
"aser-call"
|
||||
(code :arity 3
|
||||
:bytecode (52 0 0 0 17 3 52 0 0 0 17 4 4 17 5 1 1 0 17 6 1 3 0 2 52 2 0 2 5 51 5 0 1 5 1 6 1 1 1 2 1 3 1 4 16 1 52 4 0 2 5 51 6 0 1 3 1 3 0 52 7 0 1 52 4 0 2 5 1 3 0 52 8 0 1 5 16 0 52 0 0 1 16 3 16 4 52 9 0 3 17 7 20 10 0 1 12 0 1 14 0 16 7 52 13 0 2 1 15 0 52 11 0 3 49 1 50)
|
||||
:constants (
|
||||
"list"
|
||||
0
|
||||
"scope-push!"
|
||||
"element-attrs"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 6
|
||||
:bytecode (18 0 33 15 0 4 19 0 5 18 1 52 0 0 1 19 1 32 16 1 16 0 52 2 0 1 1 3 0 52 1 0 2 6 33 17 0 5 18 1 52 0 0 1 18 2 52 5 0 1 52 4 0 2 33 122 0 20 6 0 18 2 18 1 52 0 0 1 52 7 0 2 18 3 48 2 17 1 16 1 52 9 0 1 52 8 0 1 33 71 0 20 10 0 18 4 1 12 0 20 13 0 16 0 48 1 52 11 0 2 48 2 5 16 1 52 2 0 1 1 14 0 52 1 0 2 33 17 0 20 10 0 18 4 20 15 0 16 1 48 1 48 2 32 13 0 20 10 0 18 4 16 1 52 16 0 1 48 2 32 1 0 2 5 3 19 0 5 18 1 52 0 0 1 19 1 32 113 0 20 6 0 16 0 18 3 48 2 17 1 16 1 52 9 0 1 52 8 0 1 33 79 0 16 1 52 2 0 1 1 14 0 52 1 0 2 33 17 0 20 10 0 18 5 20 15 0 16 1 48 1 48 2 32 43 0 16 1 52 2 0 1 1 17 0 52 1 0 2 33 14 0 51 19 0 0 5 16 1 52 18 0 2 32 13 0 20 10 0 18 5 16 1 52 16 0 1 48 2 32 1 0 2 5 18 1 52 0 0 1 19 1 50)
|
||||
:constants (
|
||||
"inc"
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"<"
|
||||
"len"
|
||||
"aser"
|
||||
"nth"
|
||||
"not"
|
||||
"nil?"
|
||||
"append!"
|
||||
"str"
|
||||
":"
|
||||
"keyword-name"
|
||||
"sx-expr"
|
||||
"sx-expr-source"
|
||||
"serialize"
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 1 0 1 52 0 0 1 33 49 0 16 0 52 3 0 1 1 4 0 52 2 0 2 33 17 0 20 5 0 18 0 20 6 0 16 0 48 1 49 2 32 13 0 20 5 0 18 0 16 0 52 7 0 1 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"nil?"
|
||||
"="
|
||||
"type-of"
|
||||
"sx-expr"
|
||||
"append!"
|
||||
"sx-expr-source"
|
||||
"serialize"))))
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (51 1 0 1 0 0 0 16 0 52 2 0 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (18 0 16 0 52 0 0 2 17 1 20 1 0 18 1 1 3 0 16 0 52 2 0 2 48 2 5 20 1 0 18 1 16 1 52 4 0 1 49 2 50)
|
||||
:constants (
|
||||
"dict-get"
|
||||
"append!"
|
||||
"str"
|
||||
":"
|
||||
"serialize"))
|
||||
"keys"))
|
||||
"scope-peek"
|
||||
"scope-pop!"
|
||||
"concat"
|
||||
"make-sx-expr"
|
||||
"str"
|
||||
"("
|
||||
"join"
|
||||
" "
|
||||
")"))
|
||||
"aser-expand-component"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 52 0 0 1 17 3 20 1 0 16 2 16 0 52 2 0 1 48 2 17 4 1 3 0 17 5 4 17 6 52 4 0 0 17 7 51 6 0 1 4 16 3 52 5 0 2 5 51 7 0 1 6 1 5 1 1 1 4 1 2 1 7 16 1 52 5 0 2 5 20 8 0 16 0 48 1 33 53 0 51 10 0 1 2 16 7 52 9 0 2 17 8 20 11 0 16 4 1 12 0 16 8 52 14 0 1 1 15 0 52 13 0 2 33 9 0 16 8 52 16 0 1 32 2 0 16 8 48 3 32 1 0 2 5 20 17 0 16 0 52 18 0 1 16 4 49 2 50)
|
||||
:constants (
|
||||
"component-params"
|
||||
"env-merge"
|
||||
"component-closure"
|
||||
0
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 16 0 2 49 3 50)
|
||||
:constants (
|
||||
"env-bind!"))
|
||||
(code :arity 1 :upvalue-count 6
|
||||
:bytecode (18 0 33 15 0 4 19 0 5 18 1 52 0 0 1 19 1 32 104 0 16 0 52 2 0 1 1 3 0 52 1 0 2 6 33 17 0 5 18 1 52 0 0 1 18 2 52 5 0 1 52 4 0 2 33 49 0 20 6 0 18 3 20 7 0 16 0 48 1 20 8 0 18 2 18 1 52 0 0 1 52 9 0 2 18 4 48 2 48 3 5 3 19 0 5 18 1 52 0 0 1 19 1 32 18 0 20 10 0 18 5 16 0 48 2 5 18 1 52 0 0 1 19 1 50)
|
||||
:constants (
|
||||
"inc"
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"<"
|
||||
"len"
|
||||
"env-bind!"
|
||||
"keyword-name"
|
||||
"aser"
|
||||
"nth"
|
||||
"append!"))
|
||||
"component-has-children"
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"aser"))
|
||||
"env-bind!"
|
||||
"children"
|
||||
"="
|
||||
"len"
|
||||
1
|
||||
"first"
|
||||
"aser"
|
||||
"component-body"))
|
||||
"SPECIAL_FORM_NAMES"
|
||||
"list"
|
||||
"if"
|
||||
"when"
|
||||
"cond"
|
||||
"case"
|
||||
"and"
|
||||
"or"
|
||||
"let"
|
||||
"let*"
|
||||
"lambda"
|
||||
"fn"
|
||||
"define"
|
||||
"defcomp"
|
||||
"defmacro"
|
||||
"defstyle"
|
||||
"defhandler"
|
||||
"defpage"
|
||||
"defquery"
|
||||
"defaction"
|
||||
"defrelation"
|
||||
"begin"
|
||||
"do"
|
||||
"quote"
|
||||
"quasiquote"
|
||||
"->"
|
||||
"set!"
|
||||
"letrec"
|
||||
"dynamic-wind"
|
||||
"defisland"
|
||||
"deftype"
|
||||
"defeffect"
|
||||
"scope"
|
||||
"provide"
|
||||
"context"
|
||||
"emit!"
|
||||
"emitted"
|
||||
"HO_FORM_NAMES"
|
||||
"map"
|
||||
"map-indexed"
|
||||
"filter"
|
||||
"reduce"
|
||||
"some"
|
||||
"every?"
|
||||
"for-each"
|
||||
"special-form?"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"contains?"
|
||||
"SPECIAL_FORM_NAMES"))
|
||||
"ho-form?"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"contains?"
|
||||
"HO_FORM_NAMES"))
|
||||
"aser-special"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 52 0 0 1 17 3 16 0 1 2 0 52 1 0 2 33 79 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 33 19 0 20 6 0 16 3 1 8 0 52 7 0 2 16 2 49 2 32 36 0 16 3 52 10 0 1 1 11 0 52 9 0 2 33 19 0 20 6 0 16 3 1 11 0 52 7 0 2 16 2 49 2 32 1 0 2 32 34 5 16 0 1 12 0 52 1 0 2 33 55 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 52 13 0 1 33 4 0 2 32 23 0 2 17 4 51 15 0 1 4 1 2 16 3 52 0 0 1 52 14 0 2 5 16 4 32 223 4 16 0 1 16 0 52 1 0 2 33 32 0 20 17 0 16 3 16 2 48 2 17 4 16 4 33 12 0 20 6 0 16 4 16 2 49 2 32 1 0 2 32 179 4 16 0 1 18 0 52 1 0 2 33 42 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 17 4 16 3 52 0 0 1 17 5 20 19 0 16 4 16 5 16 2 49 3 32 125 4 16 0 1 20 0 52 1 0 2 6 34 10 0 5 16 0 1 21 0 52 1 0 2 33 41 0 20 22 0 16 3 52 5 0 1 16 2 48 2 17 4 2 17 5 51 15 0 1 5 1 4 16 3 52 0 0 1 52 14 0 2 5 16 5 32 58 4 16 0 1 23 0 52 1 0 2 6 34 10 0 5 16 0 1 24 0 52 1 0 2 33 22 0 2 17 4 51 15 0 1 4 1 2 16 3 52 14 0 2 5 16 4 32 10 4 16 0 1 25 0 52 1 0 2 33 22 0 3 17 4 51 27 0 1 4 1 2 16 3 52 26 0 2 5 16 4 32 232 3 16 0 1 28 0 52 1 0 2 33 22 0 4 17 4 51 29 0 1 4 1 2 16 3 52 26 0 2 5 16 4 32 198 3 16 0 1 30 0 52 1 0 2 33 59 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 17 4 20 3 0 20 4 0 16 3 1 8 0 52 7 0 2 16 2 48 2 48 1 17 5 51 31 0 1 4 1 2 16 5 52 30 0 2 32 127 3 16 0 1 32 0 52 1 0 2 33 59 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 17 4 20 3 0 20 4 0 16 3 1 8 0 52 7 0 2 16 2 48 2 48 1 17 5 51 33 0 1 4 1 2 16 5 52 32 0 2 32 56 3 16 0 1 14 0 52 1 0 2 33 83 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 17 4 20 3 0 20 4 0 16 3 1 8 0 52 7 0 2 16 2 48 2 48 1 17 5 52 34 0 0 17 6 51 35 0 1 4 1 2 1 6 16 5 52 14 0 2 5 16 6 52 36 0 1 33 4 0 2 32 2 0 16 6 32 217 2 16 0 1 37 0 52 1 0 2 33 24 0 20 3 0 20 4 0 16 1 16 2 48 2 48 1 5 16 1 52 38 0 1 32 181 2 16 0 1 39 0 52 1 0 2 6 34 136 0 5 16 0 1 40 0 52 1 0 2 6 34 122 0 5 16 0 1 41 0 52 1 0 2 6 34 108 0 5 16 0 1 42 0 52 1 0 2 6 34 94 0 5 16 0 1 43 0 52 1 0 2 6 34 80 0 5 16 0 1 44 0 52 1 0 2 6 34 66 0 5 16 0 1 45 0 52 1 0 2 6 34 52 0 5 16 0 1 46 0 52 1 0 2 6 34 38 0 5 16 0 1 47 0 52 1 0 2 6 34 24 0 5 16 0 1 48 0 52 1 0 2 6 34 10 0 5 16 0 1 49 0 52 1 0 2 33 19 0 20 3 0 20 4 0 16 1 16 2 48 2 48 1 5 2 32 10 2 16 0 1 50 0 52 1 0 2 33 176 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 17 4 16 3 52 0 0 1 17 5 2 17 6 2 17 7 16 5 52 10 0 1 1 11 0 52 51 0 2 6 33 41 0 5 16 5 52 5 0 1 52 52 0 1 1 53 0 52 1 0 2 6 33 19 0 5 20 54 0 16 5 52 5 0 1 48 1 1 55 0 52 1 0 2 33 38 0 20 3 0 20 4 0 16 5 1 8 0 52 7 0 2 16 2 48 2 48 1 17 6 5 16 5 1 11 0 52 56 0 2 17 7 32 4 0 16 5 17 7 5 16 4 16 6 52 57 0 2 5 2 17 8 51 15 0 1 8 1 2 16 7 52 14 0 2 5 16 4 52 58 0 1 5 16 8 32 78 1 16 0 1 59 0 52 1 0 2 33 88 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 17 4 20 3 0 20 4 0 16 3 1 8 0 52 7 0 2 16 2 48 2 48 1 17 5 2 17 6 16 4 16 5 52 57 0 2 5 51 15 0 1 6 1 2 16 3 1 11 0 52 56 0 2 52 14 0 2 5 16 4 52 58 0 1 5 16 6 32 234 0 16 0 1 60 0 52 1 0 2 33 90 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 17 4 16 3 52 10 0 1 1 11 0 52 51 0 2 33 24 0 20 3 0 20 4 0 16 3 1 8 0 52 7 0 2 16 2 48 2 48 1 32 1 0 2 17 5 16 4 52 61 0 1 17 6 16 6 52 62 0 1 33 5 0 16 5 32 2 0 16 6 32 132 0 16 0 1 63 0 52 1 0 2 33 56 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 17 4 20 3 0 20 4 0 16 3 1 8 0 52 7 0 2 16 2 48 2 48 1 17 5 16 4 16 5 52 64 0 2 5 2 32 64 0 16 0 1 65 0 52 1 0 2 33 38 0 20 3 0 20 4 0 16 3 52 5 0 1 16 2 48 2 48 1 17 4 16 4 52 61 0 1 6 34 5 0 5 52 34 0 0 32 14 0 20 3 0 20 4 0 16 1 16 2 48 2 49 1 50)
|
||||
:constants (
|
||||
"rest"
|
||||
"="
|
||||
"if"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"first"
|
||||
"aser"
|
||||
"nth"
|
||||
1
|
||||
">"
|
||||
"len"
|
||||
2
|
||||
"when"
|
||||
"not"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 16 0 18 1 48 2 19 0 50)
|
||||
:constants (
|
||||
"aser"))
|
||||
"cond"
|
||||
"eval-cond"
|
||||
"case"
|
||||
"eval-case-aser"
|
||||
"let"
|
||||
"let*"
|
||||
"process-bindings"
|
||||
"begin"
|
||||
"do"
|
||||
"and"
|
||||
"some"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 20 1 0 16 0 18 1 48 2 48 1 19 0 5 18 0 52 2 0 1 50)
|
||||
:constants (
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"not"))
|
||||
"or"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 20 1 0 16 0 18 1 48 2 48 1 19 0 5 18 0 50)
|
||||
:constants (
|
||||
"trampoline"
|
||||
"eval-expr"))
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (18 0 52 0 0 1 33 51 0 20 1 0 18 0 52 2 0 1 18 1 48 2 17 1 20 3 0 16 1 18 0 52 5 0 1 52 4 0 1 16 0 48 3 5 20 6 0 18 0 52 7 0 1 16 1 49 2 32 13 0 20 8 0 18 0 16 0 52 9 0 1 49 2 50)
|
||||
:constants (
|
||||
"lambda?"
|
||||
"env-merge"
|
||||
"lambda-closure"
|
||||
"env-bind!"
|
||||
"first"
|
||||
"lambda-params"
|
||||
"aser"
|
||||
"lambda-body"
|
||||
"cek-call"
|
||||
"list"))
|
||||
"map-indexed"
|
||||
(code :arity 2 :upvalue-count 2
|
||||
:bytecode (18 0 52 0 0 1 33 74 0 20 1 0 18 0 52 2 0 1 18 1 48 2 17 2 20 3 0 16 2 18 0 52 5 0 1 52 4 0 1 16 0 48 3 5 20 3 0 16 2 18 0 52 5 0 1 1 7 0 52 6 0 2 16 1 48 3 5 20 8 0 18 0 52 9 0 1 16 2 49 2 32 15 0 20 10 0 18 0 16 0 16 1 52 11 0 2 49 2 50)
|
||||
:constants (
|
||||
"lambda?"
|
||||
"env-merge"
|
||||
"lambda-closure"
|
||||
"env-bind!"
|
||||
"first"
|
||||
"lambda-params"
|
||||
"nth"
|
||||
1
|
||||
"aser"
|
||||
"lambda-body"
|
||||
"cek-call"
|
||||
"list"))
|
||||
"list"
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (18 0 52 0 0 1 33 58 0 20 1 0 18 0 52 2 0 1 18 1 48 2 17 1 20 3 0 16 1 18 0 52 5 0 1 52 4 0 1 16 0 48 3 5 20 6 0 18 2 20 7 0 18 0 52 8 0 1 16 1 48 2 49 2 32 13 0 20 9 0 18 0 16 0 52 10 0 1 49 2 50)
|
||||
:constants (
|
||||
"lambda?"
|
||||
"env-merge"
|
||||
"lambda-closure"
|
||||
"env-bind!"
|
||||
"first"
|
||||
"lambda-params"
|
||||
"append!"
|
||||
"aser"
|
||||
"lambda-body"
|
||||
"cek-call"
|
||||
"list"))
|
||||
"empty?"
|
||||
"defisland"
|
||||
"serialize"
|
||||
"define"
|
||||
"defcomp"
|
||||
"defmacro"
|
||||
"defstyle"
|
||||
"defhandler"
|
||||
"defpage"
|
||||
"defquery"
|
||||
"defaction"
|
||||
"defrelation"
|
||||
"deftype"
|
||||
"defeffect"
|
||||
"scope"
|
||||
">="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"keyword-name"
|
||||
"value"
|
||||
"slice"
|
||||
"scope-push!"
|
||||
"scope-pop!"
|
||||
"provide"
|
||||
"context"
|
||||
"scope-peek"
|
||||
"nil?"
|
||||
"emit!"
|
||||
"scope-emit!"
|
||||
"emitted"))
|
||||
"eval-case-aser"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 52 1 0 1 1 2 0 52 0 0 2 33 4 0 2 32 175 0 16 1 52 3 0 1 17 3 16 1 1 5 0 52 4 0 2 17 4 16 3 52 7 0 1 1 8 0 52 6 0 2 6 33 15 0 5 20 9 0 16 3 48 1 1 10 0 52 6 0 2 6 34 52 0 5 16 3 52 7 0 1 1 11 0 52 6 0 2 6 33 34 0 5 20 12 0 16 3 48 1 1 13 0 52 6 0 2 6 34 15 0 5 20 12 0 16 3 48 1 1 10 0 52 6 0 2 33 12 0 20 14 0 16 4 16 2 49 2 32 53 0 16 0 20 15 0 20 16 0 16 3 16 2 48 2 48 1 52 6 0 2 33 12 0 20 14 0 16 4 16 2 49 2 32 18 0 20 17 0 16 0 16 1 1 2 0 52 18 0 2 16 2 49 3 50)
|
||||
:constants (
|
||||
"<"
|
||||
"len"
|
||||
2
|
||||
"first"
|
||||
"nth"
|
||||
1
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"keyword-name"
|
||||
"else"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
":else"
|
||||
"aser"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"eval-case-aser"
|
||||
"slice")))))
|
||||
817
shared/static/wasm/sx/boot-helpers.sxbc
Normal file
817
shared/static/wasm/sx/boot-helpers.sxbc
Normal file
@@ -0,0 +1,817 @@
|
||||
(sxbc 1 "069ff5bca83eab9f"
|
||||
(code
|
||||
:bytecode (1 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 41 0 128 40 0 5 51 43 0 128 42 0 5 51 45 0 128 44 0 5 51 47 0 128 46 0 5 51 47 0 128 48 0 5 51 50 0 128 49 0 5 51 50 0 128 51 0 5 51 53 0 128 52 0 5 51 55 0 128 54 0 5 51 47 0 128 56 0 5 51 47 0 128 57 0 5 51 59 0 128 58 0 5 51 61 0 128 60 0 5 51 63 0 128 62 0 5 51 65 0 128 64 0 5 51 67 0 128 66 0 5 51 69 0 128 68 0 5 51 71 0 128 70 0 5 51 73 0 128 72 0 5 51 75 0 128 74 0 5 51 77 0 128 76 0 5 51 79 0 128 78 0 5 51 81 0 128 80 0 5 51 83 0 128 82 0 5 51 85 0 128 84 0 5 51 87 0 128 86 0 5 51 89 0 128 88 0 5 51 91 0 128 90 0 5 51 93 0 128 92 0 5 51 95 0 128 94 0 5 51 97 0 128 96 0 5 51 99 0 128 98 0 5 51 101 0 128 100 0 5 51 103 0 128 102 0 5 51 47 0 128 104 0 5 51 106 0 128 105 0 5 51 108 0 128 107 0 5 51 110 0 128 109 0 5 51 112 0 128 111 0 5 51 114 0 128 113 0 5 51 116 0 128 115 0 5 51 118 0 128 117 0 5 51 120 0 128 119 0 5 51 122 0 128 121 0 5 51 50 0 128 123 0 5 51 47 0 128 124 0 5 51 47 0 128 125 0 5 51 27 0 128 126 0 5 51 128 0 128 127 0 5 51 130 0 128 129 0 5 51 132 0 128 131 0 5 51 134 0 128 133 0 5 51 134 0 128 135 0 5 51 134 0 128 136 0 5 51 134 0 128 137 0 5 51 134 0 128 138 0 50)
|
||||
:constants (
|
||||
"_sx-bound-prefix"
|
||||
"_sxBound"
|
||||
"mark-processed!"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 20 2 0 16 1 52 1 0 2 3 49 3 50)
|
||||
:constants (
|
||||
"host-set!"
|
||||
"str"
|
||||
"_sx-bound-prefix"))
|
||||
"is-processed?"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 20 2 0 16 1 52 1 0 2 48 2 17 2 16 2 33 4 0 3 32 1 0 4 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"str"
|
||||
"_sx-bound-prefix"))
|
||||
"clear-processed!"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 20 2 0 16 1 52 1 0 2 2 49 3 50)
|
||||
:constants (
|
||||
"host-set!"
|
||||
"str"
|
||||
"_sx-bound-prefix"))
|
||||
"callable?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 17 1 16 1 1 2 0 52 1 0 2 6 34 24 0 5 16 1 1 3 0 52 1 0 2 6 34 10 0 5 16 1 1 4 0 52 1 0 2 50)
|
||||
:constants (
|
||||
"type-of"
|
||||
"="
|
||||
"lambda"
|
||||
"native-fn"
|
||||
"continuation"))
|
||||
"to-kebab"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 52 1 0 0 17 1 1 2 0 17 2 2 17 3 51 3 0 1 0 1 1 1 3 17 3 16 3 1 2 0 48 1 5 1 5 0 16 1 52 4 0 2 50)
|
||||
:constants (
|
||||
"Convert camelCase to kebab-case."
|
||||
"list"
|
||||
0
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (16 0 18 0 52 1 0 1 52 0 0 2 33 105 0 18 0 16 0 52 2 0 2 17 1 16 1 1 4 0 52 3 0 2 6 33 10 0 5 16 1 1 6 0 52 5 0 2 33 43 0 16 0 1 8 0 52 7 0 2 33 13 0 20 9 0 18 1 1 10 0 48 2 32 1 0 2 5 20 9 0 18 1 16 1 52 11 0 1 48 2 32 9 0 20 9 0 18 1 16 1 48 2 5 18 2 16 0 1 13 0 52 12 0 2 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"len"
|
||||
"nth"
|
||||
">="
|
||||
"A"
|
||||
"<="
|
||||
"Z"
|
||||
">"
|
||||
0
|
||||
"append!"
|
||||
"-"
|
||||
"lower"
|
||||
"+"
|
||||
1))
|
||||
"join"
|
||||
""))
|
||||
"sx-load-components"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 16 0 6 33 14 0 5 16 0 52 2 0 1 1 3 0 52 1 0 2 33 21 0 20 4 0 16 0 48 1 17 1 51 6 0 16 1 52 5 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"Parse and evaluate component definitions from text."
|
||||
">"
|
||||
"len"
|
||||
0
|
||||
"sx-parse"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"cek-eval"))))
|
||||
"call-expr"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 5 20 1 0 16 0 48 1 17 2 16 2 52 3 0 1 52 2 0 1 33 14 0 20 4 0 16 2 52 5 0 1 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"Parse and evaluate an SX expression string."
|
||||
"sx-parse"
|
||||
"not"
|
||||
"empty?"
|
||||
"cek-eval"
|
||||
"first"))
|
||||
"base-env"
|
||||
(code
|
||||
:bytecode (1 0 0 5 20 1 0 49 0 50)
|
||||
:constants (
|
||||
"Return the current global environment."
|
||||
"global-env"))
|
||||
"get-render-env"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 20 1 0 48 0 17 1 16 0 6 33 11 0 5 16 0 52 3 0 1 52 2 0 1 33 12 0 20 4 0 16 1 16 0 49 2 32 2 0 16 1 50)
|
||||
:constants (
|
||||
"Get the rendering environment (global env, optionally merged with extra)."
|
||||
"base-env"
|
||||
"not"
|
||||
"nil?"
|
||||
"env-merge"))
|
||||
"merge-envs"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 5 16 0 6 33 3 0 5 16 1 33 12 0 20 1 0 16 0 16 1 49 2 32 19 0 16 0 6 34 13 0 5 16 1 6 34 6 0 5 20 2 0 49 0 50)
|
||||
:constants (
|
||||
"Merge two environments."
|
||||
"env-merge"
|
||||
"global-env"))
|
||||
"sx-render-with-env"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 5 20 1 0 1 2 0 48 1 17 2 20 3 0 16 2 1 4 0 48 2 17 3 20 5 0 16 0 48 1 17 4 51 7 0 1 2 1 3 16 4 52 6 0 2 5 16 3 50)
|
||||
:constants (
|
||||
"Parse SX source and render to DOM fragment."
|
||||
"host-global"
|
||||
"document"
|
||||
"host-call"
|
||||
"createDocumentFragment"
|
||||
"sx-parse"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 16 1 6 33 14 0 5 16 1 52 2 0 1 1 3 0 52 1 0 2 33 51 0 20 4 0 18 0 1 5 0 1 6 0 48 3 17 2 20 7 0 16 2 1 8 0 16 1 48 3 5 20 4 0 18 1 1 9 0 20 10 0 16 2 1 11 0 48 2 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"render-to-html"
|
||||
">"
|
||||
"len"
|
||||
0
|
||||
"host-call"
|
||||
"createElement"
|
||||
"template"
|
||||
"host-set!"
|
||||
"innerHTML"
|
||||
"appendChild"
|
||||
"host-get"
|
||||
"content"))))
|
||||
"parse-env-attr"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 2 50)
|
||||
:constants (
|
||||
"Parse data-sx-env attribute (JSON key-value pairs)."))
|
||||
"store-env-attr"
|
||||
(code :arity 3
|
||||
:bytecode (2 50)
|
||||
:constants ())
|
||||
"resolve-mount-target"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 16 0 52 1 0 1 33 10 0 20 2 0 16 0 49 1 32 2 0 16 0 50)
|
||||
:constants (
|
||||
"Resolve a CSS selector string to a DOM element."
|
||||
"string?"
|
||||
"dom-query"))
|
||||
"remove-head-element"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 20 1 0 16 0 48 1 17 1 16 1 33 10 0 20 2 0 16 1 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"Remove a <head> element matching selector."
|
||||
"dom-query"
|
||||
"dom-remove"))
|
||||
"set-sx-comp-cookie"
|
||||
(code :arity 1
|
||||
:bytecode (1 1 0 16 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"set-cookie"
|
||||
"sx-components"))
|
||||
"clear-sx-comp-cookie"
|
||||
(code
|
||||
:bytecode (1 1 0 1 2 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"set-cookie"
|
||||
"sx-components"
|
||||
""))
|
||||
"log-parse-error"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 1 2 0 16 0 1 3 0 16 2 52 1 0 4 49 1 50)
|
||||
:constants (
|
||||
"log-error"
|
||||
"str"
|
||||
"Parse error in "
|
||||
": "))
|
||||
"loaded-component-names"
|
||||
(code
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 48 2 17 0 52 3 0 0 17 1 51 5 0 1 1 16 0 52 4 0 2 5 16 1 50)
|
||||
:constants (
|
||||
"dom-query-all"
|
||||
"dom-body"
|
||||
"script[data-components]"
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 6 34 4 0 5 1 2 0 17 1 16 1 52 4 0 1 1 5 0 52 3 0 2 33 21 0 51 7 0 0 0 16 1 1 9 0 52 8 0 2 52 6 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"data-components"
|
||||
""
|
||||
">"
|
||||
"len"
|
||||
0
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 16 0 20 4 0 18 0 16 0 52 2 0 1 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
">"
|
||||
"len"
|
||||
"trim"
|
||||
0
|
||||
"append!"))
|
||||
"split"
|
||||
","))))
|
||||
"csrf-token"
|
||||
(code
|
||||
:bytecode (20 0 0 1 1 0 48 1 17 0 16 0 33 13 0 20 2 0 16 0 1 3 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-query"
|
||||
"meta[name=\"csrf-token\"]"
|
||||
"dom-get-attr"
|
||||
"content"))
|
||||
"validate-for-request"
|
||||
(code :arity 1
|
||||
:bytecode (3 50)
|
||||
:constants ())
|
||||
"build-request-body"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 52 0 0 1 17 3 16 3 1 2 0 52 1 0 2 6 34 10 0 5 16 3 1 3 0 52 1 0 2 33 167 0 16 0 6 33 27 0 5 20 4 0 16 0 48 1 6 34 4 0 5 1 5 0 52 0 0 1 1 6 0 52 1 0 2 33 111 0 20 7 0 1 8 0 16 0 48 2 17 4 20 7 0 1 9 0 16 4 48 2 17 5 20 10 0 16 5 1 11 0 48 2 17 6 1 13 0 16 6 6 33 14 0 5 16 6 52 15 0 1 1 16 0 52 14 0 2 33 32 0 16 2 16 2 1 19 0 52 18 0 2 33 6 0 1 20 0 32 3 0 1 19 0 16 6 52 17 0 3 32 2 0 16 2 1 21 0 2 1 22 0 2 52 12 0 6 32 17 0 1 13 0 16 2 1 21 0 2 1 22 0 2 52 12 0 6 32 173 0 16 0 6 33 27 0 5 20 4 0 16 0 48 1 6 34 4 0 5 1 5 0 52 0 0 1 1 6 0 52 1 0 2 33 120 0 20 23 0 16 0 1 24 0 48 2 6 34 4 0 5 1 25 0 17 4 16 4 1 26 0 52 1 0 2 33 33 0 20 7 0 1 8 0 16 0 48 2 17 5 1 13 0 16 2 1 21 0 16 5 1 22 0 2 52 12 0 6 32 52 0 20 7 0 1 8 0 16 0 48 2 17 5 20 7 0 1 9 0 16 5 48 2 17 6 1 13 0 16 2 1 21 0 20 10 0 16 6 1 11 0 48 2 1 22 0 1 25 0 52 12 0 6 32 17 0 1 13 0 16 2 1 21 0 2 1 22 0 2 52 12 0 6 50)
|
||||
:constants (
|
||||
"upper"
|
||||
"="
|
||||
"GET"
|
||||
"HEAD"
|
||||
"dom-tag-name"
|
||||
""
|
||||
"FORM"
|
||||
"host-new"
|
||||
"FormData"
|
||||
"URLSearchParams"
|
||||
"host-call"
|
||||
"toString"
|
||||
"dict"
|
||||
"url"
|
||||
">"
|
||||
"len"
|
||||
0
|
||||
"str"
|
||||
"contains?"
|
||||
"?"
|
||||
"&"
|
||||
"body"
|
||||
"content-type"
|
||||
"dom-get-attr"
|
||||
"enctype"
|
||||
"application/x-www-form-urlencoded"
|
||||
"multipart/form-data"))
|
||||
"abort-previous-target"
|
||||
(code :arity 1
|
||||
:bytecode (2 50)
|
||||
:constants ())
|
||||
"abort-previous"
|
||||
"track-controller"
|
||||
(code :arity 2
|
||||
:bytecode (2 50)
|
||||
:constants ())
|
||||
"track-controller-target"
|
||||
"new-abort-controller"
|
||||
(code
|
||||
:bytecode (20 0 0 1 1 0 49 1 50)
|
||||
:constants (
|
||||
"host-new"
|
||||
"AbortController"))
|
||||
"abort-signal"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"signal"))
|
||||
"apply-optimistic"
|
||||
"revert-optimistic"
|
||||
"dom-has-attr?"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 16 1 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"hasAttribute"))
|
||||
"show-indicator"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 33 42 0 20 2 0 16 1 48 1 17 2 16 2 33 24 0 20 3 0 16 2 1 4 0 48 2 5 20 5 0 16 2 1 6 0 48 2 32 1 0 2 32 1 0 2 5 16 1 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"sx-indicator"
|
||||
"dom-query"
|
||||
"dom-remove-class"
|
||||
"hidden"
|
||||
"dom-add-class"
|
||||
"sx-indicator-visible"))
|
||||
"disable-elements"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 33 29 0 20 2 0 20 3 0 48 0 16 1 48 2 17 2 51 5 0 16 2 52 4 0 2 5 16 2 32 4 0 52 6 0 0 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"sx-disabled-elt"
|
||||
"dom-query-all"
|
||||
"dom-body"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 1 2 0 49 3 50)
|
||||
:constants (
|
||||
"dom-set-attr"
|
||||
"disabled"
|
||||
""))
|
||||
"list"))
|
||||
"clear-loading-state"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 5 20 2 0 16 0 1 3 0 48 2 5 16 1 33 42 0 20 4 0 16 1 48 1 17 3 16 3 33 24 0 20 5 0 16 3 1 6 0 48 2 5 20 0 0 16 3 1 7 0 48 2 32 1 0 2 32 1 0 2 5 16 2 33 12 0 51 9 0 16 2 52 8 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-remove-class"
|
||||
"sx-request"
|
||||
"dom-remove-attr"
|
||||
"aria-busy"
|
||||
"dom-query"
|
||||
"dom-add-class"
|
||||
"hidden"
|
||||
"sx-indicator-visible"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"dom-remove-attr"
|
||||
"disabled"))))
|
||||
"abort-error?"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 1 2 0 48 2 1 3 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"host-get"
|
||||
"name"
|
||||
"AbortError"))
|
||||
"promise-catch"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 1 48 1 17 2 20 1 0 16 0 1 2 0 16 2 49 3 50)
|
||||
:constants (
|
||||
"host-callback"
|
||||
"host-call"
|
||||
"catch"))
|
||||
"fetch-request"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 3 16 0 1 2 0 52 0 0 2 6 34 4 0 5 1 3 0 17 4 16 0 1 4 0 52 0 0 2 6 34 5 0 5 52 5 0 0 17 5 16 0 1 6 0 52 0 0 2 17 6 16 0 1 7 0 52 0 0 2 17 7 16 0 1 8 0 52 0 0 2 17 8 16 8 33 16 0 16 1 3 1 9 0 51 10 0 16 8 49 4 32 139 0 20 11 0 1 12 0 48 1 17 9 20 11 0 1 13 0 48 1 17 10 51 15 0 1 9 1 5 16 5 52 16 0 1 52 14 0 2 5 20 17 0 16 10 1 2 0 16 4 48 3 5 20 17 0 16 10 1 4 0 16 9 48 3 5 16 6 33 15 0 20 17 0 16 10 1 6 0 16 6 48 3 32 1 0 2 5 16 7 33 15 0 20 17 0 16 10 1 7 0 16 7 48 3 32 1 0 2 5 20 18 0 20 19 0 20 20 0 48 0 1 21 0 16 3 16 10 48 4 51 22 0 1 1 1 2 16 2 49 3 50)
|
||||
:constants (
|
||||
"get"
|
||||
"url"
|
||||
"method"
|
||||
"GET"
|
||||
"headers"
|
||||
"dict"
|
||||
"body"
|
||||
"signal"
|
||||
"preloaded"
|
||||
200
|
||||
(code :arity 1
|
||||
:bytecode (2 50)
|
||||
:constants ())
|
||||
"host-new"
|
||||
"Headers"
|
||||
"Object"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 1 1 0 16 0 18 1 16 0 52 2 0 2 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"set"
|
||||
"get"))
|
||||
"keys"
|
||||
"host-set!"
|
||||
"promise-then"
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"fetch"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 20 0 0 16 0 1 2 0 48 2 17 2 51 3 0 1 0 17 3 20 4 0 20 5 0 16 0 1 6 0 48 2 51 7 0 0 0 1 1 1 2 1 3 18 1 49 3 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"ok"
|
||||
"status"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 20 1 0 18 0 1 2 0 48 2 1 3 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-get"
|
||||
"headers"
|
||||
"get"))
|
||||
"promise-then"
|
||||
"host-call"
|
||||
"text"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (18 0 18 1 18 2 18 3 16 0 49 4 50)
|
||||
:constants ())))))
|
||||
"fetch-location"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 1 0 48 1 6 34 9 0 5 20 0 0 1 2 0 48 1 17 1 16 1 33 10 0 20 3 0 16 0 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-query"
|
||||
"[sx-boost]"
|
||||
"#main-panel"
|
||||
"browser-navigate"))
|
||||
"fetch-and-restore"
|
||||
(code :arity 4
|
||||
:bytecode (20 0 0 1 2 0 16 1 1 3 0 1 4 0 1 5 0 16 2 1 6 0 2 1 7 0 2 52 1 0 10 51 8 0 1 0 1 3 51 9 0 49 3 50)
|
||||
:constants (
|
||||
"fetch-request"
|
||||
"dict"
|
||||
"url"
|
||||
"method"
|
||||
"GET"
|
||||
"headers"
|
||||
"body"
|
||||
"signal"
|
||||
(code :arity 4 :upvalue-count 2
|
||||
:bytecode (16 0 33 39 0 20 0 0 18 0 16 3 48 2 5 20 1 0 18 0 48 1 5 20 2 0 20 3 0 48 0 1 4 0 1 5 0 18 1 49 4 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-set-inner-html"
|
||||
"post-swap"
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"scrollTo"
|
||||
0))
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 2 0 16 0 52 1 0 2 49 1 50)
|
||||
:constants (
|
||||
"log-warn"
|
||||
"str"
|
||||
"fetch-and-restore error: "))))
|
||||
"fetch-preload"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 1 2 0 16 0 1 3 0 1 4 0 1 5 0 16 1 1 6 0 2 1 7 0 2 52 1 0 10 51 8 0 1 2 1 0 51 9 0 49 3 50)
|
||||
:constants (
|
||||
"fetch-request"
|
||||
"dict"
|
||||
"url"
|
||||
"method"
|
||||
"GET"
|
||||
"headers"
|
||||
"body"
|
||||
"signal"
|
||||
(code :arity 4 :upvalue-count 2
|
||||
:bytecode (16 0 33 14 0 20 0 0 18 0 18 1 16 3 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"preload-cache-set"))
|
||||
(code :arity 1
|
||||
:bytecode (2 50)
|
||||
:constants ())))
|
||||
"fetch-streaming"
|
||||
(code :arity 4
|
||||
:bytecode (20 0 0 16 0 16 1 16 2 1 1 0 49 4 50)
|
||||
:constants (
|
||||
"fetch-and-restore"
|
||||
0))
|
||||
"dom-parse-html-document"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 1 0 48 1 17 1 20 2 0 16 1 1 3 0 16 0 1 4 0 49 4 50)
|
||||
:constants (
|
||||
"host-new"
|
||||
"DOMParser"
|
||||
"host-call"
|
||||
"parseFromString"
|
||||
"text/html"))
|
||||
"dom-body-inner-html"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 0 0 16 0 1 1 0 48 2 1 2 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"body"
|
||||
"innerHTML"))
|
||||
"create-script-clone"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 1 0 48 1 17 1 20 2 0 16 1 1 3 0 1 4 0 48 3 17 2 20 5 0 16 0 1 6 0 48 2 17 3 2 17 4 51 7 0 1 3 1 2 1 4 17 4 16 4 1 8 0 48 1 5 20 9 0 16 2 1 10 0 20 5 0 16 0 1 10 0 48 2 48 3 5 16 2 50)
|
||||
:constants (
|
||||
"host-global"
|
||||
"document"
|
||||
"host-call"
|
||||
"createElement"
|
||||
"script"
|
||||
"host-get"
|
||||
"attributes"
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (16 0 20 1 0 18 0 1 2 0 48 2 52 0 0 2 33 61 0 20 3 0 18 0 1 4 0 16 0 48 3 17 1 20 3 0 18 1 1 5 0 20 1 0 16 1 1 6 0 48 2 20 1 0 16 1 1 7 0 48 2 48 4 5 18 2 16 0 1 9 0 52 8 0 2 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"host-get"
|
||||
"length"
|
||||
"host-call"
|
||||
"item"
|
||||
"setAttribute"
|
||||
"name"
|
||||
"value"
|
||||
"+"
|
||||
1))
|
||||
0
|
||||
"host-set!"
|
||||
"textContent"))
|
||||
"cross-origin?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 6 34 10 0 5 16 0 1 2 0 52 0 0 2 33 18 0 16 0 20 4 0 48 0 52 0 0 2 52 3 0 1 32 1 0 4 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"http://"
|
||||
"https://"
|
||||
"not"
|
||||
"browser-location-origin"))
|
||||
"browser-scroll-to"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 16 1 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"scrollTo"))
|
||||
"with-transition"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 6 33 17 0 5 20 0 0 20 1 0 1 2 0 48 1 1 3 0 48 2 33 26 0 20 4 0 20 1 0 1 2 0 48 1 1 3 0 20 5 0 16 1 48 1 49 3 32 4 0 16 1 49 0 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"host-global"
|
||||
"document"
|
||||
"startViewTransition"
|
||||
"host-call"
|
||||
"host-callback"))
|
||||
"observe-intersection"
|
||||
(code :arity 4
|
||||
:bytecode (20 0 0 51 1 0 1 3 1 1 1 2 1 0 48 1 17 4 20 2 0 1 3 0 20 0 0 51 4 0 1 3 1 1 1 2 1 5 1 0 48 1 48 2 17 5 20 5 0 16 5 1 6 0 16 0 48 3 5 16 5 50)
|
||||
:constants (
|
||||
"host-callback"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (51 1 0 0 0 0 1 0 2 0 3 20 2 0 16 0 1 3 0 20 4 0 51 5 0 48 1 48 3 52 0 0 2 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 33 54 0 18 0 33 17 0 20 2 0 51 3 0 0 1 1 0 18 0 48 2 32 6 0 18 1 16 0 48 1 5 18 2 33 16 0 20 4 0 20 5 0 1 6 0 18 3 49 3 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"isIntersecting"
|
||||
"set-timeout"
|
||||
(code :upvalue-count 2
|
||||
:bytecode (18 0 18 1 49 1 50)
|
||||
:constants ())
|
||||
"host-call"
|
||||
"observer"
|
||||
"unobserve"))
|
||||
"host-call"
|
||||
"forEach"
|
||||
"host-callback"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 50)
|
||||
:constants ())))
|
||||
"host-new"
|
||||
"IntersectionObserver"
|
||||
(code :arity 1 :upvalue-count 5
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 2 17 2 51 2 0 1 1 1 0 0 0 0 1 0 2 0 3 0 4 1 2 17 2 16 2 1 3 0 49 1 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"length"
|
||||
(code :arity 1 :upvalue-count 8
|
||||
:bytecode (16 0 18 0 52 0 0 2 33 105 0 20 1 0 18 1 1 2 0 16 0 48 3 17 1 16 1 6 33 11 0 5 20 3 0 16 1 1 4 0 48 2 33 53 0 18 2 33 17 0 20 5 0 51 6 0 0 3 1 1 18 2 48 2 32 6 0 18 3 16 1 48 1 5 18 4 33 15 0 20 1 0 18 5 1 7 0 18 6 48 3 32 1 0 2 32 1 0 2 5 18 7 16 0 1 9 0 52 8 0 2 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"host-call"
|
||||
"item"
|
||||
"host-get"
|
||||
"isIntersecting"
|
||||
"set-timeout"
|
||||
(code :upvalue-count 2
|
||||
:bytecode (18 0 18 1 49 1 50)
|
||||
:constants ())
|
||||
"unobserve"
|
||||
"+"
|
||||
1))
|
||||
0))
|
||||
"host-call"
|
||||
"observe"))
|
||||
"event-source-connect"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 1 1 0 16 0 48 2 17 2 20 2 0 16 2 1 3 0 16 1 48 3 5 16 2 50)
|
||||
:constants (
|
||||
"host-new"
|
||||
"EventSource"
|
||||
"host-set!"
|
||||
"_sxElement"))
|
||||
"event-source-listen"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 1 1 0 16 1 20 2 0 51 3 0 1 2 48 1 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"addEventListener"
|
||||
"host-callback"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 16 0 49 1 50)
|
||||
:constants ())))
|
||||
"bind-boost-link"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 51 2 0 1 0 1 1 49 3 50)
|
||||
:constants (
|
||||
"dom-listen"
|
||||
"click"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 1 0 16 0 48 1 52 0 0 1 33 89 0 20 2 0 16 0 48 1 5 20 3 0 18 0 1 4 0 48 2 52 0 0 1 33 15 0 20 5 0 18 0 1 4 0 18 1 48 3 32 1 0 2 5 20 3 0 18 0 1 6 0 48 2 52 0 0 1 33 16 0 20 5 0 18 0 1 6 0 1 7 0 48 3 32 1 0 2 5 20 8 0 18 0 2 2 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"event-modifier-key?"
|
||||
"prevent-default"
|
||||
"dom-has-attr?"
|
||||
"sx-get"
|
||||
"dom-set-attr"
|
||||
"sx-push-url"
|
||||
"true"
|
||||
"execute-request"))))
|
||||
"bind-boost-form"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 1 1 0 51 2 0 1 0 49 3 50)
|
||||
:constants (
|
||||
"dom-listen"
|
||||
"submit"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 48 1 5 20 1 0 18 0 2 2 49 3 50)
|
||||
:constants (
|
||||
"prevent-default"
|
||||
"execute-request"))))
|
||||
"bind-client-route-click"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 1 1 0 51 2 0 1 1 1 0 49 3 50)
|
||||
:constants (
|
||||
"dom-listen"
|
||||
"click"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 1 0 16 0 48 1 52 0 0 1 33 198 0 20 2 0 16 0 48 1 5 20 3 0 1 4 0 48 1 17 1 16 1 33 46 0 20 5 0 16 1 1 6 0 48 2 17 3 16 3 6 33 14 0 5 16 3 1 8 0 52 7 0 2 52 0 0 1 33 5 0 16 3 32 3 0 1 9 0 32 3 0 1 9 0 17 2 20 10 0 20 11 0 18 0 48 1 16 2 48 2 33 26 0 20 12 0 2 1 13 0 18 0 48 3 5 20 14 0 1 15 0 1 15 0 49 2 32 78 0 20 16 0 18 1 1 17 0 48 2 52 0 0 1 33 15 0 20 18 0 18 1 1 17 0 18 0 48 3 32 1 0 2 5 20 16 0 18 1 1 19 0 48 2 52 0 0 1 33 16 0 20 18 0 18 1 1 19 0 1 8 0 48 3 32 1 0 2 5 20 20 0 18 1 2 2 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"event-modifier-key?"
|
||||
"prevent-default"
|
||||
"dom-query"
|
||||
"[sx-boost]"
|
||||
"dom-get-attr"
|
||||
"sx-boost"
|
||||
"="
|
||||
"true"
|
||||
"#main-panel"
|
||||
"try-client-route"
|
||||
"url-pathname"
|
||||
"browser-push-state"
|
||||
""
|
||||
"browser-scroll-to"
|
||||
0
|
||||
"dom-has-attr?"
|
||||
"sx-get"
|
||||
"dom-set-attr"
|
||||
"sx-push-url"
|
||||
"execute-request"))))
|
||||
"sw-post-message"
|
||||
"try-parse-json"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"json-parse"))
|
||||
"strip-component-scripts"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 17 1 1 0 0 17 2 1 1 0 17 3 2 17 4 51 2 0 1 2 1 1 1 3 1 4 17 4 16 4 16 1 48 1 5 16 1 50)
|
||||
:constants (
|
||||
"<script type=\"text/sx\" data-components>"
|
||||
"</script>"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (16 0 18 0 52 0 0 2 17 1 16 1 1 2 0 52 1 0 2 33 7 0 16 0 19 1 32 129 0 16 1 18 0 52 4 0 1 52 3 0 2 17 2 16 0 16 1 18 0 52 4 0 1 52 3 0 2 52 5 0 2 17 3 16 3 18 2 52 0 0 2 17 4 16 4 1 2 0 52 1 0 2 33 7 0 16 0 19 1 32 66 0 16 3 1 6 0 16 4 52 5 0 3 17 5 16 0 1 6 0 16 1 52 5 0 3 17 6 16 3 16 4 18 2 52 4 0 1 52 3 0 2 52 5 0 2 17 7 20 7 0 16 5 48 1 5 18 3 16 6 16 7 52 8 0 2 49 1 50)
|
||||
:constants (
|
||||
"index-of"
|
||||
"="
|
||||
-1
|
||||
"+"
|
||||
"len"
|
||||
"slice"
|
||||
0
|
||||
"sx-load-components"
|
||||
"str"))))
|
||||
"extract-response-css"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 17 1 1 0 0 17 2 1 1 0 17 3 2 17 4 51 2 0 1 2 1 1 1 3 1 4 17 4 16 4 16 1 48 1 5 16 1 50)
|
||||
:constants (
|
||||
"<style data-sx-css>"
|
||||
"</style>"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (16 0 18 0 52 0 0 2 17 1 16 1 1 2 0 52 1 0 2 33 7 0 16 0 19 1 32 153 0 16 0 16 1 18 0 52 5 0 1 52 4 0 2 52 3 0 2 17 2 16 2 18 2 52 0 0 2 17 3 16 3 1 2 0 52 1 0 2 33 7 0 16 0 19 1 32 104 0 16 2 1 6 0 16 3 52 3 0 3 17 4 16 0 1 6 0 16 1 52 3 0 3 17 5 16 2 16 3 18 2 52 5 0 1 52 4 0 2 52 3 0 2 17 6 20 7 0 1 8 0 48 1 17 7 20 9 0 16 7 1 10 0 1 11 0 48 3 17 8 20 12 0 16 8 1 13 0 16 4 48 3 5 20 14 0 16 8 48 1 5 18 3 16 5 16 6 52 15 0 2 49 1 50)
|
||||
:constants (
|
||||
"index-of"
|
||||
"="
|
||||
-1
|
||||
"slice"
|
||||
"+"
|
||||
"len"
|
||||
0
|
||||
"host-global"
|
||||
"document"
|
||||
"host-call"
|
||||
"createElement"
|
||||
"style"
|
||||
"host-set!"
|
||||
"textContent"
|
||||
"dom-append-to-head"
|
||||
"str"))))
|
||||
"sx-render"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 1 0 48 1 17 1 20 2 0 16 1 1 3 0 48 2 17 2 20 4 0 16 0 48 1 17 3 1 6 0 3 52 5 0 2 5 51 8 0 1 2 16 3 52 7 0 2 5 1 6 0 52 9 0 1 5 16 2 50)
|
||||
:constants (
|
||||
"host-global"
|
||||
"document"
|
||||
"host-call"
|
||||
"createDocumentFragment"
|
||||
"sx-parse"
|
||||
"scope-push!"
|
||||
"sx-render-markers"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 20 1 0 2 48 1 2 48 3 17 1 16 1 33 12 0 20 2 0 18 0 16 1 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"render-to-dom"
|
||||
"get-render-env"
|
||||
"dom-append"))
|
||||
"scope-pop!"))
|
||||
"sx-hydrate"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 6 34 6 0 5 20 1 0 48 0 49 1 50)
|
||||
:constants (
|
||||
"sx-hydrate-elements"
|
||||
"dom-body"))
|
||||
"sx-process-scripts"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 6 34 6 0 5 20 1 0 48 0 1 2 0 48 2 17 1 51 4 0 16 1 52 3 0 2 50)
|
||||
:constants (
|
||||
"dom-query-all"
|
||||
"dom-body"
|
||||
"script[type=\"text/sx\"]"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 1 2 0 48 2 52 0 0 1 33 71 0 20 3 0 16 0 1 2 0 48 2 5 20 4 0 16 0 1 5 0 48 2 17 1 16 1 6 33 14 0 5 16 1 52 7 0 1 1 8 0 52 6 0 2 33 21 0 20 9 0 16 1 48 1 17 2 51 11 0 16 2 52 10 0 2 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"is-processed?"
|
||||
"sx-script"
|
||||
"mark-processed!"
|
||||
"host-get"
|
||||
"textContent"
|
||||
">"
|
||||
"len"
|
||||
0
|
||||
"sx-parse"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"cek-eval"))))))
|
||||
"select-from-container"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 33 31 0 20 0 0 16 0 16 1 48 2 17 2 16 2 33 5 0 16 2 32 7 0 20 1 0 16 0 49 1 32 7 0 20 1 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"dom-query"
|
||||
"children-to-fragment"))
|
||||
"children-to-fragment"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 1 0 48 1 17 1 20 2 0 16 1 1 3 0 48 2 17 2 2 17 3 51 4 0 1 0 1 2 1 3 17 3 16 3 48 0 5 16 2 50)
|
||||
:constants (
|
||||
"host-global"
|
||||
"document"
|
||||
"host-call"
|
||||
"createDocumentFragment"
|
||||
(code :upvalue-count 3
|
||||
:bytecode (20 0 0 18 0 48 1 17 0 16 0 33 17 0 20 1 0 18 1 16 0 48 2 5 18 2 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-first-child"
|
||||
"dom-append"))))
|
||||
"select-html-from-doc"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 33 36 0 20 0 0 16 0 16 1 48 2 17 2 16 2 33 10 0 20 1 0 16 2 49 1 32 7 0 20 2 0 16 0 49 1 32 7 0 20 2 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"dom-query"
|
||||
"dom-inner-html"
|
||||
"dom-body-inner-html"))
|
||||
"find-matching-route"
|
||||
"parse-route-pattern"
|
||||
"register-io-deps"
|
||||
"resolve-page-data"
|
||||
"parse-sx-data"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 6 33 14 0 5 16 0 52 1 0 1 1 2 0 52 0 0 2 33 35 0 20 3 0 16 0 48 1 17 1 16 1 52 5 0 1 52 4 0 1 33 9 0 16 1 52 6 0 1 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
">"
|
||||
"len"
|
||||
0
|
||||
"sx-parse"
|
||||
"not"
|
||||
"empty?"
|
||||
"first"))
|
||||
"try-eval-content"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 2 16 2 52 1 0 1 33 4 0 2 32 23 0 20 2 0 48 0 17 3 51 4 0 1 1 1 3 16 2 52 3 0 2 5 16 3 50)
|
||||
:constants (
|
||||
"sx-parse"
|
||||
"empty?"
|
||||
"create-fragment"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 16 0 18 0 2 48 3 17 1 16 1 33 12 0 20 1 0 18 1 16 1 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"render-to-dom"
|
||||
"dom-append"))))
|
||||
"try-async-eval-content"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 49 2 50)
|
||||
:constants (
|
||||
"try-eval-content"))
|
||||
"try-rerender-page"
|
||||
(code
|
||||
:bytecode (2 50)
|
||||
:constants ())
|
||||
"execute-action"
|
||||
"bind-preload"
|
||||
"persist-offline-data"
|
||||
"retrieve-offline-data")))
|
||||
464
shared/static/wasm/sx/boot.sxbc
Normal file
464
shared/static/wasm/sx/boot.sxbc
Normal file
@@ -0,0 +1,464 @@
|
||||
(sxbc 1 "8dd29bf7bc354b48"
|
||||
(code
|
||||
:bytecode (1 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 52 19 0 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 52 19 0 0 128 32 0 5 52 19 0 0 128 33 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 41 0 128 40 0 5 51 43 0 128 42 0 50)
|
||||
:constants (
|
||||
"HEAD_HOIST_SELECTOR"
|
||||
"meta, title, link[rel='canonical'], script[type='application/ld+json']"
|
||||
"hoist-head-elements-full"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 20 1 0 48 2 17 1 51 3 0 16 1 52 2 0 2 50)
|
||||
:constants (
|
||||
"dom-query-all"
|
||||
"HEAD_HOIST_SELECTOR"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 48 1 52 0 0 1 17 1 16 1 1 3 0 52 2 0 2 33 30 0 20 4 0 20 5 0 16 0 48 1 48 1 5 20 6 0 20 7 0 16 0 48 1 16 0 49 2 32 205 0 16 1 1 8 0 52 2 0 2 33 103 0 20 9 0 16 0 1 10 0 48 2 17 2 20 9 0 16 0 1 11 0 48 2 17 3 16 2 33 20 0 20 12 0 1 14 0 16 2 1 15 0 52 13 0 3 48 1 32 1 0 2 5 16 3 33 20 0 20 12 0 1 16 0 16 3 1 15 0 52 13 0 3 48 1 32 1 0 2 5 20 6 0 20 7 0 16 0 48 1 16 0 48 2 5 20 17 0 16 0 49 1 32 90 0 16 1 1 18 0 52 2 0 2 6 33 18 0 5 20 9 0 16 0 1 19 0 48 2 1 20 0 52 2 0 2 33 34 0 20 12 0 1 21 0 48 1 5 20 6 0 20 7 0 16 0 48 1 16 0 48 2 5 20 17 0 16 0 49 1 32 22 0 20 6 0 20 7 0 16 0 48 1 16 0 48 2 5 20 17 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"lower"
|
||||
"dom-tag-name"
|
||||
"="
|
||||
"title"
|
||||
"set-document-title"
|
||||
"dom-text-content"
|
||||
"dom-remove-child"
|
||||
"dom-parent"
|
||||
"meta"
|
||||
"dom-get-attr"
|
||||
"name"
|
||||
"property"
|
||||
"remove-head-element"
|
||||
"str"
|
||||
"meta[name=\""
|
||||
"\"]"
|
||||
"meta[property=\""
|
||||
"dom-append-to-head"
|
||||
"link"
|
||||
"rel"
|
||||
"canonical"
|
||||
"link[rel=\"canonical\"]"))))
|
||||
"sx-mount"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 48 1 17 3 16 3 33 90 0 20 2 0 16 3 48 1 52 1 0 1 33 42 0 20 3 0 16 1 16 2 48 2 17 4 20 4 0 16 3 1 5 0 48 2 5 20 6 0 16 3 16 4 48 2 5 20 7 0 16 3 48 1 32 1 0 2 5 20 8 0 16 3 48 1 5 20 9 0 16 3 48 1 5 20 10 0 16 3 48 1 5 20 11 0 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"resolve-mount-target"
|
||||
"empty?"
|
||||
"dom-child-list"
|
||||
"sx-render-with-env"
|
||||
"dom-set-text-content"
|
||||
""
|
||||
"dom-append"
|
||||
"hoist-head-elements-full"
|
||||
"process-elements"
|
||||
"sx-hydrate-elements"
|
||||
"sx-hydrate-islands"
|
||||
"run-post-render-hooks"))
|
||||
"resolve-suspense"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 2 48 1 5 20 1 0 1 3 0 16 0 1 4 0 52 2 0 3 48 1 17 2 16 2 33 93 0 20 5 0 16 1 48 1 17 3 20 6 0 2 48 1 17 4 20 7 0 16 2 1 8 0 48 2 5 51 10 0 1 2 1 4 16 3 52 9 0 2 5 20 11 0 16 2 48 1 5 20 12 0 16 2 48 1 5 20 13 0 16 2 48 1 5 20 14 0 48 0 5 20 15 0 16 2 1 16 0 1 17 0 16 0 65 1 0 49 3 32 14 0 20 18 0 1 19 0 16 0 52 2 0 2 49 1 50)
|
||||
:constants (
|
||||
"process-sx-scripts"
|
||||
"dom-query"
|
||||
"str"
|
||||
"[data-suspense=\""
|
||||
"\"]"
|
||||
"parse"
|
||||
"get-render-env"
|
||||
"dom-set-text-content"
|
||||
""
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 20 1 0 16 0 18 1 2 48 3 49 2 50)
|
||||
:constants (
|
||||
"dom-append"
|
||||
"render-to-dom"))
|
||||
"process-elements"
|
||||
"sx-hydrate-elements"
|
||||
"sx-hydrate-islands"
|
||||
"run-post-render-hooks"
|
||||
"dom-dispatch"
|
||||
"sx:resolved"
|
||||
"id"
|
||||
"log-warn"
|
||||
"resolveSuspense: no element for id="))
|
||||
"sx-hydrate-elements"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 6 34 6 0 5 20 1 0 48 0 1 2 0 48 2 17 1 51 4 0 16 1 52 3 0 2 50)
|
||||
:constants (
|
||||
"dom-query-all"
|
||||
"dom-body"
|
||||
"[data-sx]"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 1 2 0 48 2 52 0 0 1 33 22 0 20 3 0 16 0 1 2 0 48 2 5 20 4 0 16 0 2 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"is-processed?"
|
||||
"hydrated"
|
||||
"mark-processed!"
|
||||
"sx-update-element"))))
|
||||
"sx-update-element"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 2 16 2 33 96 0 20 1 0 16 2 1 2 0 48 2 17 3 16 3 33 75 0 20 3 0 16 2 48 1 17 4 20 4 0 16 4 16 1 48 2 17 5 20 5 0 16 3 16 5 48 2 17 6 20 6 0 16 2 1 7 0 48 2 5 20 8 0 16 2 16 6 48 2 5 16 1 33 14 0 20 9 0 16 2 16 4 16 1 49 3 32 1 0 2 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"resolve-mount-target"
|
||||
"dom-get-attr"
|
||||
"data-sx"
|
||||
"parse-env-attr"
|
||||
"merge-envs"
|
||||
"sx-render-with-env"
|
||||
"dom-set-text-content"
|
||||
""
|
||||
"dom-append"
|
||||
"store-env-attr"))
|
||||
"sx-render-component"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 5 0 16 0 32 9 0 1 1 0 16 0 52 2 0 2 17 3 20 3 0 16 2 48 1 17 4 20 4 0 16 4 16 3 48 2 17 5 16 5 52 6 0 1 52 5 0 1 33 16 0 1 8 0 16 3 52 2 0 2 52 7 0 1 32 40 0 16 3 52 10 0 1 52 9 0 1 17 6 51 12 0 1 6 1 1 16 1 52 13 0 1 52 11 0 2 5 20 14 0 16 6 16 4 2 49 3 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"~"
|
||||
"str"
|
||||
"get-render-env"
|
||||
"env-get"
|
||||
"not"
|
||||
"component?"
|
||||
"error"
|
||||
"Unknown component: "
|
||||
"list"
|
||||
"make-symbol"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 20 1 0 20 2 0 16 0 48 1 48 1 48 2 5 20 0 0 18 0 18 1 16 0 52 3 0 2 49 2 50)
|
||||
:constants (
|
||||
"append!"
|
||||
"make-keyword"
|
||||
"to-kebab"
|
||||
"dict-get"))
|
||||
"keys"
|
||||
"render-to-dom"))
|
||||
"process-sx-scripts"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 51 2 0 16 1 52 1 0 2 50)
|
||||
:constants (
|
||||
"query-sx-scripts"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 1 2 0 48 2 52 0 0 1 33 173 0 20 3 0 16 0 1 2 0 48 2 5 20 4 0 16 0 48 1 17 1 20 5 0 16 0 1 6 0 48 2 33 12 0 20 7 0 16 0 16 1 49 2 32 125 0 16 1 52 8 0 1 6 34 11 0 5 16 1 52 10 0 1 52 9 0 1 33 4 0 2 32 97 0 20 5 0 16 0 1 11 0 48 2 33 21 0 20 12 0 16 1 48 1 17 2 51 14 0 16 2 52 13 0 2 32 63 0 20 5 0 16 0 1 15 0 48 2 33 43 0 20 16 0 16 0 1 15 0 48 2 17 2 20 17 0 16 2 48 1 17 3 16 3 33 13 0 20 18 0 16 3 16 1 2 49 3 32 1 0 2 32 7 0 20 19 0 16 1 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"is-processed?"
|
||||
"script"
|
||||
"mark-processed!"
|
||||
"dom-text-content"
|
||||
"dom-has-attr?"
|
||||
"data-components"
|
||||
"process-component-script"
|
||||
"nil?"
|
||||
"empty?"
|
||||
"trim"
|
||||
"data-init"
|
||||
"sx-parse"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"cek-eval"))
|
||||
"data-mount"
|
||||
"dom-get-attr"
|
||||
"dom-query"
|
||||
"sx-mount"
|
||||
"sx-load-components"))))
|
||||
"process-component-script"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 2 16 2 52 2 0 1 33 38 0 16 1 6 33 15 0 5 16 1 52 5 0 1 52 4 0 1 52 3 0 1 33 10 0 20 6 0 16 1 49 1 32 1 0 2 32 239 0 16 1 6 33 15 0 5 16 1 52 5 0 1 52 4 0 1 52 3 0 1 17 3 20 7 0 1 8 0 48 1 17 4 16 4 16 2 52 9 0 2 33 103 0 16 3 33 41 0 20 10 0 1 8 0 16 2 48 2 5 20 10 0 1 11 0 16 1 48 2 5 20 6 0 16 1 48 1 5 20 12 0 1 13 0 48 1 32 54 0 20 7 0 1 11 0 48 1 17 5 16 5 33 28 0 20 6 0 16 5 48 1 5 20 12 0 1 15 0 16 2 1 16 0 52 14 0 3 48 1 32 11 0 20 17 0 48 0 5 20 18 0 48 0 32 84 0 16 3 33 50 0 20 10 0 1 8 0 16 2 48 2 5 20 10 0 1 11 0 16 1 48 2 5 20 6 0 16 1 48 1 5 20 12 0 1 19 0 16 2 1 16 0 52 14 0 3 48 1 32 29 0 20 20 0 1 8 0 48 1 5 20 20 0 1 11 0 48 1 5 20 17 0 48 0 5 20 18 0 48 0 5 20 21 0 16 2 49 1 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"data-hash"
|
||||
"nil?"
|
||||
"not"
|
||||
"empty?"
|
||||
"trim"
|
||||
"sx-load-components"
|
||||
"local-storage-get"
|
||||
"sx-components-hash"
|
||||
"="
|
||||
"local-storage-set"
|
||||
"sx-components-src"
|
||||
"log-info"
|
||||
"components: downloaded (cookie stale)"
|
||||
"str"
|
||||
"components: cached ("
|
||||
")"
|
||||
"clear-sx-comp-cookie"
|
||||
"browser-reload"
|
||||
"components: downloaded ("
|
||||
"local-storage-remove"
|
||||
"set-sx-comp-cookie"))
|
||||
"_page-routes"
|
||||
"list"
|
||||
"process-page-scripts"
|
||||
(code
|
||||
:bytecode (20 0 0 48 0 17 0 20 1 0 1 3 0 16 0 52 4 0 1 1 5 0 52 2 0 3 48 1 5 51 7 0 16 0 52 6 0 2 5 20 1 0 1 8 0 20 9 0 52 4 0 1 1 10 0 52 2 0 3 49 1 50)
|
||||
:constants (
|
||||
"query-page-scripts"
|
||||
"log-info"
|
||||
"str"
|
||||
"pages: found "
|
||||
"len"
|
||||
" script tags"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 1 2 0 48 2 52 0 0 1 33 128 0 20 3 0 16 0 1 2 0 48 2 5 20 4 0 16 0 48 1 17 1 20 5 0 1 7 0 16 1 33 9 0 16 1 52 8 0 1 32 3 0 1 9 0 52 6 0 2 48 1 5 16 1 6 33 15 0 5 16 1 52 11 0 1 52 10 0 1 52 0 0 1 33 43 0 20 12 0 16 1 48 1 17 2 20 5 0 1 13 0 16 2 52 8 0 1 1 14 0 52 6 0 3 48 1 5 51 16 0 16 2 52 15 0 2 32 8 0 20 17 0 1 18 0 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"is-processed?"
|
||||
"pages"
|
||||
"mark-processed!"
|
||||
"dom-text-content"
|
||||
"log-info"
|
||||
"str"
|
||||
"pages: script text length="
|
||||
"len"
|
||||
0
|
||||
"empty?"
|
||||
"trim"
|
||||
"parse"
|
||||
"pages: parsed "
|
||||
" entries"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 16 0 1 3 0 20 4 0 16 0 1 6 0 52 5 0 2 48 1 65 1 0 52 2 0 2 49 2 50)
|
||||
:constants (
|
||||
"append!"
|
||||
"_page-routes"
|
||||
"merge"
|
||||
"parsed"
|
||||
"parse-route-pattern"
|
||||
"get"
|
||||
"path"))
|
||||
"log-warn"
|
||||
"pages: script tag is empty"))
|
||||
"pages: "
|
||||
"_page-routes"
|
||||
" routes loaded"))
|
||||
"sx-hydrate-islands"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 6 34 6 0 5 20 1 0 48 0 1 2 0 48 2 17 1 20 3 0 1 5 0 16 1 52 6 0 1 1 7 0 16 0 33 6 0 1 8 0 32 3 0 1 9 0 52 4 0 4 48 1 5 51 11 0 16 1 52 10 0 2 50)
|
||||
:constants (
|
||||
"dom-query-all"
|
||||
"dom-body"
|
||||
"[data-sx-island]"
|
||||
"log-info"
|
||||
"str"
|
||||
"sx-hydrate-islands: "
|
||||
"len"
|
||||
" island(s) in "
|
||||
"subtree"
|
||||
"document"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 33 25 0 20 2 0 1 4 0 20 5 0 16 0 1 6 0 48 2 52 3 0 2 49 1 32 41 0 20 2 0 1 7 0 20 5 0 16 0 1 6 0 48 2 52 3 0 2 48 1 5 20 8 0 16 0 1 1 0 48 2 5 20 9 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"is-processed?"
|
||||
"island-hydrated"
|
||||
"log-info"
|
||||
"str"
|
||||
" skip (already hydrated): "
|
||||
"dom-get-attr"
|
||||
"data-sx-island"
|
||||
" hydrating: "
|
||||
"mark-processed!"
|
||||
"hydrate-island"))))
|
||||
"hydrate-island"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 20 0 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 17 2 1 5 0 16 1 52 4 0 2 17 3 20 6 0 2 48 1 17 4 20 7 0 16 4 16 3 48 2 17 5 16 5 52 9 0 1 6 34 7 0 5 16 5 52 10 0 1 52 8 0 1 33 17 0 20 11 0 1 12 0 16 3 52 4 0 2 49 1 32 149 0 20 14 0 16 2 48 1 52 13 0 1 6 34 4 0 5 65 0 0 17 6 52 15 0 0 17 7 20 16 0 16 5 52 17 0 1 16 4 48 2 17 8 51 19 0 1 8 1 6 16 5 52 20 0 1 52 18 0 2 5 20 21 0 51 22 0 1 7 1 5 1 8 51 23 0 1 3 48 2 17 9 20 24 0 16 0 1 25 0 48 2 5 20 26 0 16 0 16 9 48 2 5 20 27 0 16 0 1 28 0 16 7 48 3 5 20 29 0 16 0 48 1 5 20 30 0 1 31 0 16 3 1 32 0 16 7 52 33 0 1 1 34 0 52 4 0 5 49 1 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"data-sx-island"
|
||||
"data-sx-state"
|
||||
"{}"
|
||||
"str"
|
||||
"~"
|
||||
"get-render-env"
|
||||
"env-get"
|
||||
"not"
|
||||
"component?"
|
||||
"island?"
|
||||
"log-warn"
|
||||
"hydrate-island: unknown island "
|
||||
"first"
|
||||
"sx-parse"
|
||||
"list"
|
||||
"env-merge"
|
||||
"component-closure"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 49 3 50)
|
||||
:constants (
|
||||
"env-bind!"
|
||||
"dict-has?"
|
||||
"dict-get"))
|
||||
"component-params"
|
||||
"cek-try"
|
||||
(code :upvalue-count 3
|
||||
:bytecode (20 0 0 51 1 0 0 0 51 2 0 0 1 0 2 49 2 50)
|
||||
:constants (
|
||||
"with-island-scope"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 16 0 49 2 50)
|
||||
:constants (
|
||||
"append!"))
|
||||
(code :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 52 1 0 1 18 1 2 49 3 50)
|
||||
:constants (
|
||||
"render-to-dom"
|
||||
"component-body"))))
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 1 2 0 18 0 1 3 0 16 0 52 1 0 4 48 1 5 20 4 0 1 5 0 2 48 2 17 1 20 6 0 16 1 1 7 0 1 8 0 48 3 5 20 6 0 16 1 1 9 0 1 10 0 48 3 5 20 11 0 16 1 1 12 0 18 0 1 13 0 16 0 52 1 0 4 48 2 5 16 1 50)
|
||||
:constants (
|
||||
"log-warn"
|
||||
"str"
|
||||
"hydrate-island FAILED: "
|
||||
" — "
|
||||
"dom-create-element"
|
||||
"div"
|
||||
"dom-set-attr"
|
||||
"class"
|
||||
"sx-island-error"
|
||||
"style"
|
||||
"padding:8px;margin:4px 0;border:1px solid #ef4444;border-radius:4px;background:#fef2f2;color:#b91c1c;font-family:monospace;font-size:12px;white-space:pre-wrap"
|
||||
"dom-set-text-content"
|
||||
"Island error: "
|
||||
"
|
||||
"))
|
||||
"dom-set-text-content"
|
||||
""
|
||||
"dom-append"
|
||||
"dom-set-data"
|
||||
"sx-disposers"
|
||||
"process-elements"
|
||||
"log-info"
|
||||
"hydrated island: "
|
||||
" ("
|
||||
"len"
|
||||
" disposers)"))
|
||||
"dispose-island"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 33 24 0 51 3 0 16 1 52 2 0 2 5 20 4 0 16 0 1 1 0 2 48 3 32 1 0 2 5 20 5 0 16 0 1 6 0 49 2 50)
|
||||
:constants (
|
||||
"dom-get-data"
|
||||
"sx-disposers"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 33 7 0 16 0 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"callable?"))
|
||||
"dom-set-data"
|
||||
"clear-processed!"
|
||||
"island-hydrated"))
|
||||
"dispose-islands-in"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 33 98 0 20 0 0 16 0 1 1 0 48 2 17 1 16 1 6 33 11 0 5 16 1 52 3 0 1 52 2 0 1 33 62 0 51 5 0 16 1 52 4 0 2 17 2 16 2 52 3 0 1 52 2 0 1 33 34 0 20 6 0 1 8 0 16 2 52 9 0 1 1 10 0 52 7 0 3 48 1 5 20 12 0 16 2 52 11 0 2 32 1 0 2 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-query-all"
|
||||
"[data-sx-island]"
|
||||
"not"
|
||||
"empty?"
|
||||
"filter"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 1 2 0 48 2 52 0 0 1 50)
|
||||
:constants (
|
||||
"not"
|
||||
"is-processed?"
|
||||
"island-hydrated"))
|
||||
"log-info"
|
||||
"str"
|
||||
"disposing "
|
||||
"len"
|
||||
" island(s)"
|
||||
"for-each"
|
||||
"dispose-island"))
|
||||
"force-dispose-islands-in"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 33 70 0 20 0 0 16 0 1 1 0 48 2 17 1 16 1 6 33 11 0 5 16 1 52 3 0 1 52 2 0 1 33 34 0 20 4 0 1 6 0 16 1 52 7 0 1 1 8 0 52 5 0 3 48 1 5 20 10 0 16 1 52 9 0 2 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-query-all"
|
||||
"[data-sx-island]"
|
||||
"not"
|
||||
"empty?"
|
||||
"log-info"
|
||||
"str"
|
||||
"force-disposing "
|
||||
"len"
|
||||
" island(s)"
|
||||
"for-each"
|
||||
"dispose-island"))
|
||||
"*pre-render-hooks*"
|
||||
"*post-render-hooks*"
|
||||
"register-pre-render-hook"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 16 0 49 2 50)
|
||||
:constants (
|
||||
"append!"
|
||||
"*pre-render-hooks*"))
|
||||
"register-post-render-hook"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 16 0 49 2 50)
|
||||
:constants (
|
||||
"append!"
|
||||
"*post-render-hooks*"))
|
||||
"run-pre-render-hooks"
|
||||
(code
|
||||
:bytecode (51 1 0 20 2 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 2 49 2 50)
|
||||
:constants (
|
||||
"cek-call"))
|
||||
"*pre-render-hooks*"))
|
||||
"run-post-render-hooks"
|
||||
(code
|
||||
:bytecode (20 0 0 1 2 0 20 4 0 52 3 0 1 1 5 0 52 1 0 3 48 1 5 51 7 0 20 4 0 52 6 0 2 50)
|
||||
:constants (
|
||||
"log-info"
|
||||
"str"
|
||||
"run-post-render-hooks: "
|
||||
"len"
|
||||
"*post-render-hooks*"
|
||||
" hooks"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 2 0 16 0 52 3 0 1 1 4 0 20 5 0 16 0 48 1 1 6 0 16 0 52 7 0 1 52 1 0 6 48 1 5 20 8 0 16 0 2 49 2 50)
|
||||
:constants (
|
||||
"log-info"
|
||||
"str"
|
||||
" hook type: "
|
||||
"type-of"
|
||||
" callable: "
|
||||
"callable?"
|
||||
" lambda: "
|
||||
"lambda?"
|
||||
"cek-call"))))
|
||||
"boot-init"
|
||||
(code
|
||||
:bytecode (20 0 0 1 2 0 20 3 0 52 1 0 2 48 1 5 20 4 0 48 0 5 20 5 0 48 0 5 20 6 0 2 48 1 5 20 7 0 2 48 1 5 20 8 0 2 48 1 5 20 9 0 48 0 5 20 10 0 2 48 1 5 20 11 0 20 12 0 48 0 1 13 0 51 14 0 49 3 50)
|
||||
:constants (
|
||||
"log-info"
|
||||
"str"
|
||||
"sx-browser "
|
||||
"SX_VERSION"
|
||||
"init-css-tracking"
|
||||
"process-page-scripts"
|
||||
"process-sx-scripts"
|
||||
"sx-hydrate-elements"
|
||||
"sx-hydrate-islands"
|
||||
"run-post-render-hooks"
|
||||
"process-elements"
|
||||
"dom-listen"
|
||||
"dom-window"
|
||||
"popstate"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 1 0 49 1 50)
|
||||
:constants (
|
||||
"handle-popstate"
|
||||
0)))))))
|
||||
317
shared/static/wasm/sx/browser.sxbc
Normal file
317
shared/static/wasm/sx/browser.sxbc
Normal file
@@ -0,0 +1,317 @@
|
||||
(sxbc 1 "b149b21c8bdcb90e"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 41 0 128 40 0 5 51 43 0 128 42 0 5 51 45 0 128 44 0 5 51 47 0 128 46 0 5 51 49 0 128 48 0 5 51 51 0 128 50 0 5 51 53 0 128 52 0 5 51 55 0 128 54 0 5 51 57 0 128 56 0 5 51 59 0 128 58 0 5 51 57 0 128 60 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 50)
|
||||
:constants (
|
||||
"browser-location-href"
|
||||
(code
|
||||
:bytecode (20 0 0 20 0 0 20 1 0 48 0 1 2 0 48 2 1 3 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"location"
|
||||
"href"))
|
||||
"browser-location-pathname"
|
||||
(code
|
||||
:bytecode (20 0 0 20 0 0 20 1 0 48 0 1 2 0 48 2 1 3 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"location"
|
||||
"pathname"))
|
||||
"browser-location-origin"
|
||||
(code
|
||||
:bytecode (20 0 0 20 0 0 20 1 0 48 0 1 2 0 48 2 1 3 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"location"
|
||||
"origin"))
|
||||
"browser-same-origin?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 20 1 0 48 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"browser-location-origin"))
|
||||
"url-pathname"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 1 2 0 16 0 20 3 0 48 0 48 3 1 4 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"host-new"
|
||||
"URL"
|
||||
"browser-location-origin"
|
||||
"pathname"))
|
||||
"browser-push-state"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 52 0 0 1 33 30 0 20 1 0 20 2 0 20 3 0 48 0 1 4 0 48 2 1 5 0 2 1 6 0 16 0 49 5 32 27 0 20 1 0 20 2 0 20 3 0 48 0 1 4 0 48 2 1 5 0 16 0 16 1 16 2 49 5 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"host-call"
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"history"
|
||||
"pushState"
|
||||
""))
|
||||
"browser-replace-state"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 52 0 0 1 33 30 0 20 1 0 20 2 0 20 3 0 48 0 1 4 0 48 2 1 5 0 2 1 6 0 16 0 49 5 32 27 0 20 1 0 20 2 0 20 3 0 48 0 1 4 0 48 2 1 5 0 16 0 16 1 16 2 49 5 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"host-call"
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"history"
|
||||
"replaceState"
|
||||
""))
|
||||
"browser-reload"
|
||||
(code
|
||||
:bytecode (20 0 0 20 1 0 20 2 0 48 0 1 3 0 48 2 1 4 0 49 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"location"
|
||||
"reload"))
|
||||
"browser-navigate"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 20 2 0 48 0 1 3 0 48 2 1 4 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-set!"
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"location"
|
||||
"href"))
|
||||
"local-storage-get"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 20 2 0 48 0 1 3 0 48 2 1 4 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"localStorage"
|
||||
"getItem"))
|
||||
"local-storage-set"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 1 0 20 2 0 48 0 1 3 0 48 2 1 4 0 16 0 16 1 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"localStorage"
|
||||
"setItem"))
|
||||
"local-storage-remove"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 20 2 0 48 0 1 3 0 48 2 1 4 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"localStorage"
|
||||
"removeItem"))
|
||||
"set-timeout"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 20 3 0 16 0 48 1 16 1 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"setTimeout"
|
||||
"host-callback"))
|
||||
"set-interval"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 20 3 0 16 0 48 1 16 1 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"setInterval"
|
||||
"host-callback"))
|
||||
"clear-timeout"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"clearTimeout"))
|
||||
"clear-interval"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"clearInterval"))
|
||||
"request-animation-frame"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 20 3 0 16 0 48 1 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"requestAnimationFrame"
|
||||
"host-callback"))
|
||||
"fetch-request"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 16 1 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"fetch"))
|
||||
"new-abort-controller"
|
||||
(code
|
||||
:bytecode (20 0 0 1 1 0 49 1 50)
|
||||
:constants (
|
||||
"host-new"
|
||||
"AbortController"))
|
||||
"controller-signal"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"signal"))
|
||||
"controller-abort"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"abort"))
|
||||
"promise-then"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 1 48 1 17 3 16 2 33 10 0 20 0 0 16 2 48 1 32 1 0 2 17 4 16 4 33 25 0 20 1 0 20 1 0 16 0 1 2 0 16 3 48 3 1 3 0 16 4 49 3 32 12 0 20 1 0 16 0 1 2 0 16 3 49 3 50)
|
||||
:constants (
|
||||
"host-callback"
|
||||
"host-call"
|
||||
"then"
|
||||
"catch"))
|
||||
"promise-resolve"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 1 2 0 48 1 1 3 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-global"
|
||||
"Promise"
|
||||
"resolve"))
|
||||
"promise-delayed"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 1 1 0 20 2 0 51 3 0 1 1 1 0 48 1 49 2 50)
|
||||
:constants (
|
||||
"host-new"
|
||||
"Promise"
|
||||
"host-callback"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 51 1 0 1 0 0 0 18 1 49 2 50)
|
||||
:constants (
|
||||
"set-timeout"
|
||||
(code :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 1 1 0 2 18 1 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"call"))))))
|
||||
"browser-confirm"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"confirm"))
|
||||
"browser-prompt"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 16 1 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"prompt"))
|
||||
"browser-media-matches?"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 20 2 0 48 0 1 3 0 16 0 48 3 1 4 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"host-call"
|
||||
"dom-window"
|
||||
"matchMedia"
|
||||
"matches"))
|
||||
"json-parse"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 1 2 0 48 1 1 3 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-global"
|
||||
"JSON"
|
||||
"parse"))
|
||||
"log-info"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 1 2 0 48 1 1 3 0 1 5 0 16 0 52 4 0 2 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-global"
|
||||
"console"
|
||||
"log"
|
||||
"str"
|
||||
"[sx] "))
|
||||
"log-warn"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 1 2 0 48 1 1 3 0 1 5 0 16 0 52 4 0 2 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-global"
|
||||
"console"
|
||||
"warn"
|
||||
"str"
|
||||
"[sx] "))
|
||||
"console-log"
|
||||
"now-ms"
|
||||
(code
|
||||
:bytecode (20 0 0 20 1 0 1 2 0 48 1 1 3 0 49 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-global"
|
||||
"Date"
|
||||
"now"))
|
||||
"schedule-idle"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 51 1 0 1 0 48 1 17 1 20 2 0 20 3 0 48 0 1 4 0 48 2 33 18 0 20 5 0 20 3 0 48 0 1 4 0 16 1 49 3 32 10 0 20 6 0 16 1 1 7 0 49 2 50)
|
||||
:constants (
|
||||
"host-callback"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 49 0 50)
|
||||
:constants ())
|
||||
"host-get"
|
||||
"dom-window"
|
||||
"requestIdleCallback"
|
||||
"host-call"
|
||||
"set-timeout"
|
||||
0))
|
||||
"set-cookie"
|
||||
(code :arity 3
|
||||
:bytecode (16 2 6 34 4 0 5 1 0 0 17 3 20 1 0 20 2 0 1 3 0 20 1 0 20 5 0 1 3 0 48 1 1 6 0 48 2 16 3 1 8 0 52 7 0 2 52 4 0 2 48 2 1 9 0 48 2 17 4 20 10 0 20 11 0 48 0 1 12 0 16 0 1 14 0 20 1 0 2 1 15 0 16 1 48 3 1 16 0 16 4 1 17 0 52 13 0 6 49 3 50)
|
||||
:constants (
|
||||
365
|
||||
"host-call"
|
||||
"host-new"
|
||||
"Date"
|
||||
"+"
|
||||
"host-global"
|
||||
"now"
|
||||
"*"
|
||||
86400000
|
||||
"toUTCString"
|
||||
"host-set!"
|
||||
"dom-document"
|
||||
"cookie"
|
||||
"str"
|
||||
"="
|
||||
"encodeURIComponent"
|
||||
";expires="
|
||||
";path=/;SameSite=Lax"))
|
||||
"get-cookie"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 48 2 17 1 20 3 0 16 1 1 4 0 20 5 0 1 6 0 1 8 0 16 0 1 9 0 52 7 0 3 48 2 48 3 17 2 16 2 33 22 0 20 3 0 2 1 10 0 20 0 0 16 2 1 11 0 48 2 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"dom-document"
|
||||
"cookie"
|
||||
"host-call"
|
||||
"match"
|
||||
"host-new"
|
||||
"RegExp"
|
||||
"str"
|
||||
"(?:^|;\\s*)"
|
||||
"=([^;]*)"
|
||||
"decodeURIComponent"
|
||||
1)))))
|
||||
204
shared/static/wasm/sx/bytecode.sxbc
Normal file
204
shared/static/wasm/sx/bytecode.sxbc
Normal file
@@ -0,0 +1,204 @@
|
||||
(sxbc 1 "45824e713893dfa0"
|
||||
(code
|
||||
:bytecode (1 1 0 128 0 0 5 1 3 0 128 2 0 5 1 5 0 128 4 0 5 1 7 0 128 6 0 5 1 9 0 128 8 0 5 1 11 0 128 10 0 5 1 13 0 128 12 0 5 1 15 0 128 14 0 5 1 17 0 128 16 0 5 1 19 0 128 18 0 5 1 21 0 128 20 0 5 1 23 0 128 22 0 5 1 25 0 128 24 0 5 1 27 0 128 26 0 5 1 29 0 128 28 0 5 1 31 0 128 30 0 5 1 33 0 128 32 0 5 1 35 0 128 34 0 5 1 37 0 128 36 0 5 1 39 0 128 38 0 5 1 41 0 128 40 0 5 1 43 0 128 42 0 5 1 45 0 128 44 0 5 1 47 0 128 46 0 5 1 49 0 128 48 0 5 1 51 0 128 50 0 5 1 53 0 128 52 0 5 1 55 0 128 54 0 5 1 57 0 128 56 0 5 1 59 0 128 58 0 5 1 61 0 128 60 0 5 1 63 0 128 62 0 5 1 65 0 128 64 0 5 1 67 0 128 66 0 5 1 69 0 128 68 0 5 1 71 0 128 70 0 5 1 73 0 128 72 0 5 1 75 0 128 74 0 5 1 77 0 128 76 0 5 1 79 0 128 78 0 5 1 81 0 128 80 0 5 1 83 0 128 82 0 5 1 85 0 128 84 0 5 1 87 0 128 86 0 5 1 89 0 128 88 0 5 1 91 0 128 90 0 5 1 93 0 128 92 0 5 1 95 0 128 94 0 5 1 97 0 128 96 0 5 1 99 0 128 98 0 5 1 101 0 128 100 0 5 1 103 0 128 102 0 5 1 105 0 128 104 0 5 1 107 0 128 106 0 5 1 109 0 128 108 0 5 1 111 0 128 110 0 5 1 113 0 128 112 0 5 1 115 0 128 114 0 5 1 117 0 128 116 0 5 1 119 0 128 118 0 5 1 121 0 128 120 0 5 1 123 0 128 122 0 5 1 125 0 128 124 0 5 1 127 0 128 126 0 5 1 129 0 128 128 0 5 1 131 0 128 130 0 5 1 133 0 128 132 0 5 1 135 0 128 134 0 5 1 137 0 128 136 0 5 1 139 0 128 138 0 5 1 141 0 128 140 0 5 1 143 0 128 142 0 5 1 1 0 128 144 0 5 1 1 0 128 145 0 5 1 3 0 128 146 0 5 1 5 0 128 147 0 5 1 7 0 128 148 0 5 1 9 0 128 149 0 5 1 11 0 128 150 0 5 1 152 0 128 151 0 5 1 154 0 128 153 0 5 1 156 0 128 155 0 5 51 158 0 128 157 0 50)
|
||||
:constants (
|
||||
"OP_CONST"
|
||||
1
|
||||
"OP_NIL"
|
||||
2
|
||||
"OP_TRUE"
|
||||
3
|
||||
"OP_FALSE"
|
||||
4
|
||||
"OP_POP"
|
||||
5
|
||||
"OP_DUP"
|
||||
6
|
||||
"OP_LOCAL_GET"
|
||||
16
|
||||
"OP_LOCAL_SET"
|
||||
17
|
||||
"OP_UPVALUE_GET"
|
||||
18
|
||||
"OP_UPVALUE_SET"
|
||||
19
|
||||
"OP_GLOBAL_GET"
|
||||
20
|
||||
"OP_GLOBAL_SET"
|
||||
21
|
||||
"OP_JUMP"
|
||||
32
|
||||
"OP_JUMP_IF_FALSE"
|
||||
33
|
||||
"OP_JUMP_IF_TRUE"
|
||||
34
|
||||
"OP_CALL"
|
||||
48
|
||||
"OP_TAIL_CALL"
|
||||
49
|
||||
"OP_RETURN"
|
||||
50
|
||||
"OP_CLOSURE"
|
||||
51
|
||||
"OP_CALL_PRIM"
|
||||
52
|
||||
"OP_APPLY"
|
||||
53
|
||||
"OP_LIST"
|
||||
64
|
||||
"OP_DICT"
|
||||
65
|
||||
"OP_APPEND_BANG"
|
||||
66
|
||||
"OP_ITER_INIT"
|
||||
80
|
||||
"OP_ITER_NEXT"
|
||||
81
|
||||
"OP_MAP_OPEN"
|
||||
82
|
||||
"OP_MAP_APPEND"
|
||||
83
|
||||
"OP_MAP_CLOSE"
|
||||
84
|
||||
"OP_FILTER_TEST"
|
||||
85
|
||||
"OP_HO_MAP"
|
||||
88
|
||||
"OP_HO_FILTER"
|
||||
89
|
||||
"OP_HO_REDUCE"
|
||||
90
|
||||
"OP_HO_FOR_EACH"
|
||||
91
|
||||
"OP_HO_SOME"
|
||||
92
|
||||
"OP_HO_EVERY"
|
||||
93
|
||||
"OP_SCOPE_PUSH"
|
||||
96
|
||||
"OP_SCOPE_POP"
|
||||
97
|
||||
"OP_PROVIDE_PUSH"
|
||||
98
|
||||
"OP_PROVIDE_POP"
|
||||
99
|
||||
"OP_CONTEXT"
|
||||
100
|
||||
"OP_EMIT"
|
||||
101
|
||||
"OP_EMITTED"
|
||||
102
|
||||
"OP_RESET"
|
||||
112
|
||||
"OP_SHIFT"
|
||||
113
|
||||
"OP_DEFINE"
|
||||
128
|
||||
"OP_DEFCOMP"
|
||||
129
|
||||
"OP_DEFISLAND"
|
||||
130
|
||||
"OP_DEFMACRO"
|
||||
131
|
||||
"OP_EXPAND_MACRO"
|
||||
132
|
||||
"OP_STR_CONCAT"
|
||||
144
|
||||
"OP_STR_JOIN"
|
||||
145
|
||||
"OP_SERIALIZE"
|
||||
146
|
||||
"OP_ADD"
|
||||
160
|
||||
"OP_SUB"
|
||||
161
|
||||
"OP_MUL"
|
||||
162
|
||||
"OP_DIV"
|
||||
163
|
||||
"OP_EQ"
|
||||
164
|
||||
"OP_LT"
|
||||
165
|
||||
"OP_GT"
|
||||
166
|
||||
"OP_NOT"
|
||||
167
|
||||
"OP_LEN"
|
||||
168
|
||||
"OP_FIRST"
|
||||
169
|
||||
"OP_REST"
|
||||
170
|
||||
"OP_NTH"
|
||||
171
|
||||
"OP_CONS"
|
||||
172
|
||||
"OP_NEG"
|
||||
173
|
||||
"OP_INC"
|
||||
174
|
||||
"OP_DEC"
|
||||
175
|
||||
"OP_ASER_TAG"
|
||||
224
|
||||
"OP_ASER_FRAG"
|
||||
225
|
||||
"BYTECODE_MAGIC"
|
||||
"SXBC"
|
||||
"BYTECODE_VERSION"
|
||||
"CONST_NUMBER"
|
||||
"CONST_STRING"
|
||||
"CONST_BOOL"
|
||||
"CONST_NIL"
|
||||
"CONST_SYMBOL"
|
||||
"CONST_KEYWORD"
|
||||
"CONST_LIST"
|
||||
7
|
||||
"CONST_DICT"
|
||||
8
|
||||
"CONST_CODE"
|
||||
9
|
||||
"opcode-name"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 6 0 1 2 0 32 59 1 16 0 1 3 0 52 0 0 2 33 6 0 1 4 0 32 41 1 16 0 1 5 0 52 0 0 2 33 6 0 1 6 0 32 23 1 16 0 1 7 0 52 0 0 2 33 6 0 1 8 0 32 5 1 16 0 1 9 0 52 0 0 2 33 6 0 1 10 0 32 243 0 16 0 1 11 0 52 0 0 2 33 6 0 1 12 0 32 225 0 16 0 1 13 0 52 0 0 2 33 6 0 1 14 0 32 207 0 16 0 1 15 0 52 0 0 2 33 6 0 1 16 0 32 189 0 16 0 1 17 0 52 0 0 2 33 6 0 1 18 0 32 171 0 16 0 1 19 0 52 0 0 2 33 6 0 1 20 0 32 153 0 16 0 1 21 0 52 0 0 2 33 6 0 1 22 0 32 135 0 16 0 1 23 0 52 0 0 2 33 6 0 1 24 0 32 117 0 16 0 1 25 0 52 0 0 2 33 6 0 1 26 0 32 99 0 16 0 1 27 0 52 0 0 2 33 6 0 1 28 0 32 81 0 16 0 1 29 0 52 0 0 2 33 6 0 1 30 0 32 63 0 16 0 1 31 0 52 0 0 2 33 6 0 1 32 0 32 45 0 16 0 1 33 0 52 0 0 2 33 6 0 1 34 0 32 27 0 16 0 1 35 0 52 0 0 2 33 6 0 1 36 0 32 9 0 1 38 0 16 0 52 37 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
1
|
||||
"CONST"
|
||||
2
|
||||
"NIL"
|
||||
3
|
||||
"TRUE"
|
||||
4
|
||||
"FALSE"
|
||||
5
|
||||
"POP"
|
||||
6
|
||||
"DUP"
|
||||
16
|
||||
"LOCAL_GET"
|
||||
17
|
||||
"LOCAL_SET"
|
||||
20
|
||||
"GLOBAL_GET"
|
||||
21
|
||||
"GLOBAL_SET"
|
||||
32
|
||||
"JUMP"
|
||||
33
|
||||
"JUMP_IF_FALSE"
|
||||
48
|
||||
"CALL"
|
||||
49
|
||||
"TAIL_CALL"
|
||||
50
|
||||
"RETURN"
|
||||
52
|
||||
"CALL_PRIM"
|
||||
128
|
||||
"DEFINE"
|
||||
144
|
||||
"STR_CONCAT"
|
||||
"str"
|
||||
"OP_")))))
|
||||
948
shared/static/wasm/sx/compiler.sxbc
Normal file
948
shared/static/wasm/sx/compiler.sxbc
Normal file
@@ -0,0 +1,948 @@
|
||||
(sxbc 1 "9f12bfb447e36aeb"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 41 0 128 40 0 5 51 43 0 128 42 0 5 51 45 0 128 44 0 5 51 47 0 128 46 0 5 51 49 0 128 48 0 5 51 51 0 128 50 0 5 51 53 0 128 52 0 5 51 55 0 128 54 0 5 51 57 0 128 56 0 5 51 59 0 128 58 0 5 51 61 0 128 60 0 5 51 63 0 128 62 0 5 51 65 0 128 64 0 5 51 67 0 128 66 0 5 51 69 0 128 68 0 5 51 71 0 128 70 0 5 51 73 0 128 72 0 5 51 75 0 128 74 0 5 51 77 0 128 76 0 5 51 79 0 128 78 0 5 51 81 0 128 80 0 50)
|
||||
:constants (
|
||||
"make-pool"
|
||||
(code
|
||||
:bytecode (1 0 0 1 2 0 52 1 0 1 33 7 0 52 2 0 0 32 4 0 52 3 0 0 1 4 0 1 5 0 1 6 0 65 1 0 65 2 0 50)
|
||||
:constants (
|
||||
"entries"
|
||||
"primitive?"
|
||||
"mutable-list"
|
||||
"list"
|
||||
"index"
|
||||
"_count"
|
||||
0))
|
||||
"pool-add"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 5 16 1 52 1 0 1 17 2 16 0 1 3 0 52 2 0 2 17 3 16 3 16 2 52 4 0 2 33 11 0 16 3 16 2 52 2 0 2 32 60 0 16 3 1 5 0 52 2 0 2 17 4 16 3 16 2 16 4 52 6 0 3 5 16 3 1 5 0 16 4 1 8 0 52 7 0 2 52 6 0 3 5 20 9 0 16 0 1 10 0 52 2 0 2 16 1 48 2 5 16 4 50)
|
||||
:constants (
|
||||
"Add a value to the constant pool, return its index. Deduplicates."
|
||||
"serialize"
|
||||
"get"
|
||||
"index"
|
||||
"has-key?"
|
||||
"_count"
|
||||
"dict-set!"
|
||||
"+"
|
||||
1
|
||||
"append!"
|
||||
"entries"))
|
||||
"make-scope"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 1 1 0 1 2 0 52 3 0 0 1 4 0 52 3 0 0 1 5 0 16 0 1 6 0 4 65 5 0 50)
|
||||
:constants (
|
||||
"next-slot"
|
||||
0
|
||||
"upvalues"
|
||||
"list"
|
||||
"locals"
|
||||
"parent"
|
||||
"is-function"))
|
||||
"scope-define-local"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 5 51 3 0 1 1 16 0 1 5 0 52 4 0 2 52 2 0 2 52 1 0 1 17 2 16 2 33 12 0 16 2 1 6 0 52 4 0 2 32 64 0 16 0 1 7 0 52 4 0 2 17 3 20 8 0 16 0 1 5 0 52 4 0 2 1 9 0 4 1 6 0 16 3 1 10 0 16 1 65 3 0 48 2 5 16 0 1 7 0 16 3 1 13 0 52 12 0 2 52 11 0 3 5 16 3 50)
|
||||
:constants (
|
||||
"Add a local variable, return its slot index.
|
||||
Idempotent: if name already has a slot, return it."
|
||||
"first"
|
||||
"filter"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 18 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"get"
|
||||
"name"))
|
||||
"get"
|
||||
"locals"
|
||||
"slot"
|
||||
"next-slot"
|
||||
"append!"
|
||||
"mutable"
|
||||
"name"
|
||||
"dict-set!"
|
||||
"+"
|
||||
1))
|
||||
"scope-resolve"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 5 16 0 52 1 0 1 33 17 0 1 2 0 16 1 1 3 0 1 4 0 65 2 0 32 61 1 16 0 1 6 0 52 5 0 2 17 2 51 8 0 1 1 16 2 52 7 0 2 17 3 16 3 33 41 0 51 8 0 1 1 16 2 52 10 0 2 52 9 0 1 17 4 1 2 0 16 4 1 11 0 52 5 0 2 1 3 0 1 12 0 65 2 0 32 247 0 16 0 1 13 0 52 5 0 2 17 4 51 8 0 1 1 16 4 52 7 0 2 17 5 16 5 33 41 0 51 8 0 1 1 16 4 52 10 0 2 52 9 0 1 17 6 1 2 0 16 6 1 14 0 52 5 0 2 1 3 0 1 15 0 65 2 0 32 177 0 16 0 1 16 0 52 5 0 2 17 6 16 6 52 1 0 1 33 17 0 1 2 0 16 1 1 3 0 1 4 0 65 2 0 32 140 0 20 17 0 16 6 16 1 48 2 17 7 16 7 1 3 0 52 5 0 2 1 4 0 52 18 0 2 33 5 0 16 7 32 105 0 16 0 1 19 0 52 5 0 2 33 91 0 16 0 1 13 0 52 5 0 2 52 20 0 1 17 8 20 21 0 16 0 1 13 0 52 5 0 2 1 2 0 16 7 1 2 0 52 5 0 2 1 22 0 16 7 1 3 0 52 5 0 2 1 12 0 52 18 0 2 1 14 0 16 8 1 23 0 16 1 65 4 0 48 2 5 1 2 0 16 8 1 3 0 1 15 0 65 2 0 32 2 0 16 7 50)
|
||||
:constants (
|
||||
"Resolve a variable name. Returns {:type \"local\"|\"upvalue\"|\"global\", :index N}.
|
||||
Upvalue captures only happen at function boundaries (is-function=true).
|
||||
Let scopes share the enclosing function's frame — their locals are
|
||||
accessed directly without upvalue indirection."
|
||||
"nil?"
|
||||
"index"
|
||||
"type"
|
||||
"global"
|
||||
"get"
|
||||
"locals"
|
||||
"some"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 18 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"get"
|
||||
"name"))
|
||||
"first"
|
||||
"filter"
|
||||
"slot"
|
||||
"local"
|
||||
"upvalues"
|
||||
"uv-index"
|
||||
"upvalue"
|
||||
"parent"
|
||||
"scope-resolve"
|
||||
"="
|
||||
"is-function"
|
||||
"len"
|
||||
"append!"
|
||||
"is-local"
|
||||
"name"))
|
||||
"make-emitter"
|
||||
(code
|
||||
:bytecode (1 0 0 20 1 0 48 0 1 2 0 1 4 0 52 3 0 1 33 7 0 52 4 0 0 32 4 0 52 5 0 0 65 2 0 50)
|
||||
:constants (
|
||||
"pool"
|
||||
"make-pool"
|
||||
"bytecode"
|
||||
"primitive?"
|
||||
"mutable-list"
|
||||
"list"))
|
||||
"emit-byte"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 2 0 52 1 0 2 16 1 49 2 50)
|
||||
:constants (
|
||||
"append!"
|
||||
"get"
|
||||
"bytecode"))
|
||||
"emit-u16"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 16 1 1 2 0 52 1 0 2 48 2 5 20 0 0 16 0 16 1 1 2 0 52 4 0 2 52 3 0 1 1 2 0 52 1 0 2 49 2 50)
|
||||
:constants (
|
||||
"emit-byte"
|
||||
"mod"
|
||||
256
|
||||
"floor"
|
||||
"/"))
|
||||
"emit-i16"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 1 1 0 52 0 0 2 33 12 0 16 1 1 3 0 52 2 0 2 32 2 0 16 1 17 2 20 4 0 16 0 16 2 49 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
0
|
||||
"+"
|
||||
65536
|
||||
"emit-u16"))
|
||||
"emit-op"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 16 1 49 2 50)
|
||||
:constants (
|
||||
"emit-byte"))
|
||||
"emit-const"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 2 0 52 1 0 2 16 1 48 2 17 2 20 3 0 16 0 1 4 0 48 2 5 20 5 0 16 0 16 2 49 2 50)
|
||||
:constants (
|
||||
"pool-add"
|
||||
"get"
|
||||
"pool"
|
||||
"emit-op"
|
||||
1
|
||||
"emit-u16"))
|
||||
"current-offset"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 52 0 0 1 50)
|
||||
:constants (
|
||||
"len"
|
||||
"get"
|
||||
"bytecode"))
|
||||
"patch-i16"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 5 16 2 1 2 0 52 1 0 2 33 12 0 16 2 1 4 0 52 3 0 2 32 2 0 16 2 17 3 16 0 1 6 0 52 5 0 2 17 4 16 4 16 1 16 3 1 9 0 52 8 0 2 52 7 0 3 5 16 4 16 1 1 10 0 52 3 0 2 16 3 1 9 0 52 12 0 2 52 11 0 1 1 9 0 52 8 0 2 52 7 0 3 50)
|
||||
:constants (
|
||||
"Patch a previously emitted i16 at the given bytecode offset."
|
||||
"<"
|
||||
0
|
||||
"+"
|
||||
65536
|
||||
"get"
|
||||
"bytecode"
|
||||
"set-nth!"
|
||||
"mod"
|
||||
256
|
||||
1
|
||||
"floor"
|
||||
"/"))
|
||||
"compile-expr"
|
||||
(code :arity 4
|
||||
:bytecode (1 0 0 5 16 1 52 1 0 1 33 13 0 20 2 0 16 0 1 3 0 49 2 32 12 1 16 1 52 5 0 1 1 6 0 52 4 0 2 33 12 0 20 7 0 16 0 16 1 49 2 32 240 0 16 1 52 5 0 1 1 8 0 52 4 0 2 33 12 0 20 7 0 16 0 16 1 49 2 32 212 0 16 1 52 5 0 1 1 9 0 52 4 0 2 33 24 0 20 2 0 16 0 16 1 33 6 0 1 10 0 32 3 0 1 11 0 49 2 32 172 0 16 1 52 5 0 1 1 12 0 52 4 0 2 33 17 0 20 7 0 16 0 20 13 0 16 1 48 1 49 2 32 139 0 16 1 52 5 0 1 1 14 0 52 4 0 2 33 19 0 20 15 0 16 0 20 16 0 16 1 48 1 16 2 49 3 32 104 0 16 1 52 5 0 1 1 17 0 52 4 0 2 33 49 0 16 1 52 18 0 1 33 24 0 20 2 0 16 0 1 19 0 48 2 5 20 20 0 16 0 1 21 0 49 2 32 13 0 20 22 0 16 0 16 1 16 2 16 3 49 4 32 39 0 16 1 52 5 0 1 1 23 0 52 4 0 2 33 14 0 20 24 0 16 0 16 1 16 2 49 3 32 9 0 20 7 0 16 0 16 1 49 2 50)
|
||||
:constants (
|
||||
"Compile an expression. tail? indicates tail position for TCO."
|
||||
"nil?"
|
||||
"emit-op"
|
||||
2
|
||||
"="
|
||||
"type-of"
|
||||
"number"
|
||||
"emit-const"
|
||||
"string"
|
||||
"boolean"
|
||||
3
|
||||
4
|
||||
"keyword"
|
||||
"keyword-name"
|
||||
"symbol"
|
||||
"compile-symbol"
|
||||
"symbol-name"
|
||||
"list"
|
||||
"empty?"
|
||||
64
|
||||
"emit-u16"
|
||||
0
|
||||
"compile-list"
|
||||
"dict"
|
||||
"compile-dict"))
|
||||
"compile-symbol"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 2 16 1 48 2 17 3 16 3 1 3 0 52 2 0 2 1 4 0 52 1 0 2 33 30 0 20 5 0 16 0 1 6 0 48 2 5 20 7 0 16 0 16 3 1 8 0 52 2 0 2 49 2 32 87 0 16 3 1 3 0 52 2 0 2 1 9 0 52 1 0 2 33 30 0 20 5 0 16 0 1 10 0 48 2 5 20 7 0 16 0 16 3 1 8 0 52 2 0 2 49 2 32 38 0 20 11 0 16 0 1 12 0 52 2 0 2 16 1 48 2 17 4 20 5 0 16 0 1 13 0 48 2 5 20 14 0 16 0 16 4 49 2 50)
|
||||
:constants (
|
||||
"scope-resolve"
|
||||
"="
|
||||
"get"
|
||||
"type"
|
||||
"local"
|
||||
"emit-op"
|
||||
16
|
||||
"emit-byte"
|
||||
"index"
|
||||
"upvalue"
|
||||
18
|
||||
"pool-add"
|
||||
"pool"
|
||||
20
|
||||
"emit-u16"))
|
||||
"compile-dict"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 52 0 0 1 17 3 16 3 52 1 0 1 17 4 51 3 0 1 0 1 1 1 2 16 3 52 2 0 2 5 20 4 0 16 0 1 5 0 48 2 5 20 6 0 16 0 16 4 49 2 50)
|
||||
:constants (
|
||||
"keys"
|
||||
"len"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (20 0 0 18 0 16 0 48 2 5 20 1 0 18 0 18 1 16 0 52 2 0 2 18 2 4 49 4 50)
|
||||
:constants (
|
||||
"emit-const"
|
||||
"compile-expr"
|
||||
"get"))
|
||||
"emit-op"
|
||||
65
|
||||
"emit-u16"))
|
||||
"compile-list"
|
||||
(code :arity 4
|
||||
:bytecode (16 1 52 0 0 1 17 4 16 1 52 1 0 1 17 5 16 4 52 4 0 1 1 5 0 52 3 0 2 52 2 0 1 33 18 0 20 6 0 16 0 16 4 16 5 16 2 16 3 49 5 32 54 3 20 7 0 16 4 48 1 17 6 16 6 1 8 0 52 3 0 2 33 16 0 20 9 0 16 0 16 5 16 2 16 3 49 4 32 17 3 16 6 1 10 0 52 3 0 2 33 16 0 20 11 0 16 0 16 5 16 2 16 3 49 4 32 245 2 16 6 1 12 0 52 3 0 2 33 16 0 20 13 0 16 0 16 5 16 2 16 3 49 4 32 217 2 16 6 1 14 0 52 3 0 2 33 16 0 20 15 0 16 0 16 5 16 2 16 3 49 4 32 189 2 16 6 1 16 0 52 3 0 2 33 16 0 20 17 0 16 0 16 5 16 2 16 3 49 4 32 161 2 16 6 1 18 0 52 3 0 2 33 16 0 20 17 0 16 0 16 5 16 2 16 3 49 4 32 133 2 16 6 1 19 0 52 3 0 2 33 16 0 20 20 0 16 0 16 5 16 2 16 3 49 4 32 105 2 16 6 1 21 0 52 3 0 2 33 16 0 20 20 0 16 0 16 5 16 2 16 3 49 4 32 77 2 16 6 1 22 0 52 3 0 2 33 14 0 20 23 0 16 0 16 5 16 2 49 3 32 51 2 16 6 1 24 0 52 3 0 2 33 14 0 20 23 0 16 0 16 5 16 2 49 3 32 25 2 16 6 1 25 0 52 3 0 2 33 14 0 20 26 0 16 0 16 5 16 2 49 3 32 255 1 16 6 1 27 0 52 3 0 2 33 14 0 20 28 0 16 0 16 5 16 2 49 3 32 229 1 16 6 1 29 0 52 3 0 2 33 12 0 20 30 0 16 0 16 5 49 2 32 205 1 16 6 1 31 0 52 3 0 2 33 16 0 20 32 0 16 0 16 5 16 2 16 3 49 4 32 177 1 16 6 1 33 0 52 3 0 2 33 16 0 20 34 0 16 0 16 5 16 2 16 3 49 4 32 149 1 16 6 1 35 0 52 3 0 2 33 16 0 20 36 0 16 0 16 5 16 2 16 3 49 4 32 121 1 16 6 1 37 0 52 3 0 2 33 14 0 20 38 0 16 0 16 5 16 2 49 3 32 95 1 16 6 1 39 0 52 3 0 2 33 14 0 20 38 0 16 0 16 5 16 2 49 3 32 69 1 16 6 1 40 0 52 3 0 2 33 14 0 20 41 0 16 0 16 5 16 2 49 3 32 43 1 16 6 1 42 0 52 3 0 2 33 13 0 20 43 0 16 0 1 44 0 49 2 32 18 1 16 6 1 45 0 52 3 0 2 33 13 0 20 43 0 16 0 1 44 0 49 2 32 249 0 16 6 1 46 0 52 3 0 2 33 13 0 20 43 0 16 0 1 44 0 49 2 32 224 0 16 6 1 47 0 52 3 0 2 33 13 0 20 43 0 16 0 1 44 0 49 2 32 199 0 16 6 1 48 0 52 3 0 2 33 13 0 20 43 0 16 0 1 44 0 49 2 32 174 0 16 6 1 49 0 52 3 0 2 33 13 0 20 43 0 16 0 1 44 0 49 2 32 149 0 16 6 1 50 0 52 3 0 2 33 13 0 20 43 0 16 0 1 44 0 49 2 32 124 0 16 6 1 51 0 52 3 0 2 33 13 0 20 43 0 16 0 1 44 0 49 2 32 99 0 16 6 1 39 0 52 3 0 2 33 14 0 20 38 0 16 0 16 5 16 2 49 3 32 73 0 16 6 1 52 0 52 3 0 2 33 18 0 20 53 0 16 0 16 5 52 0 0 1 16 2 49 3 32 43 0 16 6 1 54 0 52 3 0 2 33 16 0 20 55 0 16 0 16 5 16 2 16 3 49 4 32 15 0 20 6 0 16 0 16 4 16 5 16 2 16 3 49 5 50)
|
||||
:constants (
|
||||
"first"
|
||||
"rest"
|
||||
"not"
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"compile-call"
|
||||
"symbol-name"
|
||||
"if"
|
||||
"compile-if"
|
||||
"when"
|
||||
"compile-when"
|
||||
"and"
|
||||
"compile-and"
|
||||
"or"
|
||||
"compile-or"
|
||||
"let"
|
||||
"compile-let"
|
||||
"let*"
|
||||
"begin"
|
||||
"compile-begin"
|
||||
"do"
|
||||
"lambda"
|
||||
"compile-lambda"
|
||||
"fn"
|
||||
"define"
|
||||
"compile-define"
|
||||
"set!"
|
||||
"compile-set"
|
||||
"quote"
|
||||
"compile-quote"
|
||||
"cond"
|
||||
"compile-cond"
|
||||
"case"
|
||||
"compile-case"
|
||||
"->"
|
||||
"compile-thread"
|
||||
"defcomp"
|
||||
"compile-defcomp"
|
||||
"defisland"
|
||||
"defmacro"
|
||||
"compile-defmacro"
|
||||
"defstyle"
|
||||
"emit-op"
|
||||
2
|
||||
"defhandler"
|
||||
"defpage"
|
||||
"defquery"
|
||||
"defaction"
|
||||
"defrelation"
|
||||
"deftype"
|
||||
"defeffect"
|
||||
"quasiquote"
|
||||
"compile-quasiquote"
|
||||
"letrec"
|
||||
"compile-letrec"))
|
||||
"compile-if"
|
||||
(code :arity 4
|
||||
:bytecode (16 1 52 0 0 1 17 4 16 1 1 2 0 52 1 0 2 17 5 16 1 52 4 0 1 1 5 0 52 3 0 2 33 12 0 16 1 1 5 0 52 1 0 2 32 1 0 2 17 6 20 6 0 16 0 16 4 16 2 4 48 4 5 20 7 0 16 0 1 8 0 48 2 5 20 9 0 16 0 48 1 17 7 20 10 0 16 0 1 11 0 48 2 5 20 6 0 16 0 16 5 16 2 16 3 48 4 5 20 7 0 16 0 1 12 0 48 2 5 20 9 0 16 0 48 1 17 8 20 10 0 16 0 1 11 0 48 2 5 20 13 0 16 0 16 7 20 9 0 16 0 48 1 16 7 1 5 0 52 15 0 2 52 14 0 2 48 3 5 16 6 52 16 0 1 33 13 0 20 7 0 16 0 1 5 0 48 2 32 13 0 20 6 0 16 0 16 6 16 2 16 3 48 4 5 20 13 0 16 0 16 8 20 9 0 16 0 48 1 16 8 1 5 0 52 15 0 2 52 14 0 2 49 3 50)
|
||||
:constants (
|
||||
"first"
|
||||
"nth"
|
||||
1
|
||||
">"
|
||||
"len"
|
||||
2
|
||||
"compile-expr"
|
||||
"emit-op"
|
||||
33
|
||||
"current-offset"
|
||||
"emit-i16"
|
||||
0
|
||||
32
|
||||
"patch-i16"
|
||||
"-"
|
||||
"+"
|
||||
"nil?"))
|
||||
"compile-when"
|
||||
(code :arity 4
|
||||
:bytecode (16 1 52 0 0 1 17 4 16 1 52 1 0 1 17 5 20 2 0 16 0 16 4 16 2 4 48 4 5 20 3 0 16 0 1 4 0 48 2 5 20 5 0 16 0 48 1 17 6 20 6 0 16 0 1 7 0 48 2 5 20 8 0 16 0 16 5 16 2 16 3 48 4 5 20 3 0 16 0 1 9 0 48 2 5 20 5 0 16 0 48 1 17 7 20 6 0 16 0 1 7 0 48 2 5 20 10 0 16 0 16 6 20 5 0 16 0 48 1 16 6 1 13 0 52 12 0 2 52 11 0 2 48 3 5 20 3 0 16 0 1 13 0 48 2 5 20 10 0 16 0 16 7 20 5 0 16 0 48 1 16 7 1 13 0 52 12 0 2 52 11 0 2 49 3 50)
|
||||
:constants (
|
||||
"first"
|
||||
"rest"
|
||||
"compile-expr"
|
||||
"emit-op"
|
||||
33
|
||||
"current-offset"
|
||||
"emit-i16"
|
||||
0
|
||||
"compile-begin"
|
||||
32
|
||||
"patch-i16"
|
||||
"-"
|
||||
"+"
|
||||
2))
|
||||
"compile-and"
|
||||
(code :arity 4
|
||||
:bytecode (16 1 52 0 0 1 33 13 0 20 1 0 16 0 1 2 0 49 2 32 153 0 16 1 52 4 0 1 1 5 0 52 3 0 2 33 20 0 20 6 0 16 0 16 1 52 7 0 1 16 2 16 3 49 4 32 117 0 20 6 0 16 0 16 1 52 7 0 1 16 2 4 48 4 5 20 1 0 16 0 1 8 0 48 2 5 20 1 0 16 0 1 9 0 48 2 5 20 10 0 16 0 48 1 17 4 20 11 0 16 0 1 12 0 48 2 5 20 1 0 16 0 1 13 0 48 2 5 20 14 0 16 0 16 1 52 15 0 1 16 2 16 3 48 4 5 20 16 0 16 0 16 4 20 10 0 16 0 48 1 16 4 1 19 0 52 18 0 2 52 17 0 2 49 3 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"emit-op"
|
||||
3
|
||||
"="
|
||||
"len"
|
||||
1
|
||||
"compile-expr"
|
||||
"first"
|
||||
6
|
||||
33
|
||||
"current-offset"
|
||||
"emit-i16"
|
||||
0
|
||||
5
|
||||
"compile-and"
|
||||
"rest"
|
||||
"patch-i16"
|
||||
"-"
|
||||
"+"
|
||||
2))
|
||||
"compile-or"
|
||||
(code :arity 4
|
||||
:bytecode (16 1 52 0 0 1 33 13 0 20 1 0 16 0 1 2 0 49 2 32 153 0 16 1 52 4 0 1 1 5 0 52 3 0 2 33 20 0 20 6 0 16 0 16 1 52 7 0 1 16 2 16 3 49 4 32 117 0 20 6 0 16 0 16 1 52 7 0 1 16 2 4 48 4 5 20 1 0 16 0 1 8 0 48 2 5 20 1 0 16 0 1 9 0 48 2 5 20 10 0 16 0 48 1 17 4 20 11 0 16 0 1 12 0 48 2 5 20 1 0 16 0 1 13 0 48 2 5 20 14 0 16 0 16 1 52 15 0 1 16 2 16 3 48 4 5 20 16 0 16 0 16 4 20 10 0 16 0 48 1 16 4 1 19 0 52 18 0 2 52 17 0 2 49 3 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"emit-op"
|
||||
4
|
||||
"="
|
||||
"len"
|
||||
1
|
||||
"compile-expr"
|
||||
"first"
|
||||
6
|
||||
34
|
||||
"current-offset"
|
||||
"emit-i16"
|
||||
0
|
||||
5
|
||||
"compile-or"
|
||||
"rest"
|
||||
"patch-i16"
|
||||
"-"
|
||||
"+"
|
||||
2))
|
||||
"compile-begin"
|
||||
(code :arity 4
|
||||
:bytecode (16 1 52 1 0 1 52 0 0 1 6 33 18 0 5 16 2 1 4 0 52 3 0 2 52 2 0 1 52 0 0 1 33 14 0 51 6 0 1 2 16 1 52 5 0 2 32 1 0 2 5 16 1 52 1 0 1 33 13 0 20 7 0 16 0 1 8 0 49 2 32 81 0 16 1 52 10 0 1 1 11 0 52 9 0 2 33 20 0 20 12 0 16 0 16 1 52 13 0 1 16 2 16 3 49 4 32 45 0 20 12 0 16 0 16 1 52 13 0 1 16 2 4 48 4 5 20 7 0 16 0 1 14 0 48 2 5 20 15 0 16 0 16 1 52 16 0 1 16 2 16 3 49 4 50)
|
||||
:constants (
|
||||
"not"
|
||||
"empty?"
|
||||
"nil?"
|
||||
"get"
|
||||
"parent"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 6 33 59 0 5 16 0 52 4 0 1 1 5 0 52 3 0 2 6 33 41 0 5 16 0 52 6 0 1 52 1 0 1 1 7 0 52 0 0 2 6 33 19 0 5 20 8 0 16 0 52 6 0 1 48 1 1 9 0 52 0 0 2 33 53 0 16 0 1 11 0 52 10 0 2 17 1 16 1 52 1 0 1 1 7 0 52 0 0 2 33 10 0 20 8 0 16 1 48 1 32 2 0 16 1 17 2 20 12 0 18 0 16 2 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"list"
|
||||
">="
|
||||
"len"
|
||||
2
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"define"
|
||||
"nth"
|
||||
1
|
||||
"scope-define-local"))
|
||||
"emit-op"
|
||||
2
|
||||
"="
|
||||
"len"
|
||||
1
|
||||
"compile-expr"
|
||||
"first"
|
||||
5
|
||||
"compile-begin"
|
||||
"rest"))
|
||||
"compile-let"
|
||||
(code :arity 4
|
||||
:bytecode (16 1 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 136 0 20 4 0 16 1 52 2 0 1 48 1 17 4 16 1 1 6 0 52 5 0 2 17 5 16 1 1 8 0 52 7 0 2 17 6 52 9 0 0 17 7 52 9 0 0 17 8 51 11 0 1 7 1 8 16 5 52 10 0 2 5 1 14 0 52 13 0 1 16 7 52 9 0 2 16 6 52 12 0 2 17 9 16 4 52 13 0 1 16 9 52 9 0 2 52 9 0 1 17 10 16 4 52 13 0 1 16 8 52 15 0 2 17 11 20 16 0 16 0 16 10 16 11 52 9 0 2 16 2 16 3 49 4 32 71 0 16 1 52 2 0 1 17 4 16 1 52 17 0 1 17 5 20 18 0 16 2 48 1 17 6 16 6 1 20 0 16 2 1 20 0 52 21 0 2 52 19 0 3 5 51 22 0 1 6 1 0 16 4 52 10 0 2 5 20 23 0 16 0 16 5 16 6 16 3 49 4 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"nth"
|
||||
1
|
||||
"slice"
|
||||
2
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 52 3 0 1 52 2 0 1 1 4 0 52 1 0 2 33 9 0 16 0 52 3 0 1 32 10 0 16 0 52 3 0 1 52 5 0 1 48 2 5 20 0 0 18 1 16 0 1 7 0 52 6 0 2 49 2 50)
|
||||
:constants (
|
||||
"append!"
|
||||
"="
|
||||
"type-of"
|
||||
"first"
|
||||
"symbol"
|
||||
"make-symbol"
|
||||
"nth"
|
||||
1))
|
||||
"concat"
|
||||
"make-symbol"
|
||||
"fn"
|
||||
"cons"
|
||||
"compile-letrec"
|
||||
"rest"
|
||||
"make-scope"
|
||||
"dict-set!"
|
||||
"next-slot"
|
||||
"get"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 14 0 20 4 0 16 0 52 2 0 1 48 1 32 6 0 16 0 52 2 0 1 17 1 16 0 1 6 0 52 5 0 2 17 2 20 7 0 18 0 16 1 48 2 17 3 20 8 0 18 1 16 2 18 0 4 48 4 5 20 9 0 18 1 1 10 0 48 2 5 20 11 0 18 1 16 3 49 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"nth"
|
||||
1
|
||||
"scope-define-local"
|
||||
"compile-expr"
|
||||
"emit-op"
|
||||
17
|
||||
"emit-byte"))
|
||||
"compile-begin"))
|
||||
"compile-letrec"
|
||||
(code :arity 4
|
||||
:bytecode (1 0 0 5 16 1 52 1 0 1 17 4 16 1 52 2 0 1 17 5 20 3 0 16 2 48 1 17 6 16 6 1 5 0 16 2 1 5 0 52 6 0 2 52 4 0 3 5 51 8 0 1 6 1 0 16 4 52 7 0 2 17 7 51 10 0 1 0 1 6 51 11 0 1 4 1 7 1 13 0 16 4 52 14 0 1 52 12 0 2 52 7 0 2 52 9 0 2 5 20 15 0 16 0 16 5 16 6 16 3 49 4 50)
|
||||
:constants (
|
||||
"Compile letrec: all names visible during value compilation.
|
||||
1. Define all local slots (initialized to nil).
|
||||
2. Compile each value and assign — names are already in scope
|
||||
so mutually recursive functions can reference each other."
|
||||
"first"
|
||||
"rest"
|
||||
"make-scope"
|
||||
"dict-set!"
|
||||
"next-slot"
|
||||
"get"
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 14 0 20 4 0 16 0 52 2 0 1 48 1 32 6 0 16 0 52 2 0 1 17 1 20 5 0 18 0 16 1 48 2 17 2 20 6 0 18 1 1 7 0 48 2 5 20 6 0 18 1 1 8 0 48 2 5 20 9 0 18 1 16 2 48 2 5 16 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"scope-define-local"
|
||||
"emit-op"
|
||||
2
|
||||
17
|
||||
"emit-byte"))
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (16 0 52 0 0 1 17 1 16 0 1 2 0 52 1 0 2 17 2 20 3 0 18 0 16 1 1 2 0 52 1 0 2 18 1 4 48 4 5 20 4 0 18 0 1 5 0 48 2 5 20 6 0 18 0 16 2 49 2 50)
|
||||
:constants (
|
||||
"first"
|
||||
"nth"
|
||||
1
|
||||
"compile-expr"
|
||||
"emit-op"
|
||||
17
|
||||
"emit-byte"))
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (18 0 16 0 52 1 0 2 18 1 16 0 52 1 0 2 52 0 0 2 50)
|
||||
:constants (
|
||||
"list"
|
||||
"nth"))
|
||||
"range"
|
||||
0
|
||||
"len"
|
||||
"compile-begin"))
|
||||
"compile-lambda"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 52 0 0 1 17 3 16 1 52 1 0 1 17 4 20 2 0 16 2 48 1 17 5 20 3 0 48 0 17 6 16 5 1 5 0 3 52 4 0 3 5 51 7 0 1 5 16 3 52 6 0 2 5 20 8 0 16 6 16 4 16 5 3 48 4 5 20 9 0 16 6 1 10 0 48 2 5 16 5 1 12 0 52 11 0 2 17 7 1 13 0 16 7 52 14 0 1 1 15 0 16 5 1 16 0 52 11 0 2 52 14 0 1 1 17 0 16 6 1 18 0 52 11 0 2 1 19 0 52 11 0 2 1 20 0 16 6 1 20 0 52 11 0 2 65 4 0 17 8 20 21 0 16 0 1 18 0 52 11 0 2 16 8 48 2 17 9 20 9 0 16 0 1 22 0 48 2 5 20 23 0 16 0 16 9 48 2 5 51 24 0 1 0 16 7 52 6 0 2 50)
|
||||
:constants (
|
||||
"first"
|
||||
"rest"
|
||||
"make-scope"
|
||||
"make-emitter"
|
||||
"dict-set!"
|
||||
"is-function"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 10 0 20 3 0 16 0 48 1 32 62 0 16 0 52 4 0 1 6 33 33 0 5 16 0 52 6 0 1 52 5 0 1 6 33 18 0 5 16 0 52 7 0 1 52 1 0 1 1 2 0 52 0 0 2 33 14 0 20 3 0 16 0 52 7 0 1 48 1 32 2 0 16 0 17 1 16 1 1 8 0 52 0 0 2 52 5 0 1 6 33 14 0 5 16 1 1 9 0 52 0 0 2 52 5 0 1 33 12 0 20 10 0 18 0 16 1 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"list?"
|
||||
"not"
|
||||
"empty?"
|
||||
"first"
|
||||
"&key"
|
||||
"&rest"
|
||||
"scope-define-local"))
|
||||
"compile-begin"
|
||||
"emit-op"
|
||||
50
|
||||
"get"
|
||||
"upvalues"
|
||||
"upvalue-count"
|
||||
"len"
|
||||
"arity"
|
||||
"locals"
|
||||
"constants"
|
||||
"pool"
|
||||
"entries"
|
||||
"bytecode"
|
||||
"pool-add"
|
||||
51
|
||||
"emit-u16"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 16 0 1 2 0 52 1 0 2 33 6 0 1 3 0 32 3 0 1 4 0 48 2 5 20 0 0 18 0 16 0 1 5 0 52 1 0 2 49 2 50)
|
||||
:constants (
|
||||
"emit-byte"
|
||||
"get"
|
||||
"is-local"
|
||||
1
|
||||
0
|
||||
"index"))))
|
||||
"compile-define"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 52 0 0 1 17 3 16 3 52 2 0 1 1 3 0 52 1 0 2 33 10 0 20 4 0 16 3 48 1 32 2 0 16 3 17 4 16 1 52 5 0 1 17 6 16 6 52 7 0 1 52 6 0 1 6 33 18 0 5 16 6 52 0 0 1 52 2 0 1 1 8 0 52 1 0 2 33 16 0 51 9 0 1 7 17 7 16 7 16 6 48 1 32 6 0 16 6 52 0 0 1 17 5 16 2 1 12 0 52 11 0 2 52 10 0 1 52 6 0 1 33 47 0 20 13 0 16 2 16 4 48 2 17 6 20 14 0 16 0 16 5 16 2 4 48 4 5 20 15 0 16 0 1 16 0 48 2 5 20 17 0 16 0 16 6 49 2 32 51 0 20 18 0 16 0 1 19 0 52 11 0 2 16 4 48 2 17 6 20 14 0 16 0 16 5 16 2 4 48 4 5 20 15 0 16 0 1 20 0 48 2 5 20 21 0 16 0 16 6 49 2 50)
|
||||
:constants (
|
||||
"first"
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"rest"
|
||||
"not"
|
||||
"empty?"
|
||||
"keyword"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 0 0 1 33 4 0 2 32 43 0 16 0 52 3 0 1 52 2 0 1 1 4 0 52 1 0 2 33 17 0 18 0 16 0 52 5 0 1 52 5 0 1 49 1 32 6 0 16 0 52 3 0 1 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"="
|
||||
"type-of"
|
||||
"first"
|
||||
"keyword"
|
||||
"rest"))
|
||||
"nil?"
|
||||
"get"
|
||||
"parent"
|
||||
"scope-define-local"
|
||||
"compile-expr"
|
||||
"emit-op"
|
||||
17
|
||||
"emit-byte"
|
||||
"pool-add"
|
||||
"pool"
|
||||
128
|
||||
"emit-u16"))
|
||||
"compile-set"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 14 0 20 4 0 16 1 52 2 0 1 48 1 32 6 0 16 1 52 2 0 1 17 3 16 1 1 6 0 52 5 0 2 17 4 20 7 0 16 2 16 3 48 2 17 5 20 8 0 16 0 16 4 16 2 4 48 4 5 16 5 1 10 0 52 9 0 2 1 11 0 52 0 0 2 33 30 0 20 12 0 16 0 1 13 0 48 2 5 20 14 0 16 0 16 5 1 15 0 52 9 0 2 49 2 32 87 0 16 5 1 10 0 52 9 0 2 1 16 0 52 0 0 2 33 30 0 20 12 0 16 0 1 17 0 48 2 5 20 14 0 16 0 16 5 1 15 0 52 9 0 2 49 2 32 38 0 20 18 0 16 0 1 19 0 52 9 0 2 16 3 48 2 17 6 20 12 0 16 0 1 20 0 48 2 5 20 21 0 16 0 16 6 49 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"nth"
|
||||
1
|
||||
"scope-resolve"
|
||||
"compile-expr"
|
||||
"get"
|
||||
"type"
|
||||
"local"
|
||||
"emit-op"
|
||||
17
|
||||
"emit-byte"
|
||||
"index"
|
||||
"upvalue"
|
||||
19
|
||||
"pool-add"
|
||||
"pool"
|
||||
21
|
||||
"emit-u16"))
|
||||
"compile-quote"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 52 0 0 1 33 13 0 20 1 0 16 0 1 2 0 49 2 32 13 0 20 3 0 16 0 16 1 52 4 0 1 49 2 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"emit-op"
|
||||
2
|
||||
"emit-const"
|
||||
"first"))
|
||||
"compile-cond"
|
||||
(code :arity 4
|
||||
:bytecode (1 0 0 5 16 1 52 2 0 1 1 3 0 52 1 0 2 33 13 0 20 4 0 16 0 1 3 0 49 2 32 22 1 16 1 52 5 0 1 17 4 16 1 1 7 0 52 6 0 2 17 5 16 1 52 2 0 1 1 3 0 52 8 0 2 33 12 0 16 1 1 3 0 52 9 0 2 32 4 0 52 10 0 0 17 6 16 4 52 12 0 1 1 13 0 52 11 0 2 6 33 15 0 5 20 14 0 16 4 48 1 1 15 0 52 11 0 2 6 34 8 0 5 16 4 3 52 11 0 2 33 16 0 20 16 0 16 0 16 5 16 2 16 3 49 4 32 162 0 20 16 0 16 0 16 4 16 2 4 48 4 5 20 4 0 16 0 1 17 0 48 2 5 20 18 0 16 0 48 1 17 7 20 19 0 16 0 1 20 0 48 2 5 20 16 0 16 0 16 5 16 2 16 3 48 4 5 20 4 0 16 0 1 21 0 48 2 5 20 18 0 16 0 48 1 17 8 20 19 0 16 0 1 20 0 48 2 5 20 22 0 16 0 16 7 20 18 0 16 0 48 1 16 7 1 3 0 52 24 0 2 52 23 0 2 48 3 5 20 25 0 16 0 16 6 16 2 16 3 48 4 5 20 22 0 16 0 16 8 20 18 0 16 0 48 1 16 8 1 3 0 52 24 0 2 52 23 0 2 49 3 50)
|
||||
:constants (
|
||||
"Compile (cond test1 body1 test2 body2 ... :else fallback)."
|
||||
"<"
|
||||
"len"
|
||||
2
|
||||
"emit-op"
|
||||
"first"
|
||||
"nth"
|
||||
1
|
||||
">"
|
||||
"slice"
|
||||
"list"
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"keyword-name"
|
||||
"else"
|
||||
"compile-expr"
|
||||
33
|
||||
"current-offset"
|
||||
"emit-i16"
|
||||
0
|
||||
32
|
||||
"patch-i16"
|
||||
"-"
|
||||
"+"
|
||||
"compile-cond"))
|
||||
"compile-case"
|
||||
(code :arity 4
|
||||
:bytecode (1 0 0 5 20 1 0 16 0 16 1 52 2 0 1 16 2 4 48 4 5 16 1 52 3 0 1 17 4 20 4 0 16 0 16 4 16 2 16 3 49 4 50)
|
||||
:constants (
|
||||
"Compile (case expr val1 body1 val2 body2 ... :else fallback)."
|
||||
"compile-expr"
|
||||
"first"
|
||||
"rest"
|
||||
"compile-case-clauses"))
|
||||
"compile-case-clauses"
|
||||
(code :arity 4
|
||||
:bytecode (16 1 52 1 0 1 1 2 0 52 0 0 2 33 24 0 20 3 0 16 0 1 4 0 48 2 5 20 3 0 16 0 1 2 0 49 2 32 106 1 16 1 52 5 0 1 17 4 16 1 1 7 0 52 6 0 2 17 5 16 1 52 1 0 1 1 2 0 52 8 0 2 33 12 0 16 1 1 2 0 52 9 0 2 32 4 0 52 10 0 0 17 6 16 4 52 12 0 1 1 13 0 52 11 0 2 6 33 15 0 5 20 14 0 16 4 48 1 1 15 0 52 11 0 2 6 34 8 0 5 16 4 3 52 11 0 2 33 27 0 20 3 0 16 0 1 4 0 48 2 5 20 16 0 16 0 16 5 16 2 16 3 49 4 32 235 0 20 3 0 16 0 1 17 0 48 2 5 20 16 0 16 0 16 4 16 2 4 48 4 5 20 18 0 16 0 1 20 0 52 19 0 2 1 11 0 48 2 17 7 20 3 0 16 0 1 21 0 48 2 5 20 22 0 16 0 16 7 48 2 5 20 23 0 16 0 1 2 0 48 2 5 20 3 0 16 0 1 24 0 48 2 5 20 25 0 16 0 48 1 17 7 20 26 0 16 0 1 27 0 48 2 5 20 3 0 16 0 1 4 0 48 2 5 20 16 0 16 0 16 5 16 2 16 3 48 4 5 20 3 0 16 0 1 28 0 48 2 5 20 25 0 16 0 48 1 17 8 20 26 0 16 0 1 27 0 48 2 5 20 29 0 16 0 16 7 20 25 0 16 0 48 1 16 7 1 2 0 52 31 0 2 52 30 0 2 48 3 5 20 32 0 16 0 16 6 16 2 16 3 48 4 5 20 29 0 16 0 16 8 20 25 0 16 0 48 1 16 8 1 2 0 52 31 0 2 52 30 0 2 49 3 50)
|
||||
:constants (
|
||||
"<"
|
||||
"len"
|
||||
2
|
||||
"emit-op"
|
||||
5
|
||||
"first"
|
||||
"nth"
|
||||
1
|
||||
">"
|
||||
"slice"
|
||||
"list"
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"keyword-name"
|
||||
"else"
|
||||
"compile-expr"
|
||||
6
|
||||
"pool-add"
|
||||
"get"
|
||||
"pool"
|
||||
52
|
||||
"emit-u16"
|
||||
"emit-byte"
|
||||
33
|
||||
"current-offset"
|
||||
"emit-i16"
|
||||
0
|
||||
32
|
||||
"patch-i16"
|
||||
"-"
|
||||
"+"
|
||||
"compile-case-clauses"))
|
||||
"compile-thread"
|
||||
(code :arity 4
|
||||
:bytecode (1 0 0 5 16 1 52 1 0 1 33 13 0 20 2 0 16 0 1 3 0 49 2 32 67 0 16 1 52 5 0 1 1 6 0 52 4 0 2 33 20 0 20 7 0 16 0 16 1 52 8 0 1 16 2 16 3 49 4 32 31 0 16 1 52 8 0 1 17 4 16 1 52 9 0 1 17 5 20 10 0 16 0 16 4 16 5 16 2 16 3 49 5 50)
|
||||
:constants (
|
||||
"Compile (-> val (f1 a) (f2 b)) by desugaring to nested calls."
|
||||
"empty?"
|
||||
"emit-op"
|
||||
2
|
||||
"="
|
||||
"len"
|
||||
1
|
||||
"compile-expr"
|
||||
"first"
|
||||
"rest"
|
||||
"compile-thread-step"))
|
||||
"compile-thread-step"
|
||||
(code :arity 5
|
||||
:bytecode (16 2 52 0 0 1 33 16 0 20 1 0 16 0 16 1 16 3 16 4 49 4 32 128 0 16 2 52 2 0 1 17 5 16 2 52 3 0 1 17 6 16 4 6 33 7 0 5 16 6 52 0 0 1 17 7 16 5 52 4 0 1 33 25 0 16 5 52 2 0 1 16 1 52 6 0 2 16 5 52 3 0 1 52 5 0 2 32 8 0 16 5 16 1 52 6 0 2 17 8 16 6 52 0 0 1 33 16 0 20 1 0 16 0 16 8 16 3 16 7 49 4 32 28 0 20 1 0 16 0 16 8 16 3 4 48 4 5 20 7 0 16 0 16 8 16 6 16 3 16 4 49 5 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"compile-expr"
|
||||
"first"
|
||||
"rest"
|
||||
"list?"
|
||||
"concat"
|
||||
"list"
|
||||
"compile-thread-step"))
|
||||
"compile-defcomp"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 5 20 1 0 16 0 1 3 0 52 2 0 2 1 4 0 48 2 17 3 20 5 0 16 0 1 6 0 48 2 5 20 7 0 16 0 16 3 48 2 5 20 8 0 16 0 1 12 0 52 11 0 1 52 10 0 1 16 1 52 9 0 2 48 2 5 20 5 0 16 0 1 13 0 48 2 5 20 14 0 16 0 1 15 0 49 2 50)
|
||||
:constants (
|
||||
"Compile defcomp/defisland — delegates to runtime via GLOBAL_GET + CALL."
|
||||
"pool-add"
|
||||
"get"
|
||||
"pool"
|
||||
"eval-defcomp"
|
||||
"emit-op"
|
||||
20
|
||||
"emit-u16"
|
||||
"emit-const"
|
||||
"concat"
|
||||
"list"
|
||||
"make-symbol"
|
||||
"defcomp"
|
||||
48
|
||||
"emit-byte"
|
||||
1))
|
||||
"compile-defmacro"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 5 20 1 0 16 0 1 3 0 52 2 0 2 1 4 0 48 2 17 3 20 5 0 16 0 1 6 0 48 2 5 20 7 0 16 0 16 3 48 2 5 20 8 0 16 0 1 12 0 52 11 0 1 52 10 0 1 16 1 52 9 0 2 48 2 5 20 5 0 16 0 1 13 0 48 2 5 20 14 0 16 0 1 15 0 49 2 50)
|
||||
:constants (
|
||||
"Compile defmacro — delegates to runtime via GLOBAL_GET + CALL."
|
||||
"pool-add"
|
||||
"get"
|
||||
"pool"
|
||||
"eval-defmacro"
|
||||
"emit-op"
|
||||
20
|
||||
"emit-u16"
|
||||
"emit-const"
|
||||
"concat"
|
||||
"list"
|
||||
"make-symbol"
|
||||
"defmacro"
|
||||
48
|
||||
"emit-byte"
|
||||
1))
|
||||
"compile-quasiquote"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 5 20 1 0 16 0 16 1 16 2 49 3 50)
|
||||
:constants (
|
||||
"Compile quasiquote inline — walks the template at compile time,
|
||||
emitting code that builds the structure at runtime. Unquoted
|
||||
expressions are compiled normally (resolving locals/upvalues),
|
||||
avoiding the qq-expand-runtime env-lookup limitation."
|
||||
"compile-qq-expr"))
|
||||
"compile-qq-expr"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 5 16 1 52 3 0 1 1 4 0 52 2 0 2 52 1 0 1 33 12 0 20 5 0 16 0 16 1 49 2 32 109 0 16 1 52 6 0 1 33 24 0 20 7 0 16 0 1 8 0 48 2 5 20 9 0 16 0 1 10 0 49 2 32 76 0 16 1 52 11 0 1 17 3 16 3 52 3 0 1 1 12 0 52 2 0 2 6 33 15 0 5 20 13 0 16 3 48 1 1 14 0 52 2 0 2 33 22 0 20 15 0 16 0 16 1 1 17 0 52 16 0 2 16 2 4 49 4 32 11 0 20 18 0 16 0 16 1 16 2 49 3 50)
|
||||
:constants (
|
||||
"Compile a quasiquote sub-expression."
|
||||
"not"
|
||||
"="
|
||||
"type-of"
|
||||
"list"
|
||||
"emit-const"
|
||||
"empty?"
|
||||
"emit-op"
|
||||
64
|
||||
"emit-u16"
|
||||
0
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"unquote"
|
||||
"compile-expr"
|
||||
"nth"
|
||||
1
|
||||
"compile-qq-list"))
|
||||
"compile-qq-list"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 5 51 2 0 16 1 52 1 0 2 17 3 16 3 52 3 0 1 33 41 0 51 5 0 1 0 1 2 16 1 52 4 0 2 5 20 6 0 16 0 1 7 0 48 2 5 20 8 0 16 0 16 1 52 9 0 1 49 2 32 142 0 1 10 0 17 4 1 10 0 17 5 51 11 0 1 5 1 0 1 4 1 2 16 1 52 4 0 2 5 16 5 1 10 0 52 12 0 2 33 35 0 20 6 0 16 0 1 7 0 48 2 5 20 8 0 16 0 16 5 48 2 5 16 4 1 14 0 52 13 0 2 17 4 32 1 0 2 5 16 4 1 14 0 52 12 0 2 33 52 0 20 15 0 16 0 1 17 0 52 16 0 2 1 18 0 48 2 17 6 20 6 0 16 0 1 19 0 48 2 5 20 8 0 16 0 16 6 48 2 5 20 20 0 16 0 16 4 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"Compile a quasiquote list. Handles splice-unquote by building
|
||||
segments and concatenating them."
|
||||
"some"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 6 33 59 0 5 16 0 52 4 0 1 1 5 0 52 3 0 2 6 33 41 0 5 16 0 52 6 0 1 52 1 0 1 1 7 0 52 0 0 2 6 33 19 0 5 20 8 0 16 0 52 6 0 1 48 1 1 9 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"list"
|
||||
">="
|
||||
"len"
|
||||
2
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"splice-unquote"))
|
||||
"not"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 18 1 49 3 50)
|
||||
:constants (
|
||||
"compile-qq-expr"))
|
||||
"emit-op"
|
||||
64
|
||||
"emit-u16"
|
||||
"len"
|
||||
0
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 6 33 59 0 5 16 0 52 4 0 1 1 5 0 52 3 0 2 6 33 41 0 5 16 0 52 6 0 1 52 1 0 1 1 7 0 52 0 0 2 6 33 19 0 5 20 8 0 16 0 52 6 0 1 48 1 1 9 0 52 0 0 2 33 89 0 18 0 1 11 0 52 10 0 2 33 41 0 20 12 0 18 1 1 13 0 48 2 5 20 14 0 18 1 18 0 48 2 5 18 2 1 16 0 52 15 0 2 19 2 5 1 11 0 19 0 32 1 0 2 5 20 17 0 18 1 16 0 1 16 0 52 18 0 2 18 3 4 48 4 5 18 2 1 16 0 52 15 0 2 19 2 32 23 0 20 19 0 18 1 16 0 18 3 48 3 5 18 0 1 16 0 52 15 0 2 19 0 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"list"
|
||||
">="
|
||||
"len"
|
||||
2
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"splice-unquote"
|
||||
">"
|
||||
0
|
||||
"emit-op"
|
||||
64
|
||||
"emit-u16"
|
||||
"+"
|
||||
1
|
||||
"compile-expr"
|
||||
"nth"
|
||||
"compile-qq-expr"))
|
||||
">"
|
||||
"+"
|
||||
1
|
||||
"pool-add"
|
||||
"get"
|
||||
"pool"
|
||||
"concat"
|
||||
52
|
||||
"emit-byte"))
|
||||
"compile-call"
|
||||
(code :arity 5
|
||||
:bytecode (16 1 52 1 0 1 1 2 0 52 0 0 2 6 33 80 0 5 20 3 0 16 1 48 1 17 6 20 6 0 16 3 16 6 48 2 1 7 0 52 5 0 2 1 8 0 52 0 0 2 52 4 0 1 6 33 39 0 5 20 6 0 16 3 16 6 48 2 1 7 0 52 5 0 2 1 9 0 52 0 0 2 52 4 0 1 6 33 7 0 5 16 6 52 10 0 1 17 5 16 5 33 82 0 20 3 0 16 1 48 1 17 6 16 2 52 11 0 1 17 7 20 12 0 16 0 1 13 0 52 5 0 2 16 6 48 2 17 8 51 15 0 1 0 1 3 16 2 52 14 0 2 5 20 16 0 16 0 1 17 0 48 2 5 20 18 0 16 0 16 8 48 2 5 20 19 0 16 0 16 7 49 2 32 83 0 20 20 0 16 0 16 1 16 3 4 48 4 5 51 15 0 1 0 1 3 16 2 52 14 0 2 5 16 4 33 27 0 20 16 0 16 0 1 21 0 48 2 5 20 19 0 16 0 16 2 52 11 0 1 49 2 32 24 0 20 16 0 16 0 1 22 0 48 2 5 20 19 0 16 0 16 2 52 11 0 1 49 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"not"
|
||||
"get"
|
||||
"scope-resolve"
|
||||
"type"
|
||||
"local"
|
||||
"upvalue"
|
||||
"primitive?"
|
||||
"len"
|
||||
"pool-add"
|
||||
"pool"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 18 1 4 49 4 50)
|
||||
:constants (
|
||||
"compile-expr"))
|
||||
"emit-op"
|
||||
52
|
||||
"emit-u16"
|
||||
"emit-byte"
|
||||
"compile-expr"
|
||||
49
|
||||
48))
|
||||
"compile"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 20 1 0 48 0 17 1 20 2 0 2 48 1 17 2 20 3 0 16 1 16 0 16 2 4 48 4 5 20 4 0 16 1 1 5 0 48 2 5 1 6 0 16 1 1 8 0 52 7 0 2 1 9 0 52 7 0 2 1 10 0 16 1 1 10 0 52 7 0 2 65 2 0 50)
|
||||
:constants (
|
||||
"Compile a single SX expression to a bytecode module."
|
||||
"make-emitter"
|
||||
"make-scope"
|
||||
"compile-expr"
|
||||
"emit-op"
|
||||
50
|
||||
"constants"
|
||||
"get"
|
||||
"pool"
|
||||
"entries"
|
||||
"bytecode"))
|
||||
"compile-module"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 20 1 0 48 0 17 1 20 2 0 2 48 1 17 2 51 4 0 1 1 1 2 16 0 52 5 0 1 52 3 0 2 5 20 6 0 16 1 16 0 52 7 0 1 16 2 4 48 4 5 20 8 0 16 1 1 9 0 48 2 5 1 10 0 16 1 1 12 0 52 11 0 2 1 13 0 52 11 0 2 1 14 0 16 1 1 14 0 52 11 0 2 65 2 0 50)
|
||||
:constants (
|
||||
"Compile a list of top-level expressions to a bytecode module."
|
||||
"make-emitter"
|
||||
"make-scope"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 18 1 4 48 4 5 20 1 0 18 0 1 2 0 49 2 50)
|
||||
:constants (
|
||||
"compile-expr"
|
||||
"emit-op"
|
||||
5))
|
||||
"init"
|
||||
"compile-expr"
|
||||
"last"
|
||||
"emit-op"
|
||||
50
|
||||
"constants"
|
||||
"get"
|
||||
"pool"
|
||||
"entries"
|
||||
"bytecode")))))
|
||||
257
shared/static/wasm/sx/core-signals.sxbc
Normal file
257
shared/static/wasm/sx/core-signals.sxbc
Normal file
@@ -0,0 +1,257 @@
|
||||
(sxbc 1 "59a3141f26d62fda"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 1 31 0 128 30 0 5 52 33 0 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 41 0 128 40 0 5 51 43 0 128 42 0 5 51 45 0 128 44 0 50)
|
||||
:constants (
|
||||
"make-signal"
|
||||
(code :arity 1
|
||||
:bytecode (1 1 0 3 1 2 0 16 0 1 3 0 52 4 0 0 1 5 0 52 4 0 0 52 0 0 8 50)
|
||||
:constants (
|
||||
"dict"
|
||||
"__signal"
|
||||
"value"
|
||||
"subscribers"
|
||||
"list"
|
||||
"deps"))
|
||||
"signal?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 6 33 10 0 5 16 0 1 2 0 52 1 0 2 50)
|
||||
:constants (
|
||||
"dict?"
|
||||
"has-key?"
|
||||
"__signal"))
|
||||
"signal-value"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"value"))
|
||||
"signal-set-value!"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 16 1 52 0 0 3 50)
|
||||
:constants (
|
||||
"dict-set!"
|
||||
"value"))
|
||||
"signal-subscribers"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"subscribers"))
|
||||
"signal-add-sub!"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 3 0 52 2 0 2 16 1 52 1 0 2 52 0 0 1 33 19 0 20 4 0 16 0 1 3 0 52 2 0 2 16 1 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"get"
|
||||
"subscribers"
|
||||
"append!"))
|
||||
"signal-remove-sub!"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 2 20 2 0 16 2 16 1 49 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"subscribers"
|
||||
"remove!"))
|
||||
"signal-deps"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"deps"))
|
||||
"signal-set-deps!"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 16 1 52 0 0 3 50)
|
||||
:constants (
|
||||
"dict-set!"
|
||||
"deps"))
|
||||
"signal"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"make-signal"))
|
||||
"deref"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 48 1 52 0 0 1 33 5 0 16 0 32 87 0 1 3 0 2 52 2 0 2 17 1 16 1 33 63 0 16 1 1 5 0 52 4 0 2 17 2 16 1 1 6 0 52 4 0 2 17 3 16 2 16 0 52 7 0 2 52 0 0 1 33 22 0 20 8 0 16 2 16 0 48 2 5 20 9 0 16 0 16 3 48 2 32 1 0 2 32 1 0 2 5 20 10 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"not"
|
||||
"signal?"
|
||||
"context"
|
||||
"sx-reactive"
|
||||
"get"
|
||||
"deps"
|
||||
"notify"
|
||||
"contains?"
|
||||
"append!"
|
||||
"signal-add-sub!"
|
||||
"signal-value"))
|
||||
"reset!"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 48 1 33 48 0 20 1 0 16 0 48 1 17 2 16 2 16 1 52 3 0 2 52 2 0 1 33 20 0 20 4 0 16 0 16 1 48 2 5 20 5 0 16 0 49 1 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"signal?"
|
||||
"signal-value"
|
||||
"not"
|
||||
"identical?"
|
||||
"signal-set-value!"
|
||||
"notify-subscribers"))
|
||||
"swap!"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 48 1 33 69 0 20 1 0 16 0 48 1 17 3 20 2 0 16 1 16 3 16 2 52 4 0 2 52 3 0 2 48 1 17 4 16 3 16 4 52 6 0 2 52 5 0 1 33 20 0 20 7 0 16 0 16 4 48 2 5 20 8 0 16 0 49 1 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"signal?"
|
||||
"signal-value"
|
||||
"trampoline"
|
||||
"apply"
|
||||
"cons"
|
||||
"not"
|
||||
"identical?"
|
||||
"signal-set-value!"
|
||||
"notify-subscribers"))
|
||||
"computed"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 2 48 1 17 1 52 1 0 0 17 2 2 17 3 51 2 0 1 4 1 1 1 0 17 4 16 4 48 0 5 20 3 0 51 4 0 1 1 48 1 5 16 1 50)
|
||||
:constants (
|
||||
"make-signal"
|
||||
"list"
|
||||
(code :upvalue-count 3
|
||||
:bytecode (51 1 0 0 0 20 2 0 18 1 48 1 52 0 0 2 5 20 3 0 18 1 52 4 0 0 48 2 5 1 6 0 52 4 0 0 1 7 0 18 0 52 5 0 4 17 0 1 9 0 16 0 52 8 0 2 5 18 2 48 0 17 1 1 9 0 52 10 0 1 5 20 3 0 18 1 16 0 1 6 0 52 11 0 2 48 2 5 20 12 0 18 1 48 1 17 2 20 13 0 18 1 16 1 48 2 5 16 2 16 1 52 15 0 2 52 14 0 1 33 10 0 20 16 0 18 1 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"signal-remove-sub!"))
|
||||
"signal-deps"
|
||||
"signal-set-deps!"
|
||||
"list"
|
||||
"dict"
|
||||
"deps"
|
||||
"notify"
|
||||
"scope-push!"
|
||||
"sx-reactive"
|
||||
"scope-pop!"
|
||||
"get"
|
||||
"signal-value"
|
||||
"signal-set-value!"
|
||||
"not"
|
||||
"identical?"
|
||||
"notify-subscribers"))
|
||||
"register-in-scope"
|
||||
(code :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 49 1 50)
|
||||
:constants (
|
||||
"dispose-computed"))))
|
||||
"effect"
|
||||
(code :arity 1
|
||||
:bytecode (52 0 0 0 17 1 4 17 2 2 17 3 51 1 0 1 2 1 3 1 4 1 1 1 0 17 4 16 4 48 0 5 51 2 0 1 2 1 3 1 4 1 1 17 5 20 3 0 16 5 48 1 5 16 5 50)
|
||||
:constants (
|
||||
"list"
|
||||
(code :upvalue-count 5
|
||||
:bytecode (18 0 52 0 0 1 33 108 0 18 1 33 7 0 18 1 48 0 32 1 0 2 5 51 2 0 0 2 18 3 52 1 0 2 5 52 3 0 0 19 3 5 1 5 0 52 3 0 0 1 6 0 18 2 52 4 0 4 17 0 1 8 0 16 0 52 7 0 2 5 18 4 48 0 17 1 1 8 0 52 9 0 1 5 16 0 1 5 0 52 10 0 2 19 3 5 20 11 0 16 1 48 1 33 7 0 16 1 19 1 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"signal-remove-sub!"))
|
||||
"list"
|
||||
"dict"
|
||||
"deps"
|
||||
"notify"
|
||||
"scope-push!"
|
||||
"sx-reactive"
|
||||
"scope-pop!"
|
||||
"get"
|
||||
"callable?"))
|
||||
(code :upvalue-count 4
|
||||
:bytecode (3 19 0 5 18 1 33 7 0 18 1 48 0 32 1 0 2 5 51 1 0 0 2 18 3 52 0 0 2 5 52 2 0 0 19 3 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"signal-remove-sub!"))
|
||||
"list"))
|
||||
"register-in-scope"))
|
||||
"*batch-depth*"
|
||||
0
|
||||
"*batch-queue*"
|
||||
"list"
|
||||
"batch"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 1 2 0 52 0 0 2 21 1 0 5 16 0 48 0 5 20 1 0 1 2 0 52 3 0 2 21 1 0 5 20 1 0 1 5 0 52 4 0 2 33 51 0 20 6 0 17 1 52 7 0 0 21 6 0 5 52 7 0 0 17 2 52 7 0 0 17 3 51 9 0 1 2 1 3 16 1 52 8 0 2 5 51 10 0 16 3 52 8 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"+"
|
||||
"*batch-depth*"
|
||||
1
|
||||
"-"
|
||||
"="
|
||||
0
|
||||
"*batch-queue*"
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (51 1 0 0 0 0 1 20 2 0 16 0 48 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 22 0 20 2 0 18 0 16 0 48 2 5 20 2 0 18 1 16 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"append!"))
|
||||
"signal-subscribers"))
|
||||
(code :arity 1
|
||||
:bytecode (16 0 49 0 50)
|
||||
:constants ())))
|
||||
"notify-subscribers"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 1 2 0 52 0 0 2 33 33 0 20 5 0 16 0 52 4 0 2 52 3 0 1 33 13 0 20 6 0 20 5 0 16 0 49 2 32 1 0 2 32 7 0 20 7 0 16 0 49 1 50)
|
||||
:constants (
|
||||
">"
|
||||
"*batch-depth*"
|
||||
0
|
||||
"not"
|
||||
"contains?"
|
||||
"*batch-queue*"
|
||||
"append!"
|
||||
"flush-subscribers"))
|
||||
"flush-subscribers"
|
||||
(code :arity 1
|
||||
:bytecode (51 1 0 20 2 0 16 0 48 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 49 0 50)
|
||||
:constants ())
|
||||
"signal-subscribers"))
|
||||
"dispose-computed"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 33 29 0 51 2 0 20 3 0 16 0 48 1 52 1 0 2 5 20 4 0 16 0 52 5 0 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"signal?"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 2 49 2 50)
|
||||
:constants (
|
||||
"signal-remove-sub!"))
|
||||
"signal-deps"
|
||||
"signal-set-deps!"
|
||||
"list"))
|
||||
"with-island-scope"
|
||||
(code :arity 2
|
||||
:bytecode (1 1 0 16 0 52 0 0 2 5 16 1 48 0 17 2 1 1 0 52 2 0 1 5 16 2 50)
|
||||
:constants (
|
||||
"scope-push!"
|
||||
"sx-island-scope"
|
||||
"scope-pop!"))
|
||||
"register-in-scope"
|
||||
(code :arity 1
|
||||
:bytecode (1 1 0 52 0 0 1 17 1 16 1 33 16 0 20 2 0 16 1 16 0 52 3 0 1 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"scope-peek"
|
||||
"sx-island-scope"
|
||||
"cek-call"
|
||||
"list")))))
|
||||
330
shared/static/wasm/sx/deps.sxbc
Normal file
330
shared/static/wasm/sx/deps.sxbc
Normal file
@@ -0,0 +1,330 @@
|
||||
(sxbc 1 "e71dcede46ada0e7"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 50)
|
||||
:constants (
|
||||
"scan-refs"
|
||||
(code :arity 1
|
||||
:bytecode (52 0 0 0 17 1 20 1 0 16 0 16 1 48 2 5 16 1 50)
|
||||
:constants (
|
||||
"list"
|
||||
"scan-refs-walk"))
|
||||
"scan-refs-walk"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 56 0 20 3 0 16 0 48 1 17 2 16 2 1 5 0 52 4 0 2 33 31 0 16 1 16 2 52 7 0 2 52 6 0 1 33 12 0 20 8 0 16 1 16 2 49 2 32 1 0 2 32 1 0 2 32 67 0 16 0 52 1 0 1 1 9 0 52 0 0 2 33 14 0 51 11 0 1 1 16 0 52 10 0 2 32 37 0 16 0 52 1 0 1 1 12 0 52 0 0 2 33 20 0 51 13 0 1 0 1 1 16 0 52 14 0 1 52 10 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"starts-with?"
|
||||
"~"
|
||||
"not"
|
||||
"contains?"
|
||||
"append!"
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 49 2 50)
|
||||
:constants (
|
||||
"scan-refs-walk"))
|
||||
"dict"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 49 2 50)
|
||||
:constants (
|
||||
"scan-refs-walk"
|
||||
"dict-get"))
|
||||
"keys"))
|
||||
"transitive-deps-walk"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 16 0 52 1 0 2 52 0 0 1 33 126 0 20 2 0 16 1 16 0 48 2 5 20 3 0 16 2 16 0 48 2 17 3 16 3 52 5 0 1 1 6 0 52 4 0 2 6 34 14 0 5 16 3 52 5 0 1 1 7 0 52 4 0 2 33 25 0 51 9 0 1 1 1 2 20 10 0 16 3 52 11 0 1 48 1 52 8 0 2 32 43 0 16 3 52 5 0 1 1 12 0 52 4 0 2 33 26 0 51 9 0 1 1 1 2 20 10 0 20 13 0 16 3 48 1 48 1 52 8 0 2 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"append!"
|
||||
"env-get"
|
||||
"="
|
||||
"type-of"
|
||||
"component"
|
||||
"island"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 16 0 18 0 18 1 49 3 50)
|
||||
:constants (
|
||||
"transitive-deps-walk"))
|
||||
"scan-refs"
|
||||
"component-body"
|
||||
"macro"
|
||||
"macro-body"))
|
||||
"transitive-deps"
|
||||
(code :arity 2
|
||||
:bytecode (52 0 0 0 17 2 16 0 1 2 0 52 1 0 2 33 5 0 16 0 32 9 0 1 2 0 16 0 52 3 0 2 17 3 20 4 0 16 3 16 2 16 1 48 3 5 51 6 0 1 3 16 2 52 5 0 2 50)
|
||||
:constants (
|
||||
"list"
|
||||
"starts-with?"
|
||||
"~"
|
||||
"str"
|
||||
"transitive-deps-walk"
|
||||
"filter"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 18 0 52 1 0 2 52 0 0 1 50)
|
||||
:constants (
|
||||
"not"
|
||||
"="))))
|
||||
"compute-all-deps"
|
||||
(code :arity 1
|
||||
:bytecode (51 1 0 1 0 20 2 0 16 0 48 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 16 0 48 2 17 1 16 1 52 2 0 1 1 3 0 52 1 0 2 6 34 14 0 5 16 1 52 2 0 1 1 4 0 52 1 0 2 33 19 0 20 5 0 16 1 20 6 0 16 0 18 0 48 2 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"env-get"
|
||||
"="
|
||||
"type-of"
|
||||
"component"
|
||||
"island"
|
||||
"component-set-deps!"
|
||||
"transitive-deps"))
|
||||
"env-components"))
|
||||
"scan-components-from-source"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 1 0 16 0 48 2 17 1 51 3 0 16 1 52 2 0 2 50)
|
||||
:constants (
|
||||
"regex-find-all"
|
||||
"\\(~([a-zA-Z_][a-zA-Z0-9_\\-:/]*)"
|
||||
"map"
|
||||
(code :arity 1
|
||||
:bytecode (1 1 0 16 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"str"
|
||||
"~"))))
|
||||
"components-needed"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 2 52 1 0 0 17 3 51 3 0 1 3 1 1 16 2 52 2 0 2 5 16 3 50)
|
||||
:constants (
|
||||
"scan-components-from-source"
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 12 0 20 2 0 18 0 16 0 48 2 32 1 0 2 5 20 3 0 18 1 16 0 48 2 17 1 16 1 52 5 0 1 1 6 0 52 4 0 2 6 33 16 0 5 20 8 0 16 1 48 1 52 7 0 1 52 0 0 1 33 10 0 20 8 0 16 1 48 1 32 9 0 20 9 0 16 0 18 1 48 2 17 2 51 11 0 0 0 16 2 52 10 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"append!"
|
||||
"env-get"
|
||||
"="
|
||||
"type-of"
|
||||
"component"
|
||||
"empty?"
|
||||
"component-deps"
|
||||
"transitive-deps"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 12 0 20 2 0 18 0 16 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"append!"))))))
|
||||
"page-component-bundle"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 16 1 49 2 50)
|
||||
:constants (
|
||||
"components-needed"))
|
||||
"page-css-classes"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 16 1 48 2 17 2 52 1 0 0 17 3 51 3 0 1 1 1 3 16 2 52 2 0 2 5 51 4 0 1 3 20 5 0 16 0 48 1 52 2 0 2 5 16 3 50)
|
||||
:constants (
|
||||
"components-needed"
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 48 2 17 1 16 1 52 2 0 1 1 3 0 52 1 0 2 33 19 0 51 5 0 0 1 20 6 0 16 1 48 1 52 4 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"env-get"
|
||||
"="
|
||||
"type-of"
|
||||
"component"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 12 0 20 2 0 18 0 16 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"append!"))
|
||||
"component-css-classes"))
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 12 0 20 2 0 18 0 16 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"append!"))
|
||||
"scan-css-classes"))
|
||||
"scan-io-refs-walk"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 55 0 20 3 0 16 0 48 1 17 3 16 1 16 3 52 4 0 2 33 31 0 16 2 16 3 52 4 0 2 52 5 0 1 33 12 0 20 6 0 16 2 16 3 49 2 32 1 0 2 32 1 0 2 32 71 0 16 0 52 1 0 1 1 7 0 52 0 0 2 33 16 0 51 9 0 1 1 1 2 16 0 52 8 0 2 32 39 0 16 0 52 1 0 1 1 10 0 52 0 0 2 33 22 0 51 11 0 1 0 1 1 1 2 16 0 52 12 0 1 52 8 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"contains?"
|
||||
"not"
|
||||
"append!"
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 16 0 18 0 18 1 49 3 50)
|
||||
:constants (
|
||||
"scan-io-refs-walk"))
|
||||
"dict"
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 18 2 49 3 50)
|
||||
:constants (
|
||||
"scan-io-refs-walk"
|
||||
"dict-get"))
|
||||
"keys"))
|
||||
"scan-io-refs"
|
||||
(code :arity 2
|
||||
:bytecode (52 0 0 0 17 2 20 1 0 16 0 16 1 16 2 48 3 5 16 2 50)
|
||||
:constants (
|
||||
"list"
|
||||
"scan-io-refs-walk"))
|
||||
"transitive-io-refs-walk"
|
||||
(code :arity 5
|
||||
:bytecode (16 1 16 0 52 1 0 2 52 0 0 1 33 163 0 20 2 0 16 1 16 0 48 2 5 20 3 0 16 3 16 0 48 2 17 5 16 5 52 5 0 1 1 6 0 52 4 0 2 33 52 0 51 8 0 1 2 20 9 0 16 5 52 10 0 1 16 4 48 2 52 7 0 2 5 51 11 0 1 1 1 2 1 3 1 4 20 12 0 16 5 52 10 0 1 48 1 52 7 0 2 32 71 0 16 5 52 5 0 1 1 13 0 52 4 0 2 33 54 0 51 8 0 1 2 20 9 0 20 14 0 16 5 48 1 16 4 48 2 52 7 0 2 5 51 11 0 1 1 1 2 1 3 1 4 20 12 0 20 14 0 16 5 48 1 48 1 52 7 0 2 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"append!"
|
||||
"env-get"
|
||||
"="
|
||||
"type-of"
|
||||
"component"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 12 0 20 2 0 18 0 16 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"append!"))
|
||||
"scan-io-refs"
|
||||
"component-body"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (20 0 0 16 0 18 0 18 1 18 2 18 3 49 5 50)
|
||||
:constants (
|
||||
"transitive-io-refs-walk"))
|
||||
"scan-refs"
|
||||
"macro"
|
||||
"macro-body"))
|
||||
"transitive-io-refs"
|
||||
(code :arity 3
|
||||
:bytecode (52 0 0 0 17 3 52 0 0 0 17 4 16 0 1 2 0 52 1 0 2 33 5 0 16 0 32 9 0 1 2 0 16 0 52 3 0 2 17 5 20 4 0 16 5 16 4 16 3 16 1 16 2 48 5 5 16 3 50)
|
||||
:constants (
|
||||
"list"
|
||||
"starts-with?"
|
||||
"~"
|
||||
"str"
|
||||
"transitive-io-refs-walk"))
|
||||
"compute-all-io-refs"
|
||||
(code :arity 2
|
||||
:bytecode (51 1 0 1 0 1 1 20 2 0 16 0 48 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 16 0 48 2 17 1 16 1 52 2 0 1 1 3 0 52 1 0 2 33 21 0 20 4 0 16 1 20 5 0 16 0 18 0 18 1 48 3 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"env-get"
|
||||
"="
|
||||
"type-of"
|
||||
"component"
|
||||
"component-set-io-refs!"
|
||||
"transitive-io-refs"))
|
||||
"env-components"))
|
||||
"component-io-refs-cached"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 5 0 16 0 32 9 0 1 1 0 16 0 52 2 0 2 17 3 20 3 0 16 1 16 3 48 2 17 4 16 4 52 5 0 1 1 6 0 52 4 0 2 6 33 36 0 5 20 9 0 16 4 48 1 52 8 0 1 52 7 0 1 6 33 16 0 5 20 9 0 16 4 48 1 52 10 0 1 52 7 0 1 33 10 0 20 9 0 16 4 49 1 32 11 0 20 11 0 16 0 16 1 16 2 49 3 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"~"
|
||||
"str"
|
||||
"env-get"
|
||||
"="
|
||||
"type-of"
|
||||
"component"
|
||||
"not"
|
||||
"nil?"
|
||||
"component-io-refs"
|
||||
"empty?"
|
||||
"transitive-io-refs"))
|
||||
"component-pure?"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 5 0 16 0 32 9 0 1 1 0 16 0 52 2 0 2 17 3 20 3 0 16 1 16 3 48 2 17 4 16 4 52 5 0 1 1 6 0 52 4 0 2 6 33 16 0 5 20 9 0 16 4 48 1 52 8 0 1 52 7 0 1 33 14 0 20 9 0 16 4 48 1 52 10 0 1 32 15 0 20 11 0 16 0 16 1 16 2 48 3 52 10 0 1 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"~"
|
||||
"str"
|
||||
"env-get"
|
||||
"="
|
||||
"type-of"
|
||||
"component"
|
||||
"not"
|
||||
"nil?"
|
||||
"component-io-refs"
|
||||
"empty?"
|
||||
"transitive-io-refs"))
|
||||
"render-target"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 5 0 16 0 32 9 0 1 1 0 16 0 52 2 0 2 17 3 20 3 0 16 1 16 3 48 2 17 4 16 4 52 6 0 1 1 7 0 52 5 0 2 52 4 0 1 33 6 0 1 8 0 32 72 0 20 9 0 16 4 48 1 17 5 16 5 1 8 0 52 5 0 2 33 6 0 1 8 0 32 45 0 16 5 1 10 0 52 5 0 2 33 6 0 1 10 0 32 27 0 20 11 0 16 0 16 1 16 2 48 3 52 4 0 1 33 6 0 1 8 0 32 3 0 1 10 0 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"~"
|
||||
"str"
|
||||
"env-get"
|
||||
"not"
|
||||
"="
|
||||
"type-of"
|
||||
"component"
|
||||
"server"
|
||||
"component-affinity"
|
||||
"client"
|
||||
"component-pure?"))
|
||||
"page-render-plan"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 48 2 17 3 52 1 0 0 17 4 52 2 0 0 17 5 52 2 0 0 17 6 52 2 0 0 17 7 51 4 0 1 1 1 2 1 4 1 5 1 7 1 6 16 3 52 3 0 2 5 1 5 0 16 7 1 6 0 16 5 1 7 0 16 4 1 8 0 16 6 65 4 0 50)
|
||||
:constants (
|
||||
"components-needed"
|
||||
"dict"
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 6
|
||||
:bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 18 2 16 0 16 1 52 1 0 3 5 16 1 1 3 0 52 2 0 2 33 33 0 20 4 0 18 3 16 0 48 2 5 51 6 0 0 4 20 7 0 16 0 18 0 18 1 48 3 52 5 0 2 32 9 0 20 4 0 18 5 16 0 49 2 50)
|
||||
:constants (
|
||||
"render-target"
|
||||
"dict-set!"
|
||||
"="
|
||||
"server"
|
||||
"append!"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 12 0 20 2 0 18 0 16 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"append!"))
|
||||
"component-io-refs-cached"))
|
||||
"io-deps"
|
||||
"server"
|
||||
"components"
|
||||
"client"))
|
||||
"env-components"
|
||||
(code :arity 1
|
||||
:bytecode (51 1 0 1 0 16 0 52 2 0 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"filter"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 16 0 48 2 17 1 16 1 52 1 0 1 6 34 7 0 5 16 1 52 2 0 1 50)
|
||||
:constants (
|
||||
"env-get"
|
||||
"component?"
|
||||
"macro?"))
|
||||
"keys")))))
|
||||
532
shared/static/wasm/sx/dom.sxbc
Normal file
532
shared/static/wasm/sx/dom.sxbc
Normal file
@@ -0,0 +1,532 @@
|
||||
(sxbc 1 "229a5c9f55b2ac03"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 41 0 128 40 0 5 51 43 0 128 42 0 5 51 45 0 128 44 0 5 51 47 0 128 46 0 5 51 49 0 128 48 0 5 51 51 0 128 50 0 5 51 53 0 128 52 0 5 51 55 0 128 54 0 5 51 57 0 128 56 0 5 51 59 0 128 58 0 5 51 61 0 128 60 0 5 51 63 0 128 62 0 5 51 65 0 128 64 0 5 51 67 0 128 66 0 5 51 69 0 128 68 0 5 51 71 0 128 70 0 5 51 73 0 128 72 0 5 51 75 0 128 74 0 5 51 77 0 128 76 0 5 51 79 0 128 78 0 5 51 81 0 128 80 0 5 51 83 0 128 82 0 5 51 85 0 128 84 0 5 51 87 0 128 86 0 5 51 89 0 128 88 0 5 51 91 0 128 90 0 5 51 93 0 128 92 0 5 51 95 0 128 94 0 5 51 97 0 128 96 0 5 51 99 0 128 98 0 5 51 101 0 128 100 0 5 51 99 0 128 102 0 5 51 104 0 128 103 0 5 51 106 0 128 105 0 5 51 108 0 128 107 0 5 51 110 0 128 109 0 5 51 112 0 128 111 0 5 51 114 0 128 113 0 5 51 116 0 128 115 0 5 51 118 0 128 117 0 5 51 120 0 128 119 0 5 51 122 0 128 121 0 5 51 124 0 128 123 0 5 51 126 0 128 125 0 5 51 128 0 128 127 0 5 51 130 0 128 129 0 5 51 132 0 128 131 0 5 51 134 0 128 133 0 50)
|
||||
:constants (
|
||||
"dom-document"
|
||||
(code
|
||||
:bytecode (20 0 0 1 1 0 49 1 50)
|
||||
:constants (
|
||||
"host-global"
|
||||
"document"))
|
||||
"dom-window"
|
||||
(code
|
||||
:bytecode (20 0 0 1 1 0 49 1 50)
|
||||
:constants (
|
||||
"host-global"
|
||||
"window"))
|
||||
"dom-body"
|
||||
(code
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"dom-document"
|
||||
"body"))
|
||||
"dom-head"
|
||||
(code
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"dom-document"
|
||||
"head"))
|
||||
"dom-create-element"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 33 20 0 20 0 0 20 1 0 48 0 1 2 0 16 1 16 0 49 4 32 15 0 20 0 0 20 1 0 48 0 1 3 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-document"
|
||||
"createElementNS"
|
||||
"createElement"))
|
||||
"create-text-node"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-document"
|
||||
"createTextNode"))
|
||||
"create-fragment"
|
||||
(code
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 49 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-document"
|
||||
"createDocumentFragment"))
|
||||
"create-comment"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 6 34 4 0 5 1 3 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-document"
|
||||
"createComment"
|
||||
""))
|
||||
"dom-append"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 6 33 3 0 5 16 1 33 15 0 20 0 0 16 0 1 1 0 16 1 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"appendChild"))
|
||||
"dom-prepend"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 6 33 3 0 5 16 1 33 15 0 20 0 0 16 0 1 1 0 16 1 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"prepend"))
|
||||
"dom-insert-before"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 6 33 3 0 5 16 1 33 17 0 20 0 0 16 0 1 1 0 16 1 16 2 49 4 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"insertBefore"))
|
||||
"dom-insert-after"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 5 20 1 0 16 0 1 2 0 48 2 17 2 20 1 0 16 0 1 3 0 48 2 17 3 16 2 33 37 0 16 3 33 17 0 20 4 0 16 2 1 5 0 16 1 16 3 49 4 32 12 0 20 4 0 16 2 1 6 0 16 1 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"Insert node after ref in the same parent."
|
||||
"host-get"
|
||||
"parentNode"
|
||||
"nextSibling"
|
||||
"host-call"
|
||||
"insertBefore"
|
||||
"appendChild"))
|
||||
"dom-remove"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 33 13 0 20 0 0 16 0 1 1 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"remove"))
|
||||
"dom-is-active-element?"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 48 2 17 1 16 1 6 33 3 0 5 16 0 33 11 0 16 0 16 1 52 3 0 2 32 1 0 4 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"dom-document"
|
||||
"activeElement"
|
||||
"identical?"))
|
||||
"dom-is-input-element?"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 48 1 6 34 4 0 5 1 2 0 52 0 0 1 17 1 16 1 1 4 0 52 3 0 2 6 34 24 0 5 16 1 1 5 0 52 3 0 2 6 34 10 0 5 16 1 1 6 0 52 3 0 2 50)
|
||||
:constants (
|
||||
"upper"
|
||||
"dom-tag-name"
|
||||
""
|
||||
"="
|
||||
"INPUT"
|
||||
"TEXTAREA"
|
||||
"SELECT"))
|
||||
"dom-is-child-of?"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 6 33 20 0 5 16 1 6 33 13 0 5 20 0 0 16 1 1 1 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"contains"))
|
||||
"dom-attr-list"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 52 2 0 0 17 2 16 1 33 38 0 20 0 0 16 1 1 3 0 48 2 17 3 2 17 4 51 4 0 1 3 1 1 1 2 1 4 17 4 16 4 1 5 0 48 1 32 1 0 2 5 16 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"attributes"
|
||||
"list"
|
||||
"length"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (16 0 18 0 52 0 0 2 33 62 0 20 1 0 18 1 1 2 0 16 0 48 3 17 1 20 3 0 18 2 20 5 0 16 1 1 6 0 48 2 20 5 0 16 1 1 7 0 48 2 52 4 0 2 48 2 5 18 3 16 0 1 9 0 52 8 0 2 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"host-call"
|
||||
"item"
|
||||
"append!"
|
||||
"list"
|
||||
"host-get"
|
||||
"name"
|
||||
"value"
|
||||
"+"
|
||||
1))
|
||||
0))
|
||||
"dom-remove-child"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 6 33 3 0 5 16 1 33 15 0 20 0 0 16 0 1 1 0 16 1 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"removeChild"))
|
||||
"dom-replace-child"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 6 33 10 0 5 16 1 6 33 3 0 5 16 2 33 17 0 20 0 0 16 0 1 1 0 16 1 16 2 49 4 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"replaceChild"))
|
||||
"dom-clone"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 16 1 52 2 0 1 33 4 0 3 32 2 0 16 1 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"cloneNode"
|
||||
"nil?"))
|
||||
"dom-query"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 52 0 0 1 33 18 0 20 1 0 20 2 0 48 0 1 3 0 16 0 49 3 32 12 0 20 1 0 16 0 1 3 0 16 1 49 3 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"host-call"
|
||||
"dom-document"
|
||||
"querySelector"))
|
||||
"dom-query-all"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 5 16 1 52 1 0 1 33 18 0 20 2 0 20 3 0 48 0 1 4 0 16 0 48 3 32 12 0 20 2 0 16 0 1 4 0 16 1 48 3 17 2 16 2 52 1 0 1 33 7 0 52 5 0 0 32 44 0 20 6 0 16 2 1 7 0 48 2 17 3 52 5 0 0 17 4 2 17 5 51 8 0 1 3 1 4 1 2 1 5 17 5 16 5 1 9 0 48 1 5 16 4 50)
|
||||
:constants (
|
||||
"Query DOM and return an SX list (not a host NodeList)."
|
||||
"nil?"
|
||||
"host-call"
|
||||
"dom-document"
|
||||
"querySelectorAll"
|
||||
"list"
|
||||
"host-get"
|
||||
"length"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (16 0 18 0 52 0 0 2 33 36 0 20 1 0 18 1 20 2 0 18 2 1 3 0 16 0 48 3 48 2 5 18 3 16 0 1 5 0 52 4 0 2 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"append!"
|
||||
"host-call"
|
||||
"item"
|
||||
"+"
|
||||
1))
|
||||
0))
|
||||
"dom-query-by-id"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"dom-document"
|
||||
"getElementById"))
|
||||
"dom-closest"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 33 15 0 20 0 0 16 0 1 1 0 16 1 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"closest"))
|
||||
"dom-matches?"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 6 33 11 0 5 20 0 0 16 0 1 1 0 48 2 33 15 0 20 2 0 16 0 1 1 0 16 1 49 3 32 1 0 4 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"matches"
|
||||
"host-call"))
|
||||
"dom-get-attr"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 6 33 11 0 5 20 0 0 16 0 1 1 0 48 2 33 32 0 20 2 0 16 0 1 1 0 16 1 48 3 17 2 16 2 52 3 0 1 33 4 0 2 32 2 0 16 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"getAttribute"
|
||||
"host-call"
|
||||
"nil?"))
|
||||
"dom-set-attr"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 6 33 11 0 5 20 0 0 16 0 1 1 0 48 2 33 17 0 20 2 0 16 0 1 1 0 16 1 16 2 49 4 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"setAttribute"
|
||||
"host-call"))
|
||||
"dom-remove-attr"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 6 33 11 0 5 20 0 0 16 0 1 1 0 48 2 33 15 0 20 2 0 16 0 1 1 0 16 1 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"removeAttribute"
|
||||
"host-call"))
|
||||
"dom-has-attr?"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 6 33 11 0 5 20 0 0 16 0 1 1 0 48 2 33 15 0 20 2 0 16 0 1 1 0 16 1 49 3 32 1 0 4 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"hasAttribute"
|
||||
"host-call"))
|
||||
"dom-add-class"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 33 23 0 20 0 0 20 1 0 16 0 1 2 0 48 2 1 3 0 16 1 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-get"
|
||||
"classList"
|
||||
"add"))
|
||||
"dom-remove-class"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 33 23 0 20 0 0 20 1 0 16 0 1 2 0 48 2 1 3 0 16 1 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-get"
|
||||
"classList"
|
||||
"remove"))
|
||||
"dom-has-class?"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 33 23 0 20 0 0 20 1 0 16 0 1 2 0 48 2 1 3 0 16 1 49 3 32 1 0 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-get"
|
||||
"classList"
|
||||
"contains"))
|
||||
"dom-text-content"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"textContent"))
|
||||
"dom-set-text-content"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 16 1 49 3 50)
|
||||
:constants (
|
||||
"host-set!"
|
||||
"textContent"))
|
||||
"dom-inner-html"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"innerHTML"))
|
||||
"dom-set-inner-html"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 16 1 49 3 50)
|
||||
:constants (
|
||||
"host-set!"
|
||||
"innerHTML"))
|
||||
"dom-outer-html"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"outerHTML"))
|
||||
"dom-insert-adjacent-html"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 1 1 0 16 1 16 2 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"insertAdjacentHTML"))
|
||||
"dom-get-style"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 0 0 16 0 1 1 0 48 2 16 1 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"style"))
|
||||
"dom-set-style"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 20 1 0 16 0 1 2 0 48 2 1 3 0 16 1 16 2 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"host-get"
|
||||
"style"
|
||||
"setProperty"))
|
||||
"dom-get-prop"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 16 1 49 2 50)
|
||||
:constants (
|
||||
"host-get"))
|
||||
"dom-set-prop"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 16 2 49 3 50)
|
||||
:constants (
|
||||
"host-set!"))
|
||||
"dom-tag-name"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 33 25 0 20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 52 0 0 1 32 3 0 1 3 0 50)
|
||||
:constants (
|
||||
"lower"
|
||||
"host-get"
|
||||
"tagName"
|
||||
""))
|
||||
"dom-node-type"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"nodeType"))
|
||||
"dom-node-name"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"nodeName"))
|
||||
"dom-id"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"id"))
|
||||
"dom-parent"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"parentNode"))
|
||||
"dom-first-child"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"firstChild"))
|
||||
"dom-next-sibling"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"nextSibling"))
|
||||
"dom-child-list"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 16 0 33 59 0 20 1 0 16 0 1 2 0 48 2 17 1 20 1 0 16 1 1 3 0 48 2 17 2 52 4 0 0 17 3 2 17 4 51 5 0 1 2 1 3 1 1 1 4 17 4 16 4 1 6 0 48 1 5 16 3 32 4 0 52 4 0 0 50)
|
||||
:constants (
|
||||
"Return child nodes as an SX list."
|
||||
"host-get"
|
||||
"childNodes"
|
||||
"length"
|
||||
"list"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (16 0 18 0 52 0 0 2 33 36 0 20 1 0 18 1 20 2 0 18 2 1 3 0 16 0 48 3 48 2 5 18 3 16 0 1 5 0 52 4 0 2 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"append!"
|
||||
"host-call"
|
||||
"item"
|
||||
"+"
|
||||
1))
|
||||
0))
|
||||
"dom-is-fragment?"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 1 2 0 48 2 1 3 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"host-get"
|
||||
"nodeType"
|
||||
11))
|
||||
"dom-child-nodes"
|
||||
"dom-remove-children-after"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 20 1 0 16 0 48 1 17 1 16 1 33 21 0 2 17 2 51 2 0 1 0 1 1 1 2 17 2 16 2 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"Remove all siblings after marker node."
|
||||
"dom-parent"
|
||||
(code :upvalue-count 3
|
||||
:bytecode (20 0 0 18 0 48 1 17 0 16 0 33 20 0 20 1 0 18 1 1 2 0 16 0 48 3 5 18 2 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-next-sibling"
|
||||
"host-call"
|
||||
"removeChild"))))
|
||||
"dom-focus"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 33 13 0 20 0 0 16 0 1 1 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"focus"))
|
||||
"dom-parse-html"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 1 0 48 1 17 1 20 2 0 16 1 1 3 0 16 0 1 4 0 48 4 17 2 20 5 0 20 5 0 16 2 1 6 0 48 2 1 7 0 49 2 50)
|
||||
:constants (
|
||||
"host-new"
|
||||
"DOMParser"
|
||||
"host-call"
|
||||
"parseFromString"
|
||||
"text/html"
|
||||
"host-get"
|
||||
"body"
|
||||
"childNodes"))
|
||||
"dom-listen"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 2 48 1 17 3 20 1 0 16 0 1 2 0 16 1 16 3 48 4 5 51 3 0 1 0 1 1 1 3 50)
|
||||
:constants (
|
||||
"host-callback"
|
||||
"host-call"
|
||||
"addEventListener"
|
||||
(code :upvalue-count 3
|
||||
:bytecode (20 0 0 18 0 1 1 0 18 1 18 2 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"removeEventListener"))))
|
||||
"dom-add-listener"
|
||||
(code :arity 4
|
||||
:bytecode (20 0 0 16 2 48 1 17 4 16 3 33 19 0 20 1 0 16 0 1 2 0 16 1 16 4 16 3 48 5 32 14 0 20 1 0 16 0 1 2 0 16 1 16 4 48 4 5 51 3 0 1 0 1 1 1 4 50)
|
||||
:constants (
|
||||
"host-callback"
|
||||
"host-call"
|
||||
"addEventListener"
|
||||
(code :upvalue-count 3
|
||||
:bytecode (20 0 0 18 0 1 1 0 18 1 18 2 49 4 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"removeEventListener"))))
|
||||
"dom-dispatch"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 1 1 0 16 1 1 3 0 16 2 1 4 0 3 52 2 0 4 48 3 17 3 20 5 0 16 0 1 6 0 16 3 49 3 50)
|
||||
:constants (
|
||||
"host-new"
|
||||
"CustomEvent"
|
||||
"dict"
|
||||
"detail"
|
||||
"bubbles"
|
||||
"host-call"
|
||||
"dispatchEvent"))
|
||||
"event-detail"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"detail"))
|
||||
"prevent-default"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 33 13 0 20 0 0 16 0 1 1 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"preventDefault"))
|
||||
"stop-propagation"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 33 13 0 20 0 0 16 0 1 1 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-call"
|
||||
"stopPropagation"))
|
||||
"event-modifier-key?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 6 33 56 0 5 20 0 0 16 0 1 1 0 48 2 6 34 41 0 5 20 0 0 16 0 1 2 0 48 2 6 34 26 0 5 20 0 0 16 0 1 3 0 48 2 6 34 11 0 5 20 0 0 16 0 1 4 0 49 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"ctrlKey"
|
||||
"metaKey"
|
||||
"shiftKey"
|
||||
"altKey"))
|
||||
"element-value"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 6 33 19 0 5 20 2 0 16 0 1 3 0 48 2 52 1 0 1 52 0 0 1 33 13 0 20 2 0 16 0 1 3 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"nil?"
|
||||
"host-get"
|
||||
"value"))
|
||||
"error-message"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 6 33 11 0 5 20 0 0 16 0 1 1 0 48 2 33 13 0 20 0 0 16 0 1 1 0 49 2 32 6 0 16 0 52 2 0 1 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"message"
|
||||
"str"))
|
||||
"dom-get-data"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 2 16 2 33 12 0 20 0 0 16 2 16 1 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"host-get"
|
||||
"__sx_data"))
|
||||
"dom-set-data"
|
||||
(code :arity 3
|
||||
:bytecode (20 1 0 16 0 1 2 0 48 2 52 0 0 1 33 17 0 20 3 0 16 0 1 2 0 52 4 0 0 48 3 32 1 0 2 5 20 3 0 20 1 0 16 0 1 2 0 48 2 16 1 16 2 49 3 50)
|
||||
:constants (
|
||||
"not"
|
||||
"host-get"
|
||||
"__sx_data"
|
||||
"host-set!"
|
||||
"dict"))
|
||||
"dom-append-to-head"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 48 0 33 18 0 20 1 0 20 0 0 48 0 1 2 0 16 0 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-head"
|
||||
"host-call"
|
||||
"appendChild"))
|
||||
"set-document-title"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 49 3 50)
|
||||
:constants (
|
||||
"host-set!"
|
||||
"dom-document"
|
||||
"title")))))
|
||||
657
shared/static/wasm/sx/engine.sxbc
Normal file
657
shared/static/wasm/sx/engine.sxbc
Normal file
@@ -0,0 +1,657 @@
|
||||
(sxbc 1 "e038227f8fc8f0ad"
|
||||
(code
|
||||
:bytecode (1 2 0 1 3 0 1 4 0 1 5 0 1 6 0 52 1 0 5 128 0 0 5 1 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 1 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 50)
|
||||
:constants (
|
||||
"ENGINE_VERBS"
|
||||
"list"
|
||||
"get"
|
||||
"post"
|
||||
"put"
|
||||
"delete"
|
||||
"patch"
|
||||
"DEFAULT_SWAP"
|
||||
"outerHTML"
|
||||
"parse-time"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 6 0 1 1 0 32 74 0 16 0 1 3 0 52 2 0 2 33 12 0 16 0 1 1 0 52 4 0 2 32 50 0 16 0 1 5 0 52 2 0 2 33 29 0 16 0 1 5 0 1 8 0 52 7 0 3 1 1 0 52 4 0 2 1 9 0 52 6 0 2 32 9 0 16 0 1 1 0 52 4 0 2 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
0
|
||||
"ends-with?"
|
||||
"ms"
|
||||
"parse-int"
|
||||
"s"
|
||||
"*"
|
||||
"replace"
|
||||
""
|
||||
1000))
|
||||
"parse-trigger-spec"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 4 0 2 32 27 0 16 0 1 2 0 52 1 0 2 17 1 51 4 0 51 6 0 16 1 52 5 0 2 52 3 0 2 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"split"
|
||||
","
|
||||
"filter"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 1 0 1 52 0 0 1 50)
|
||||
:constants (
|
||||
"not"
|
||||
"nil?"))
|
||||
"map"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 17 1 16 1 52 3 0 1 33 4 0 2 32 111 0 16 1 52 5 0 1 1 6 0 52 4 0 2 6 33 14 0 5 16 1 52 8 0 1 1 9 0 52 7 0 2 33 37 0 1 11 0 1 6 0 1 12 0 1 13 0 20 14 0 16 1 1 16 0 52 15 0 2 48 1 52 10 0 2 52 10 0 4 32 40 0 52 10 0 0 17 2 51 18 0 1 2 16 1 52 19 0 1 52 17 0 2 5 1 11 0 16 1 52 5 0 1 1 12 0 16 2 52 10 0 4 50)
|
||||
:constants (
|
||||
"split"
|
||||
"trim"
|
||||
" "
|
||||
"empty?"
|
||||
"="
|
||||
"first"
|
||||
"every"
|
||||
">="
|
||||
"len"
|
||||
2
|
||||
"dict"
|
||||
"event"
|
||||
"modifiers"
|
||||
"interval"
|
||||
"parse-time"
|
||||
"nth"
|
||||
1
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 13 0 18 0 1 1 0 3 52 2 0 3 32 97 0 16 0 1 3 0 52 0 0 2 33 13 0 18 0 1 3 0 3 52 2 0 3 32 72 0 16 0 1 5 0 52 4 0 2 33 26 0 18 0 1 6 0 20 7 0 16 0 1 9 0 52 8 0 2 48 1 52 2 0 3 32 34 0 16 0 1 10 0 52 4 0 2 33 21 0 18 0 1 11 0 16 0 1 12 0 52 8 0 2 52 2 0 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"once"
|
||||
"dict-set!"
|
||||
"changed"
|
||||
"starts-with?"
|
||||
"delay:"
|
||||
"delay"
|
||||
"parse-time"
|
||||
"slice"
|
||||
6
|
||||
"from:"
|
||||
"from"
|
||||
5))
|
||||
"rest"))))
|
||||
"default-trigger"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 24 0 1 4 0 1 5 0 1 6 0 52 3 0 0 52 3 0 4 52 2 0 1 32 85 0 16 0 1 7 0 52 0 0 2 6 34 24 0 5 16 0 1 8 0 52 0 0 2 6 34 10 0 5 16 0 1 9 0 52 0 0 2 33 24 0 1 4 0 1 10 0 1 6 0 52 3 0 0 52 3 0 4 52 2 0 1 32 21 0 1 4 0 1 11 0 1 6 0 52 3 0 0 52 3 0 4 52 2 0 1 50)
|
||||
:constants (
|
||||
"="
|
||||
"FORM"
|
||||
"list"
|
||||
"dict"
|
||||
"event"
|
||||
"submit"
|
||||
"modifiers"
|
||||
"INPUT"
|
||||
"SELECT"
|
||||
"TEXTAREA"
|
||||
"change"
|
||||
"click"))
|
||||
"get-verb-info"
|
||||
(code :arity 1
|
||||
:bytecode (51 1 0 1 0 20 2 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"some"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 1 2 0 16 0 52 1 0 2 48 2 17 1 16 1 33 21 0 1 4 0 16 0 52 5 0 1 1 6 0 16 1 52 3 0 4 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"str"
|
||||
"sx-"
|
||||
"dict"
|
||||
"method"
|
||||
"upper"
|
||||
"url"))
|
||||
"ENGINE_VERBS"))
|
||||
"build-request-headers"
|
||||
(code :arity 3
|
||||
:bytecode (1 1 0 1 2 0 1 3 0 20 4 0 48 0 52 0 0 4 17 3 20 5 0 16 0 1 6 0 48 2 17 4 16 4 33 14 0 16 3 1 8 0 16 4 52 7 0 3 32 1 0 2 5 20 5 0 20 9 0 1 10 0 48 1 1 11 0 48 2 17 4 16 4 33 14 0 16 3 1 12 0 16 4 52 7 0 3 32 1 0 2 5 16 2 33 14 0 16 3 1 13 0 16 2 52 7 0 3 32 1 0 2 5 20 5 0 16 0 1 14 0 48 2 17 4 16 4 33 38 0 20 15 0 16 4 48 1 17 5 16 5 33 20 0 51 17 0 1 3 1 5 16 5 52 18 0 1 52 16 0 2 32 1 0 2 32 1 0 2 5 16 3 50)
|
||||
:constants (
|
||||
"dict"
|
||||
"SX-Request"
|
||||
"true"
|
||||
"SX-Current-URL"
|
||||
"browser-location-href"
|
||||
"dom-get-attr"
|
||||
"sx-target"
|
||||
"dict-set!"
|
||||
"SX-Target"
|
||||
"dom-query"
|
||||
"script[data-components][data-hash]"
|
||||
"data-hash"
|
||||
"SX-Components-Hash"
|
||||
"SX-Css"
|
||||
"sx-headers"
|
||||
"parse-header-value"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (18 0 16 0 18 1 16 0 52 2 0 2 52 1 0 1 52 0 0 3 50)
|
||||
:constants (
|
||||
"dict-set!"
|
||||
"str"
|
||||
"get"))
|
||||
"keys"))
|
||||
"process-response-headers"
|
||||
(code :arity 1
|
||||
:bytecode (1 1 0 16 0 1 2 0 48 1 1 3 0 16 0 1 4 0 48 1 1 5 0 16 0 1 6 0 48 1 1 7 0 16 0 1 8 0 48 1 1 9 0 16 0 1 10 0 48 1 1 11 0 16 0 1 12 0 48 1 1 13 0 16 0 1 14 0 48 1 1 15 0 16 0 1 16 0 48 1 1 17 0 16 0 1 18 0 48 1 1 19 0 16 0 1 20 0 48 1 1 21 0 16 0 1 22 0 48 1 1 23 0 16 0 1 24 0 48 1 1 25 0 16 0 1 26 0 48 1 52 0 0 26 50)
|
||||
:constants (
|
||||
"dict"
|
||||
"redirect"
|
||||
"SX-Redirect"
|
||||
"refresh"
|
||||
"SX-Refresh"
|
||||
"trigger"
|
||||
"SX-Trigger"
|
||||
"retarget"
|
||||
"SX-Retarget"
|
||||
"reswap"
|
||||
"SX-Reswap"
|
||||
"location"
|
||||
"SX-Location"
|
||||
"replace-url"
|
||||
"SX-Replace-Url"
|
||||
"css-hash"
|
||||
"SX-Css-Hash"
|
||||
"trigger-swap"
|
||||
"SX-Trigger-After-Swap"
|
||||
"trigger-settle"
|
||||
"SX-Trigger-After-Settle"
|
||||
"content-type"
|
||||
"Content-Type"
|
||||
"cache-invalidate"
|
||||
"SX-Cache-Invalidate"
|
||||
"cache-update"
|
||||
"SX-Cache-Update"))
|
||||
"parse-swap-spec"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 6 34 4 0 5 20 1 0 1 2 0 52 0 0 2 17 2 16 2 52 3 0 1 17 3 16 1 17 4 51 5 0 1 4 16 2 52 6 0 1 52 4 0 2 5 1 8 0 16 3 1 9 0 16 4 52 7 0 4 50)
|
||||
:constants (
|
||||
"split"
|
||||
"DEFAULT_SWAP"
|
||||
" "
|
||||
"first"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 6 0 3 19 0 32 19 0 16 0 1 2 0 52 0 0 2 33 6 0 4 19 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"transition:true"
|
||||
"transition:false"))
|
||||
"rest"
|
||||
"dict"
|
||||
"style"
|
||||
"transition"))
|
||||
"parse-retry-spec"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 4 0 2 32 62 0 16 0 1 2 0 52 1 0 2 17 1 1 4 0 16 1 52 5 0 1 1 6 0 16 1 1 9 0 52 8 0 2 1 10 0 52 7 0 2 1 11 0 16 1 1 12 0 52 8 0 2 1 13 0 52 7 0 2 52 3 0 6 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"split"
|
||||
":"
|
||||
"dict"
|
||||
"strategy"
|
||||
"first"
|
||||
"start-ms"
|
||||
"parse-int"
|
||||
"nth"
|
||||
1
|
||||
1000
|
||||
"cap-ms"
|
||||
2
|
||||
30000))
|
||||
"next-retry-ms"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 16 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"min"
|
||||
"*"
|
||||
2))
|
||||
"filter-params"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 0 0 1 33 5 0 16 1 32 116 0 16 0 1 2 0 52 1 0 2 33 7 0 52 3 0 0 32 97 0 16 0 1 4 0 52 1 0 2 33 5 0 16 1 32 80 0 16 0 1 6 0 52 5 0 2 33 39 0 20 8 0 16 0 1 11 0 52 10 0 2 1 12 0 52 9 0 2 52 7 0 2 17 2 51 14 0 1 2 16 1 52 13 0 2 32 29 0 20 8 0 16 0 1 12 0 52 9 0 2 52 7 0 2 17 2 51 15 0 1 2 16 1 52 13 0 2 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"="
|
||||
"none"
|
||||
"list"
|
||||
"*"
|
||||
"starts-with?"
|
||||
"not "
|
||||
"map"
|
||||
"trim"
|
||||
"split"
|
||||
"slice"
|
||||
4
|
||||
","
|
||||
"filter"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 16 0 52 2 0 1 52 1 0 2 52 0 0 1 50)
|
||||
:constants (
|
||||
"not"
|
||||
"contains?"
|
||||
"first"))
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 16 0 52 1 0 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"contains?"
|
||||
"first"))))
|
||||
"resolve-target"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 52 2 0 1 6 34 10 0 5 16 1 1 4 0 52 3 0 2 33 5 0 16 0 32 29 0 16 1 1 5 0 52 3 0 2 33 10 0 20 6 0 16 0 49 1 32 7 0 20 7 0 16 1 49 1 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"sx-target"
|
||||
"nil?"
|
||||
"="
|
||||
"this"
|
||||
"closest"
|
||||
"dom-parent"
|
||||
"dom-query"))
|
||||
"apply-optimistic"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 52 2 0 1 33 4 0 2 32 191 0 20 3 0 16 0 48 1 6 34 3 0 5 16 0 17 2 1 5 0 16 2 1 6 0 16 1 52 4 0 4 17 3 16 1 1 8 0 52 7 0 2 33 50 0 16 3 1 10 0 20 11 0 16 2 1 10 0 48 2 52 9 0 3 5 20 12 0 16 2 1 10 0 1 13 0 48 3 5 20 12 0 16 2 1 14 0 1 15 0 48 3 32 94 0 16 1 1 16 0 52 7 0 2 33 34 0 16 3 1 17 0 20 18 0 16 2 1 17 0 48 2 52 9 0 3 5 20 19 0 16 2 1 17 0 3 48 3 32 48 0 16 1 1 21 0 52 20 0 2 33 35 0 16 1 1 23 0 52 22 0 2 17 4 16 3 1 24 0 16 4 52 9 0 3 5 20 25 0 16 2 16 4 48 2 32 1 0 2 5 16 3 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"sx-optimistic"
|
||||
"nil?"
|
||||
"resolve-target"
|
||||
"dict"
|
||||
"target"
|
||||
"directive"
|
||||
"="
|
||||
"remove"
|
||||
"dict-set!"
|
||||
"opacity"
|
||||
"dom-get-style"
|
||||
"dom-set-style"
|
||||
"0"
|
||||
"pointer-events"
|
||||
"none"
|
||||
"disable"
|
||||
"disabled"
|
||||
"dom-get-prop"
|
||||
"dom-set-prop"
|
||||
"starts-with?"
|
||||
"add-class:"
|
||||
"slice"
|
||||
10
|
||||
"add-class"
|
||||
"dom-add-class"))
|
||||
"revert-optimistic"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 33 153 0 16 0 1 1 0 52 0 0 2 17 1 16 0 1 2 0 52 0 0 2 17 2 16 2 1 4 0 52 3 0 2 33 44 0 20 5 0 16 1 1 6 0 16 0 1 6 0 52 0 0 2 6 34 4 0 5 1 7 0 48 3 5 20 5 0 16 1 1 8 0 1 7 0 49 3 32 72 0 16 2 1 9 0 52 3 0 2 33 28 0 20 10 0 16 1 1 11 0 16 0 1 11 0 52 0 0 2 6 34 2 0 5 4 49 3 32 32 0 16 0 1 12 0 52 0 0 2 33 19 0 20 13 0 16 1 16 0 1 12 0 52 0 0 2 49 2 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"target"
|
||||
"directive"
|
||||
"="
|
||||
"remove"
|
||||
"dom-set-style"
|
||||
"opacity"
|
||||
""
|
||||
"pointer-events"
|
||||
"disable"
|
||||
"dom-set-prop"
|
||||
"disabled"
|
||||
"add-class"
|
||||
"dom-remove-class"))
|
||||
"find-oob-swaps"
|
||||
(code :arity 1
|
||||
:bytecode (52 0 0 0 17 1 51 2 0 1 0 1 1 1 3 0 1 4 0 52 0 0 2 52 1 0 2 5 16 1 50)
|
||||
:constants (
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 1 2 0 16 0 1 3 0 52 1 0 3 48 2 17 1 51 5 0 1 0 0 1 16 1 52 4 0 2 50)
|
||||
:constants (
|
||||
"dom-query-all"
|
||||
"str"
|
||||
"["
|
||||
"]"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 16 0 18 0 48 2 6 34 4 0 5 1 1 0 17 1 20 2 0 16 0 48 1 17 2 20 3 0 16 0 18 0 48 2 5 16 2 33 29 0 20 4 0 18 1 1 6 0 16 0 1 7 0 16 1 1 8 0 16 2 52 5 0 6 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"outerHTML"
|
||||
"dom-id"
|
||||
"dom-remove-attr"
|
||||
"append!"
|
||||
"dict"
|
||||
"element"
|
||||
"swap-type"
|
||||
"target-id"))))
|
||||
"sx-swap-oob"
|
||||
"hx-swap-oob"))
|
||||
"morph-node"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 6 34 11 0 5 20 0 0 16 0 1 2 0 48 2 33 4 0 2 32 137 1 20 0 0 16 0 1 3 0 48 2 6 33 55 0 5 20 4 0 16 0 1 5 0 48 2 6 33 40 0 5 20 0 0 16 1 1 3 0 48 2 6 33 25 0 5 20 7 0 16 0 1 3 0 48 2 20 7 0 16 1 1 3 0 48 2 52 6 0 2 33 12 0 20 8 0 16 0 16 1 49 2 32 53 1 20 10 0 16 0 48 1 20 10 0 16 1 48 1 52 6 0 2 52 9 0 1 6 34 23 0 5 20 11 0 16 0 48 1 20 11 0 16 1 48 1 52 6 0 2 52 9 0 1 33 24 0 20 12 0 20 13 0 16 0 48 1 20 14 0 16 1 48 1 16 0 49 3 32 233 0 20 10 0 16 0 48 1 1 15 0 52 6 0 2 6 34 15 0 5 20 10 0 16 0 48 1 1 16 0 52 6 0 2 33 46 0 20 17 0 16 0 48 1 20 17 0 16 1 48 1 52 6 0 2 52 9 0 1 33 17 0 20 18 0 16 0 20 17 0 16 1 48 1 49 2 32 1 0 2 32 151 0 20 10 0 16 0 48 1 1 19 0 52 6 0 2 33 133 0 20 0 0 16 0 1 3 0 48 2 6 33 44 0 5 20 0 0 16 1 1 3 0 48 2 6 33 29 0 5 20 7 0 16 0 1 3 0 48 2 20 7 0 16 1 1 3 0 48 2 52 6 0 2 52 9 0 1 33 18 0 20 20 0 16 0 48 1 5 20 21 0 16 0 48 1 32 1 0 2 5 20 22 0 16 0 16 1 48 2 5 20 23 0 16 0 48 1 6 33 8 0 5 20 24 0 16 0 48 1 52 9 0 1 33 12 0 20 25 0 16 0 16 1 49 2 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-has-attr?"
|
||||
"sx-preserve"
|
||||
"sx-ignore"
|
||||
"data-sx-island"
|
||||
"is-processed?"
|
||||
"island-hydrated"
|
||||
"="
|
||||
"dom-get-attr"
|
||||
"morph-island-children"
|
||||
"not"
|
||||
"dom-node-type"
|
||||
"dom-node-name"
|
||||
"dom-replace-child"
|
||||
"dom-parent"
|
||||
"dom-clone"
|
||||
3
|
||||
8
|
||||
"dom-text-content"
|
||||
"dom-set-text-content"
|
||||
1
|
||||
"dispose-island"
|
||||
"dispose-islands-in"
|
||||
"sync-attrs"
|
||||
"dom-is-active-element?"
|
||||
"dom-is-input-element?"
|
||||
"morph-children"))
|
||||
"sync-attrs"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 6 34 4 0 5 1 2 0 17 2 16 2 52 3 0 1 33 7 0 52 4 0 0 32 9 0 16 2 1 6 0 52 5 0 2 17 3 51 8 0 1 0 1 3 20 9 0 16 1 48 1 52 7 0 2 5 51 10 0 1 1 1 3 1 0 20 9 0 16 0 48 1 52 7 0 2 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"data-sx-reactive-attrs"
|
||||
""
|
||||
"empty?"
|
||||
"list"
|
||||
"split"
|
||||
","
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (16 0 52 0 0 1 17 1 16 0 1 2 0 52 1 0 2 17 2 20 5 0 18 0 16 1 48 2 16 2 52 4 0 2 52 3 0 1 6 33 13 0 5 18 1 16 1 52 6 0 2 52 3 0 1 33 14 0 20 7 0 18 0 16 1 16 2 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"first"
|
||||
"nth"
|
||||
1
|
||||
"not"
|
||||
"="
|
||||
"dom-get-attr"
|
||||
"contains?"
|
||||
"dom-set-attr"))
|
||||
"dom-attr-list"
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (16 0 52 0 0 1 17 1 20 2 0 18 0 16 1 48 2 52 1 0 1 6 33 31 0 5 18 1 16 1 52 3 0 2 52 1 0 1 6 33 14 0 5 16 1 1 5 0 52 4 0 2 52 1 0 1 33 12 0 20 6 0 18 2 16 1 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"first"
|
||||
"not"
|
||||
"dom-has-attr?"
|
||||
"contains?"
|
||||
"="
|
||||
"data-sx-reactive-attrs"
|
||||
"dom-remove-attr"))))
|
||||
"morph-children"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 2 20 0 0 16 1 48 1 17 3 51 2 0 52 3 0 0 16 2 52 1 0 3 17 4 1 4 0 17 5 51 6 0 1 4 1 5 1 2 1 0 16 3 52 5 0 2 5 51 7 0 1 5 1 2 1 0 16 5 16 2 52 9 0 1 52 8 0 2 52 5 0 2 50)
|
||||
:constants (
|
||||
"dom-child-list"
|
||||
"reduce"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 1 48 1 17 2 16 2 33 16 0 16 0 16 2 16 1 52 1 0 3 5 16 0 32 2 0 16 0 50)
|
||||
:constants (
|
||||
"dom-id"
|
||||
"dict-set!"))
|
||||
"dict"
|
||||
0
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 4
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 16 1 33 11 0 18 0 16 1 52 1 0 2 32 1 0 2 17 2 16 2 6 33 11 0 5 16 2 52 3 0 1 52 2 0 1 33 100 0 18 1 18 2 52 5 0 1 52 4 0 2 6 33 19 0 5 16 2 18 2 18 1 52 7 0 2 52 6 0 2 52 2 0 1 33 39 0 20 8 0 18 3 16 2 18 1 18 2 52 5 0 1 52 4 0 2 33 11 0 18 2 18 1 52 7 0 2 32 1 0 2 48 3 32 1 0 2 5 20 9 0 16 2 16 0 48 2 5 18 1 52 10 0 1 19 1 32 100 0 18 1 18 2 52 5 0 1 52 4 0 2 33 71 0 18 2 18 1 52 7 0 2 17 3 20 0 0 16 3 48 1 6 33 7 0 5 16 1 52 2 0 1 33 19 0 20 8 0 18 3 20 11 0 16 0 48 1 16 3 49 3 32 18 0 20 9 0 16 3 16 0 48 2 5 18 1 52 10 0 1 19 1 32 14 0 20 12 0 18 3 20 11 0 16 0 48 1 49 2 50)
|
||||
:constants (
|
||||
"dom-id"
|
||||
"dict-get"
|
||||
"not"
|
||||
"nil?"
|
||||
"<"
|
||||
"len"
|
||||
"="
|
||||
"nth"
|
||||
"dom-insert-before"
|
||||
"morph-node"
|
||||
"inc"
|
||||
"dom-clone"
|
||||
"dom-append"))
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (16 0 18 0 52 0 0 2 33 76 0 18 1 16 0 52 1 0 2 17 1 20 2 0 16 1 18 2 48 2 6 33 34 0 5 20 4 0 16 1 1 5 0 48 2 52 3 0 1 6 33 15 0 5 20 4 0 16 1 1 6 0 48 2 52 3 0 1 33 12 0 20 7 0 18 2 16 1 49 2 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
">="
|
||||
"nth"
|
||||
"dom-is-child-of?"
|
||||
"not"
|
||||
"dom-has-attr?"
|
||||
"sx-preserve"
|
||||
"sx-ignore"
|
||||
"dom-remove-child"))
|
||||
"range"
|
||||
"len"))
|
||||
"morph-island-children"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 2 20 0 0 16 1 1 1 0 48 2 17 3 20 0 0 16 0 1 2 0 48 2 17 4 20 0 0 16 1 1 2 0 48 2 17 5 52 3 0 0 17 6 52 3 0 0 17 7 51 5 0 1 6 16 3 52 4 0 2 5 51 6 0 1 7 16 5 52 4 0 2 5 51 7 0 1 6 16 2 52 4 0 2 5 51 8 0 1 7 1 0 16 4 52 4 0 2 5 20 9 0 16 1 49 1 50)
|
||||
:constants (
|
||||
"dom-query-all"
|
||||
"[data-sx-lake]"
|
||||
"[data-sx-marsh]"
|
||||
"dict"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 33 13 0 18 0 16 1 16 0 52 2 0 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"data-sx-lake"
|
||||
"dict-set!"))
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 33 13 0 18 0 16 1 16 0 52 2 0 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"data-sx-marsh"
|
||||
"dict-set!"))
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 18 0 16 1 52 2 0 2 17 2 16 2 33 22 0 20 3 0 16 0 16 2 48 2 5 20 4 0 16 0 16 2 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"data-sx-lake"
|
||||
"dict-get"
|
||||
"sync-attrs"
|
||||
"morph-children"))
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 18 0 16 1 52 2 0 2 17 2 16 2 33 14 0 20 3 0 16 0 16 2 18 1 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"data-sx-marsh"
|
||||
"dict-get"
|
||||
"morph-marsh"))
|
||||
"process-signal-updates"))
|
||||
"morph-marsh"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 3 20 0 0 16 0 1 2 0 48 2 17 4 20 3 0 16 1 48 1 17 5 16 4 6 33 18 0 5 16 5 6 33 11 0 5 16 5 52 5 0 1 52 4 0 1 33 61 0 20 6 0 16 5 48 1 17 6 16 3 33 16 0 20 7 0 16 3 16 6 52 8 0 1 48 2 32 2 0 16 6 17 7 20 9 0 16 0 48 1 5 20 10 0 16 0 51 11 0 1 7 1 4 1 0 49 2 32 19 0 20 12 0 16 0 16 1 48 2 5 20 13 0 16 0 16 1 49 2 50)
|
||||
:constants (
|
||||
"dom-get-data"
|
||||
"sx-marsh-transform"
|
||||
"sx-marsh-env"
|
||||
"dom-inner-html"
|
||||
"not"
|
||||
"empty?"
|
||||
"parse"
|
||||
"cek-call"
|
||||
"list"
|
||||
"dispose-marsh-scope"
|
||||
"with-marsh-scope"
|
||||
(code :upvalue-count 3
|
||||
:bytecode (20 0 0 18 0 18 1 2 48 3 17 0 20 1 0 18 2 2 48 2 5 20 2 0 18 2 16 0 49 2 50)
|
||||
:constants (
|
||||
"render-to-dom"
|
||||
"dom-remove-children-after"
|
||||
"dom-append"))
|
||||
"sync-attrs"
|
||||
"morph-children"))
|
||||
"process-signal-updates"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 51 3 0 16 1 52 2 0 2 50)
|
||||
:constants (
|
||||
"dom-query-all"
|
||||
"[data-sx-signal]"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 33 94 0 16 1 1 3 0 52 2 0 2 17 2 16 2 1 5 0 52 4 0 2 33 67 0 16 1 1 5 0 16 2 52 6 0 3 17 3 16 1 16 2 1 8 0 52 7 0 2 52 6 0 2 17 4 20 9 0 16 4 48 1 17 5 20 10 0 20 11 0 16 3 48 1 16 5 48 2 5 20 12 0 16 0 1 1 0 49 2 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"data-sx-signal"
|
||||
"index-of"
|
||||
":"
|
||||
">"
|
||||
0
|
||||
"slice"
|
||||
"+"
|
||||
1
|
||||
"json-parse"
|
||||
"reset!"
|
||||
"use-store"
|
||||
"dom-remove-attr"))))
|
||||
"swap-dom-nodes"
|
||||
(code :arity 3
|
||||
:bytecode (16 2 6 1 0 0 52 1 0 2 33 56 0 5 20 2 0 16 1 48 1 33 12 0 20 3 0 16 0 16 1 49 2 32 30 0 20 4 0 1 5 0 2 48 2 17 3 20 6 0 16 3 16 1 48 2 5 20 3 0 16 0 16 3 49 2 32 73 1 6 1 7 0 52 1 0 2 33 117 0 5 20 8 0 16 0 48 1 17 3 20 9 0 16 1 48 1 17 4 20 2 0 16 1 48 1 33 71 0 20 10 0 16 1 48 1 17 5 16 5 33 45 0 20 9 0 16 5 48 1 17 4 5 20 11 0 16 3 16 4 16 0 48 3 5 20 12 0 16 5 48 1 17 6 20 13 0 16 3 16 4 16 6 48 3 32 9 0 20 14 0 16 3 16 0 48 2 32 11 0 20 11 0 16 3 16 4 16 0 48 3 5 16 4 32 201 0 6 1 15 0 52 1 0 2 33 13 0 5 20 16 0 16 0 16 1 49 2 32 177 0 6 1 17 0 52 1 0 2 33 13 0 5 20 6 0 16 0 16 1 49 2 32 153 0 6 1 18 0 52 1 0 2 33 13 0 5 20 19 0 16 0 16 1 49 2 32 129 0 6 1 20 0 52 1 0 2 33 20 0 5 20 21 0 20 8 0 16 0 48 1 16 1 16 0 49 3 32 98 0 6 1 22 0 52 1 0 2 33 18 0 5 20 14 0 20 8 0 16 0 48 1 16 0 49 2 32 69 0 6 1 23 0 52 1 0 2 33 5 0 5 2 32 53 0 5 20 2 0 16 1 48 1 33 12 0 20 3 0 16 0 16 1 49 2 32 30 0 20 4 0 1 5 0 2 48 2 17 3 20 6 0 16 3 16 1 48 2 5 20 3 0 16 0 16 3 49 2 50)
|
||||
:constants (
|
||||
"innerHTML"
|
||||
"="
|
||||
"dom-is-fragment?"
|
||||
"morph-children"
|
||||
"dom-create-element"
|
||||
"div"
|
||||
"dom-append"
|
||||
"outerHTML"
|
||||
"dom-parent"
|
||||
"dom-clone"
|
||||
"dom-first-child"
|
||||
"dom-replace-child"
|
||||
"dom-next-sibling"
|
||||
"insert-remaining-siblings"
|
||||
"dom-remove-child"
|
||||
"afterend"
|
||||
"dom-insert-after"
|
||||
"beforeend"
|
||||
"afterbegin"
|
||||
"dom-prepend"
|
||||
"beforebegin"
|
||||
"dom-insert-before"
|
||||
"delete"
|
||||
"none"))
|
||||
"insert-remaining-siblings"
|
||||
(code :arity 3
|
||||
:bytecode (16 2 33 33 0 20 0 0 16 2 48 1 17 3 20 1 0 16 1 16 2 48 2 5 20 2 0 16 0 16 2 16 3 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-next-sibling"
|
||||
"dom-insert-after"
|
||||
"insert-remaining-siblings"))
|
||||
"swap-html-string"
|
||||
(code :arity 3
|
||||
:bytecode (16 2 6 1 0 0 52 1 0 2 33 13 0 5 20 2 0 16 0 16 1 49 2 32 212 0 6 1 3 0 52 1 0 2 33 38 0 5 20 4 0 16 0 48 1 17 3 20 5 0 16 0 1 6 0 16 1 48 3 5 20 7 0 16 3 16 0 48 2 5 16 3 32 163 0 6 1 6 0 52 1 0 2 33 16 0 5 20 5 0 16 0 1 6 0 16 1 49 3 32 136 0 6 1 8 0 52 1 0 2 33 16 0 5 20 5 0 16 0 1 8 0 16 1 49 3 32 109 0 6 1 9 0 52 1 0 2 33 16 0 5 20 5 0 16 0 1 9 0 16 1 49 3 32 82 0 6 1 10 0 52 1 0 2 33 16 0 5 20 5 0 16 0 1 10 0 16 1 49 3 32 55 0 6 1 11 0 52 1 0 2 33 18 0 5 20 7 0 20 4 0 16 0 48 1 16 0 49 2 32 26 0 6 1 12 0 52 1 0 2 33 5 0 5 2 32 10 0 5 20 2 0 16 0 16 1 49 2 50)
|
||||
:constants (
|
||||
"innerHTML"
|
||||
"="
|
||||
"dom-set-inner-html"
|
||||
"outerHTML"
|
||||
"dom-parent"
|
||||
"dom-insert-adjacent-html"
|
||||
"afterend"
|
||||
"dom-remove-child"
|
||||
"beforeend"
|
||||
"afterbegin"
|
||||
"beforebegin"
|
||||
"delete"
|
||||
"none"))
|
||||
"handle-history"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 3 20 0 0 16 0 1 2 0 48 2 17 4 16 2 1 4 0 52 3 0 2 17 5 16 5 33 10 0 20 5 0 16 5 49 1 32 101 0 16 3 6 33 14 0 5 16 3 1 8 0 52 7 0 2 52 6 0 1 33 27 0 20 9 0 16 3 1 10 0 52 7 0 2 33 5 0 16 1 32 2 0 16 3 49 1 32 51 0 16 4 6 33 14 0 5 16 4 1 8 0 52 7 0 2 52 6 0 1 33 27 0 20 5 0 16 4 1 10 0 52 7 0 2 33 5 0 16 1 32 2 0 16 4 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"sx-push-url"
|
||||
"sx-replace-url"
|
||||
"get"
|
||||
"replace-url"
|
||||
"browser-replace-state"
|
||||
"not"
|
||||
"="
|
||||
"false"
|
||||
"browser-push-state"
|
||||
"true"))
|
||||
"PRELOAD_TTL"
|
||||
30000
|
||||
"preload-cache-get"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 16 1 52 0 0 2 17 2 16 2 52 1 0 1 33 4 0 2 32 52 0 20 4 0 48 0 16 2 1 6 0 52 5 0 2 52 3 0 2 20 7 0 52 2 0 2 33 13 0 16 0 16 1 52 8 0 2 5 2 32 11 0 16 0 16 1 52 8 0 2 5 16 2 50)
|
||||
:constants (
|
||||
"dict-get"
|
||||
"nil?"
|
||||
">"
|
||||
"-"
|
||||
"now-ms"
|
||||
"get"
|
||||
"timestamp"
|
||||
"PRELOAD_TTL"
|
||||
"dict-delete!"))
|
||||
"preload-cache-set"
|
||||
(code :arity 4
|
||||
:bytecode (16 0 16 1 1 2 0 16 2 1 3 0 16 3 1 4 0 20 5 0 48 0 52 1 0 6 52 0 0 3 50)
|
||||
:constants (
|
||||
"dict-set!"
|
||||
"dict"
|
||||
"text"
|
||||
"content-type"
|
||||
"timestamp"
|
||||
"now-ms"))
|
||||
"classify-trigger"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 1 16 1 1 3 0 52 2 0 2 33 6 0 1 4 0 32 57 0 16 1 1 5 0 52 2 0 2 33 6 0 1 5 0 32 39 0 16 1 1 6 0 52 2 0 2 33 6 0 1 6 0 32 21 0 16 1 1 7 0 52 2 0 2 33 6 0 1 7 0 32 3 0 1 1 0 50)
|
||||
:constants (
|
||||
"get"
|
||||
"event"
|
||||
"="
|
||||
"every"
|
||||
"poll"
|
||||
"intersect"
|
||||
"load"
|
||||
"revealed"))
|
||||
"should-boost-link?"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 6 33 119 0 5 16 1 1 4 0 52 3 0 2 52 2 0 1 6 33 101 0 5 16 1 1 5 0 52 3 0 2 52 2 0 1 6 33 83 0 5 16 1 1 6 0 52 3 0 2 52 2 0 1 6 33 65 0 5 20 7 0 16 1 48 1 6 33 53 0 5 20 8 0 16 0 1 9 0 48 2 52 2 0 1 6 33 34 0 5 20 8 0 16 0 1 10 0 48 2 52 2 0 1 6 33 15 0 5 20 8 0 16 0 1 11 0 48 2 52 2 0 1 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"href"
|
||||
"not"
|
||||
"starts-with?"
|
||||
"#"
|
||||
"javascript:"
|
||||
"mailto:"
|
||||
"browser-same-origin?"
|
||||
"dom-has-attr?"
|
||||
"sx-get"
|
||||
"sx-post"
|
||||
"sx-disable"))
|
||||
"should-boost-form?"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 1 2 0 48 2 52 0 0 1 6 33 34 0 5 20 1 0 16 0 1 3 0 48 2 52 0 0 1 6 33 15 0 5 20 1 0 16 0 1 4 0 48 2 52 0 0 1 50)
|
||||
:constants (
|
||||
"not"
|
||||
"dom-has-attr?"
|
||||
"sx-get"
|
||||
"sx-post"
|
||||
"sx-disable"))
|
||||
"parse-sse-swap"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 6 34 4 0 5 1 2 0 50)
|
||||
:constants (
|
||||
"dom-get-attr"
|
||||
"sx-sse-swap"
|
||||
"message")))))
|
||||
107
shared/static/wasm/sx/freeze.sxbc
Normal file
107
shared/static/wasm/sx/freeze.sxbc
Normal file
@@ -0,0 +1,107 @@
|
||||
(sxbc 1 "19bca721c37b25b6"
|
||||
(code
|
||||
:bytecode (52 1 0 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 50)
|
||||
:constants (
|
||||
"freeze-registry"
|
||||
"dict"
|
||||
"freeze-signal"
|
||||
(code :arity 2
|
||||
:bytecode (1 1 0 2 52 0 0 2 17 2 16 2 33 56 0 20 3 0 16 2 52 2 0 2 6 34 5 0 5 52 4 0 0 17 3 20 5 0 16 3 1 7 0 16 0 1 8 0 16 1 52 6 0 4 48 2 5 20 3 0 16 2 16 3 52 9 0 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"context"
|
||||
"sx-freeze-scope"
|
||||
"get"
|
||||
"freeze-registry"
|
||||
"list"
|
||||
"append!"
|
||||
"dict"
|
||||
"name"
|
||||
"signal"
|
||||
"dict-set!"))
|
||||
"freeze-scope"
|
||||
(code :arity 2
|
||||
:bytecode (1 1 0 16 0 52 0 0 2 5 20 3 0 16 0 52 4 0 0 52 2 0 3 5 20 5 0 16 1 2 48 2 5 1 1 0 52 6 0 1 5 2 50)
|
||||
:constants (
|
||||
"scope-push!"
|
||||
"sx-freeze-scope"
|
||||
"dict-set!"
|
||||
"freeze-registry"
|
||||
"list"
|
||||
"cek-call"
|
||||
"scope-pop!"))
|
||||
"cek-freeze-scope"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 52 0 0 2 6 34 5 0 5 52 2 0 0 17 1 52 3 0 0 17 2 51 5 0 1 2 16 1 52 4 0 2 5 1 6 0 16 0 1 7 0 16 2 52 3 0 4 50)
|
||||
:constants (
|
||||
"get"
|
||||
"freeze-registry"
|
||||
"list"
|
||||
"dict"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 16 0 1 2 0 52 1 0 2 20 3 0 16 0 1 4 0 52 1 0 2 48 1 52 0 0 3 50)
|
||||
:constants (
|
||||
"dict-set!"
|
||||
"get"
|
||||
"name"
|
||||
"signal-value"
|
||||
"signal"))
|
||||
"name"
|
||||
"signals"))
|
||||
"cek-freeze-all"
|
||||
(code
|
||||
:bytecode (51 1 0 20 3 0 52 2 0 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"map"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"cek-freeze-scope"))
|
||||
"keys"
|
||||
"freeze-registry"))
|
||||
"cek-thaw-scope"
|
||||
(code :arity 2
|
||||
:bytecode (20 1 0 16 0 52 0 0 2 6 34 5 0 5 52 2 0 0 17 2 16 1 1 3 0 52 0 0 2 17 3 16 3 33 14 0 51 5 0 1 3 16 2 52 4 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"freeze-registry"
|
||||
"list"
|
||||
"signals"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 1 16 0 1 2 0 52 0 0 2 17 2 18 0 16 1 52 0 0 2 17 3 16 3 52 4 0 1 52 3 0 1 33 12 0 20 5 0 16 2 16 3 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"name"
|
||||
"signal"
|
||||
"not"
|
||||
"nil?"
|
||||
"reset!"))))
|
||||
"cek-thaw-all"
|
||||
(code :arity 1
|
||||
:bytecode (51 1 0 16 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 2 0 52 1 0 2 16 0 49 2 50)
|
||||
:constants (
|
||||
"cek-thaw-scope"
|
||||
"get"
|
||||
"name"))))
|
||||
"freeze-to-sx"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 1 0 16 0 48 1 49 1 50)
|
||||
:constants (
|
||||
"sx-serialize"
|
||||
"cek-freeze-scope"))
|
||||
"thaw-from-sx"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 16 1 52 2 0 1 52 1 0 1 33 27 0 16 1 52 3 0 1 17 2 20 4 0 16 2 1 6 0 52 5 0 2 16 2 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"sx-parse"
|
||||
"not"
|
||||
"empty?"
|
||||
"first"
|
||||
"cek-thaw-scope"
|
||||
"get"
|
||||
"name")))))
|
||||
119
shared/static/wasm/sx/harness-reactive.sxbc
Normal file
119
shared/static/wasm/sx/harness-reactive.sxbc
Normal file
@@ -0,0 +1,119 @@
|
||||
(sxbc 1 "57726b5b82c1a3cb"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 50)
|
||||
:constants (
|
||||
"assert-signal-value"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 2 20 1 0 16 2 16 1 1 3 0 16 1 1 4 0 16 2 52 2 0 4 49 3 50)
|
||||
:constants (
|
||||
"deref"
|
||||
"assert="
|
||||
"str"
|
||||
"Expected signal value "
|
||||
", got "))
|
||||
"assert-signal-has-subscribers"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 3 0 16 0 48 1 52 2 0 1 1 4 0 52 1 0 2 1 5 0 49 2 50)
|
||||
:constants (
|
||||
"assert"
|
||||
">"
|
||||
"len"
|
||||
"signal-subscribers"
|
||||
0
|
||||
"Expected signal to have subscribers"))
|
||||
"assert-signal-no-subscribers"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 20 3 0 16 0 48 1 52 2 0 1 1 4 0 52 1 0 2 1 5 0 49 2 50)
|
||||
:constants (
|
||||
"assert"
|
||||
"="
|
||||
"len"
|
||||
"signal-subscribers"
|
||||
0
|
||||
"Expected signal to have no subscribers"))
|
||||
"assert-signal-subscriber-count"
|
||||
(code :arity 2
|
||||
:bytecode (20 1 0 16 0 48 1 52 0 0 1 17 2 20 2 0 16 2 16 1 1 4 0 16 1 1 5 0 16 2 52 3 0 4 49 3 50)
|
||||
:constants (
|
||||
"len"
|
||||
"signal-subscribers"
|
||||
"assert="
|
||||
"str"
|
||||
"Expected "
|
||||
" subscribers, got "))
|
||||
"simulate-signal-set!"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 16 1 49 2 50)
|
||||
:constants (
|
||||
"reset!"))
|
||||
"simulate-signal-swap!"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 16 1 49 2 50)
|
||||
:constants (
|
||||
"swap!"))
|
||||
"assert-computed-dep-count"
|
||||
(code :arity 2
|
||||
:bytecode (20 1 0 16 0 48 1 52 0 0 1 17 2 20 2 0 16 2 16 1 1 4 0 16 1 1 5 0 16 2 52 3 0 4 49 3 50)
|
||||
:constants (
|
||||
"len"
|
||||
"signal-deps"
|
||||
"assert="
|
||||
"str"
|
||||
"Expected "
|
||||
" deps, got "))
|
||||
"assert-computed-depends-on"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 2 0 16 0 48 1 16 1 52 1 0 2 1 3 0 49 2 50)
|
||||
:constants (
|
||||
"assert"
|
||||
"contains?"
|
||||
"signal-deps"
|
||||
"Expected computed to depend on the given signal"))
|
||||
"count-effect-runs"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 1 0 48 1 17 1 20 2 0 51 3 0 1 1 48 1 5 1 1 0 17 2 20 2 0 51 4 0 1 2 1 0 48 1 17 3 16 2 50)
|
||||
:constants (
|
||||
"signal"
|
||||
0
|
||||
"effect"
|
||||
(code :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 49 1 50)
|
||||
:constants (
|
||||
"deref"))
|
||||
(code :upvalue-count 2
|
||||
:bytecode (18 0 1 1 0 52 0 0 2 19 0 5 20 2 0 18 1 2 49 2 50)
|
||||
:constants (
|
||||
"+"
|
||||
1
|
||||
"cek-call"))))
|
||||
"make-test-signal"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 52 1 0 0 17 2 20 2 0 51 3 0 1 2 1 1 48 1 5 1 0 0 16 1 1 4 0 16 2 65 2 0 50)
|
||||
:constants (
|
||||
"signal"
|
||||
"list"
|
||||
"effect"
|
||||
(code :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 20 1 0 18 1 48 1 49 2 50)
|
||||
:constants (
|
||||
"append!"
|
||||
"deref"))
|
||||
"history"))
|
||||
"assert-batch-coalesces"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 17 2 20 1 0 1 0 0 48 1 17 3 20 2 0 51 3 0 1 3 1 2 48 1 5 1 0 0 17 2 5 20 4 0 16 0 48 1 5 20 5 0 16 2 16 1 1 7 0 16 1 1 8 0 16 2 52 6 0 4 49 3 50)
|
||||
:constants (
|
||||
0
|
||||
"signal"
|
||||
"effect"
|
||||
(code :upvalue-count 2
|
||||
:bytecode (20 0 0 18 0 48 1 5 18 1 1 2 0 52 1 0 2 19 1 50)
|
||||
:constants (
|
||||
"deref"
|
||||
"+"
|
||||
1))
|
||||
"batch"
|
||||
"assert="
|
||||
"str"
|
||||
"Expected "
|
||||
" notifications, got ")))))
|
||||
393
shared/static/wasm/sx/harness-web.sxbc
Normal file
393
shared/static/wasm/sx/harness-web.sxbc
Normal file
@@ -0,0 +1,393 @@
|
||||
(sxbc 1 "b94a32e5b86d6f76"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 41 0 128 40 0 5 51 43 0 128 42 0 5 51 45 0 128 44 0 5 51 47 0 128 46 0 5 51 49 0 128 48 0 5 51 51 0 128 50 0 5 51 53 0 128 52 0 50)
|
||||
:constants (
|
||||
"mock-element"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 52 1 0 0 1 2 0 65 0 0 1 3 0 52 1 0 0 1 4 0 16 0 1 5 0 1 6 0 1 7 0 65 0 0 16 1 33 11 0 1 9 0 16 1 65 1 0 32 3 0 65 0 0 16 2 33 11 0 1 10 0 16 2 65 1 0 32 3 0 65 0 0 52 8 0 3 65 6 0 50)
|
||||
:constants (
|
||||
"children"
|
||||
"list"
|
||||
"listeners"
|
||||
"event-log"
|
||||
"tag"
|
||||
"text"
|
||||
""
|
||||
"attrs"
|
||||
"merge"
|
||||
"class"
|
||||
"id"))
|
||||
"mock-set-text!"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 16 1 52 0 0 3 50)
|
||||
:constants (
|
||||
"dict-set!"
|
||||
"text"))
|
||||
"mock-append-child!"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 2 0 52 1 0 2 16 1 49 2 50)
|
||||
:constants (
|
||||
"append!"
|
||||
"get"
|
||||
"children"))
|
||||
"mock-set-attr!"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 16 1 16 2 52 0 0 3 50)
|
||||
:constants (
|
||||
"dict-set!"
|
||||
"get"
|
||||
"attrs"))
|
||||
"mock-get-attr"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 16 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"attrs"))
|
||||
"mock-add-listener!"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 3 16 3 16 1 52 3 0 2 52 2 0 1 33 15 0 16 3 16 1 52 5 0 0 52 4 0 3 32 1 0 2 5 20 6 0 16 3 16 1 52 0 0 2 16 2 49 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"listeners"
|
||||
"not"
|
||||
"has-key?"
|
||||
"dict-set!"
|
||||
"list"
|
||||
"append!"))
|
||||
"simulate-click"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 1 2 0 52 0 0 2 17 1 16 1 33 14 0 51 4 0 1 0 16 1 52 3 0 2 32 1 0 2 5 20 5 0 16 0 1 6 0 52 0 0 2 1 7 0 1 2 0 65 1 0 49 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"listeners"
|
||||
"click"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 1 2 0 18 0 1 3 0 1 4 0 65 2 0 52 1 0 1 49 2 50)
|
||||
:constants (
|
||||
"cek-call"
|
||||
"list"
|
||||
"target"
|
||||
"type"
|
||||
"click"))
|
||||
"append!"
|
||||
"event-log"
|
||||
"type"))
|
||||
"simulate-input"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 16 1 48 3 5 16 0 1 3 0 52 2 0 2 1 4 0 52 2 0 2 17 2 16 2 33 14 0 51 6 0 1 0 16 2 52 5 0 2 32 1 0 2 5 20 7 0 16 0 1 8 0 52 2 0 2 1 1 0 16 1 1 9 0 1 4 0 65 2 0 49 2 50)
|
||||
:constants (
|
||||
"mock-set-attr!"
|
||||
"value"
|
||||
"get"
|
||||
"listeners"
|
||||
"input"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 1 2 0 18 0 1 3 0 1 4 0 65 2 0 52 1 0 1 49 2 50)
|
||||
:constants (
|
||||
"cek-call"
|
||||
"list"
|
||||
"target"
|
||||
"type"
|
||||
"input"))
|
||||
"append!"
|
||||
"event-log"
|
||||
"type"))
|
||||
"simulate-event"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 16 1 52 0 0 2 17 3 16 3 33 18 0 51 3 0 1 0 1 2 1 1 16 3 52 2 0 2 32 1 0 2 5 20 4 0 16 0 1 5 0 52 0 0 2 1 6 0 16 2 1 7 0 16 1 65 2 0 49 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"listeners"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (20 0 0 16 0 1 2 0 18 0 1 3 0 18 1 1 4 0 18 2 65 3 0 52 1 0 1 49 2 50)
|
||||
:constants (
|
||||
"cek-call"
|
||||
"list"
|
||||
"target"
|
||||
"detail"
|
||||
"type"))
|
||||
"append!"
|
||||
"event-log"
|
||||
"detail"
|
||||
"type"))
|
||||
"assert-text"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 2 20 2 0 16 2 16 1 1 4 0 16 1 1 5 0 16 2 1 6 0 52 3 0 5 49 3 50)
|
||||
:constants (
|
||||
"get"
|
||||
"text"
|
||||
"assert="
|
||||
"str"
|
||||
"Expected text \""
|
||||
"\", got \""
|
||||
"\""))
|
||||
"assert-attr"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 48 2 17 3 20 1 0 16 3 16 2 1 3 0 16 1 1 4 0 16 2 1 5 0 16 3 1 6 0 52 2 0 7 49 3 50)
|
||||
:constants (
|
||||
"mock-get-attr"
|
||||
"assert="
|
||||
"str"
|
||||
"Expected attr "
|
||||
"=\""
|
||||
"\", got \""
|
||||
"\""))
|
||||
"assert-class"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 6 34 4 0 5 1 2 0 17 2 20 3 0 16 2 1 6 0 52 5 0 2 16 1 52 4 0 2 1 8 0 16 1 1 9 0 16 2 1 10 0 52 7 0 5 49 2 50)
|
||||
:constants (
|
||||
"mock-get-attr"
|
||||
"class"
|
||||
""
|
||||
"assert"
|
||||
"contains?"
|
||||
"split"
|
||||
" "
|
||||
"str"
|
||||
"Expected class \""
|
||||
"\" in \""
|
||||
"\""))
|
||||
"assert-no-class"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 6 34 4 0 5 1 2 0 17 2 20 3 0 16 2 1 7 0 52 6 0 2 16 1 52 5 0 2 52 4 0 1 1 9 0 16 1 1 10 0 16 2 1 11 0 52 8 0 5 49 2 50)
|
||||
:constants (
|
||||
"mock-get-attr"
|
||||
"class"
|
||||
""
|
||||
"assert"
|
||||
"not"
|
||||
"contains?"
|
||||
"split"
|
||||
" "
|
||||
"str"
|
||||
"Expected no class \""
|
||||
"\" but found in \""
|
||||
"\""))
|
||||
"assert-child-count"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 52 0 0 1 17 2 20 3 0 16 2 16 1 1 5 0 16 1 1 6 0 16 2 52 4 0 4 49 3 50)
|
||||
:constants (
|
||||
"len"
|
||||
"get"
|
||||
"children"
|
||||
"assert="
|
||||
"str"
|
||||
"Expected "
|
||||
" children, got "))
|
||||
"assert-event-fired"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 51 2 0 1 1 16 0 1 4 0 52 3 0 2 52 1 0 2 1 6 0 16 1 1 7 0 52 5 0 3 49 2 50)
|
||||
:constants (
|
||||
"assert"
|
||||
"some"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 18 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"get"
|
||||
"type"))
|
||||
"get"
|
||||
"event-log"
|
||||
"str"
|
||||
"Expected event \""
|
||||
"\" to have been fired"))
|
||||
"assert-no-event"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 51 3 0 1 1 16 0 1 5 0 52 4 0 2 52 2 0 2 52 1 0 1 1 7 0 16 1 1 8 0 52 6 0 3 49 2 50)
|
||||
:constants (
|
||||
"assert"
|
||||
"not"
|
||||
"some"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 18 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"get"
|
||||
"type"))
|
||||
"get"
|
||||
"event-log"
|
||||
"str"
|
||||
"Expected event \""
|
||||
"\" to NOT have been fired"))
|
||||
"event-fire-count"
|
||||
(code :arity 2
|
||||
:bytecode (51 2 0 1 1 16 0 1 4 0 52 3 0 2 52 1 0 2 52 0 0 1 50)
|
||||
:constants (
|
||||
"len"
|
||||
"filter"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 18 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"get"
|
||||
"type"))
|
||||
"get"
|
||||
"event-log"))
|
||||
"make-web-harness"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 1 0 16 0 48 2 17 1 20 2 0 16 1 1 3 0 1 4 0 65 0 0 1 5 0 20 6 0 1 7 0 1 8 0 1 5 0 48 3 65 2 0 48 3 5 16 1 50)
|
||||
:constants (
|
||||
"make-harness"
|
||||
"platform"
|
||||
"harness-set!"
|
||||
"dom"
|
||||
"elements"
|
||||
"root"
|
||||
"mock-element"
|
||||
"div"
|
||||
"id"))
|
||||
"is-renderable?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 4 0 3 32 118 0 16 0 52 1 0 1 33 4 0 3 32 105 0 16 0 52 2 0 1 33 4 0 3 32 92 0 16 0 52 3 0 1 33 4 0 3 32 79 0 16 0 52 4 0 1 33 4 0 4 32 66 0 16 0 52 6 0 1 52 5 0 1 33 4 0 4 32 49 0 16 0 52 7 0 1 33 4 0 3 32 36 0 16 0 52 8 0 1 17 1 16 1 52 10 0 1 1 11 0 52 9 0 2 6 33 11 0 5 16 1 52 4 0 1 52 5 0 1 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"string?"
|
||||
"number?"
|
||||
"boolean?"
|
||||
"dict?"
|
||||
"not"
|
||||
"list?"
|
||||
"empty?"
|
||||
"first"
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"))
|
||||
"is-render-leak?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 1 0 1 52 0 0 1 6 33 12 0 5 20 2 0 16 0 48 1 52 0 0 1 50)
|
||||
:constants (
|
||||
"not"
|
||||
"nil?"
|
||||
"is-renderable?"))
|
||||
"assert-renderable"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 1 0 16 0 48 1 1 3 0 16 1 1 4 0 16 0 52 5 0 1 16 0 52 6 0 1 33 6 0 1 7 0 32 48 0 16 0 52 8 0 1 6 33 26 0 5 16 0 52 10 0 1 52 9 0 1 6 33 11 0 5 16 0 52 11 0 1 52 6 0 1 33 6 0 1 12 0 32 3 0 1 13 0 52 2 0 5 49 2 50)
|
||||
:constants (
|
||||
"assert"
|
||||
"is-renderable?"
|
||||
"str"
|
||||
"Render leak in "
|
||||
": "
|
||||
"type-of"
|
||||
"dict?"
|
||||
" — dict would appear as {:key val} text in output"
|
||||
"list?"
|
||||
"not"
|
||||
"empty?"
|
||||
"first"
|
||||
" — list of dicts would appear as raw data in output"
|
||||
" — non-renderable value would appear as text"))
|
||||
"render-body-audit"
|
||||
(code :arity 1
|
||||
:bytecode (52 0 0 0 17 1 51 2 0 1 1 16 0 52 1 0 2 5 16 1 50)
|
||||
:constants (
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 48 1 33 88 0 20 1 0 18 0 1 2 0 16 0 52 3 0 1 33 6 0 1 4 0 32 48 0 16 0 52 5 0 1 6 33 26 0 5 16 0 52 7 0 1 52 6 0 1 6 33 11 0 5 16 0 52 8 0 1 52 3 0 1 33 6 0 1 9 0 32 3 0 1 10 0 1 11 0 16 0 52 12 0 1 65 2 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"is-render-leak?"
|
||||
"append!"
|
||||
"leak-kind"
|
||||
"dict?"
|
||||
"dict"
|
||||
"list?"
|
||||
"not"
|
||||
"empty?"
|
||||
"first"
|
||||
"list-of-dicts"
|
||||
"other"
|
||||
"value-type"
|
||||
"type-of"))))
|
||||
"assert-render-body-clean"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 2 20 1 0 16 2 52 2 0 1 1 4 0 16 2 52 5 0 1 1 6 0 16 1 1 7 0 1 8 0 1 9 0 52 3 0 7 49 2 50)
|
||||
:constants (
|
||||
"render-body-audit"
|
||||
"assert"
|
||||
"empty?"
|
||||
"str"
|
||||
"Render body has "
|
||||
"len"
|
||||
" leak(s) in "
|
||||
". "
|
||||
"render-to-html/render-to-dom render ALL body expressions — "
|
||||
"put side effects in let bindings, not body expressions."))
|
||||
"mock-render"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 4 0 2 32 173 0 16 0 52 1 0 1 33 25 0 20 2 0 1 3 0 48 1 17 1 20 4 0 16 1 16 0 48 2 5 16 1 32 139 0 16 0 52 5 0 1 33 29 0 20 2 0 1 3 0 48 1 17 1 20 4 0 16 1 16 0 52 6 0 1 48 2 5 16 1 32 101 0 16 0 52 8 0 1 52 7 0 1 33 4 0 2 32 84 0 16 0 52 9 0 1 33 4 0 2 32 71 0 16 0 52 10 0 1 17 1 16 1 52 12 0 1 1 13 0 52 11 0 2 52 7 0 1 33 4 0 2 32 39 0 20 2 0 20 14 0 16 1 48 1 48 1 17 2 2 17 3 51 15 0 1 2 1 3 17 3 16 3 16 0 52 16 0 1 48 1 5 16 2 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"string?"
|
||||
"mock-element"
|
||||
"TEXT"
|
||||
"mock-set-text!"
|
||||
"number?"
|
||||
"str"
|
||||
"not"
|
||||
"list?"
|
||||
"empty?"
|
||||
"first"
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (16 0 52 1 0 1 52 0 0 1 33 127 0 16 0 52 2 0 1 17 1 16 1 52 4 0 1 1 5 0 52 3 0 2 33 62 0 16 0 52 6 0 1 52 1 0 1 52 0 0 1 33 41 0 20 7 0 18 0 20 8 0 16 1 48 1 16 0 1 10 0 52 9 0 2 48 3 5 18 1 16 0 52 6 0 1 52 6 0 1 49 1 32 1 0 2 32 38 0 20 11 0 16 1 48 1 17 2 16 2 33 12 0 20 12 0 18 0 16 2 48 2 32 1 0 2 5 18 1 16 0 52 6 0 1 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"empty?"
|
||||
"first"
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"rest"
|
||||
"mock-set-attr!"
|
||||
"keyword-name"
|
||||
"nth"
|
||||
1
|
||||
"mock-render"
|
||||
"mock-append-child!"))
|
||||
"rest"))
|
||||
"mock-render-fragment"
|
||||
(code :arity 1
|
||||
:bytecode (51 1 0 20 3 0 16 0 52 2 0 2 52 0 0 2 50)
|
||||
:constants (
|
||||
"filter"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 1 0 1 52 0 0 1 50)
|
||||
:constants (
|
||||
"not"
|
||||
"nil?"))
|
||||
"map"
|
||||
"mock-render"))
|
||||
"assert-single-render-root"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 2 20 1 0 16 2 52 3 0 1 1 4 0 52 2 0 2 1 6 0 16 1 1 7 0 16 2 52 3 0 1 1 8 0 1 9 0 1 10 0 52 5 0 7 49 2 50)
|
||||
:constants (
|
||||
"mock-render-fragment"
|
||||
"assert"
|
||||
"="
|
||||
"len"
|
||||
1
|
||||
"str"
|
||||
"Expected single render root in "
|
||||
" but got "
|
||||
" element(s). "
|
||||
"Multi-body let/begin in render-to-html/render-to-dom renders "
|
||||
"ALL expressions — put side effects in let bindings."))
|
||||
"assert-tag"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 3 0 52 2 0 2 16 1 52 1 0 2 1 5 0 16 1 1 6 0 16 0 1 3 0 52 2 0 2 1 7 0 52 4 0 5 49 2 50)
|
||||
:constants (
|
||||
"assert"
|
||||
"="
|
||||
"get"
|
||||
"tag"
|
||||
"str"
|
||||
"Expected <"
|
||||
"> but got <"
|
||||
">")))))
|
||||
303
shared/static/wasm/sx/harness.sxbc
Normal file
303
shared/static/wasm/sx/harness.sxbc
Normal file
@@ -0,0 +1,303 @@
|
||||
(sxbc 1 "b3cae03948f7a615"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 1 5 0 51 6 0 1 7 0 51 8 0 1 9 0 51 10 0 1 11 0 51 12 0 1 13 0 51 14 0 1 15 0 51 16 0 1 17 0 51 18 0 1 19 0 51 20 0 1 21 0 51 14 0 1 22 0 51 23 0 1 24 0 51 14 0 1 25 0 51 18 0 1 26 0 51 16 0 1 27 0 51 16 0 1 28 0 51 29 0 1 30 0 51 31 0 1 32 0 51 16 0 1 33 0 51 14 0 1 34 0 51 35 0 1 36 0 51 14 0 1 37 0 51 38 0 1 39 0 51 16 0 1 40 0 51 16 0 1 41 0 51 14 0 1 42 0 51 16 0 1 43 0 51 14 0 1 44 0 51 14 0 65 27 0 128 4 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 50)
|
||||
:constants (
|
||||
"assert"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 0 0 1 33 17 0 16 1 6 34 4 0 5 1 2 0 52 1 0 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"error"
|
||||
"Assertion failed"))
|
||||
"assert="
|
||||
(code :arity 3
|
||||
:bytecode (16 0 16 1 52 1 0 2 52 0 0 1 33 28 0 16 2 6 34 15 0 5 1 4 0 16 1 1 5 0 16 0 52 3 0 4 52 2 0 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"="
|
||||
"error"
|
||||
"str"
|
||||
"Expected "
|
||||
", got "))
|
||||
"default-platform"
|
||||
"current-user"
|
||||
(code
|
||||
:bytecode (2 50)
|
||||
:constants ())
|
||||
"csrf-token"
|
||||
(code
|
||||
:bytecode (1 0 0 50)
|
||||
:constants (
|
||||
"test-csrf-token"))
|
||||
"app-url"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 50)
|
||||
:constants (
|
||||
"/mock-app-url"))
|
||||
"frag"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 50)
|
||||
:constants (
|
||||
""))
|
||||
"sleep"
|
||||
(code :arity 1
|
||||
:bytecode (2 50)
|
||||
:constants ())
|
||||
"local-storage-set"
|
||||
(code :arity 2
|
||||
:bytecode (2 50)
|
||||
:constants ())
|
||||
"set-cookie"
|
||||
(code :arity 3
|
||||
:bytecode (2 50)
|
||||
:constants ())
|
||||
"url-for"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 50)
|
||||
:constants (
|
||||
"/mock-url"))
|
||||
"create-element"
|
||||
"request-path"
|
||||
(code
|
||||
:bytecode (1 0 0 50)
|
||||
:constants (
|
||||
"/"))
|
||||
"config"
|
||||
"set-attr"
|
||||
"set-text"
|
||||
"remove-child"
|
||||
"fetch"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 1 1 0 1 2 0 1 3 0 1 4 0 3 65 3 0 50)
|
||||
:constants (
|
||||
"status"
|
||||
200
|
||||
"body"
|
||||
""
|
||||
"ok"))
|
||||
"query"
|
||||
(code :arity 3
|
||||
:bytecode (52 0 0 0 50)
|
||||
:constants (
|
||||
"list"))
|
||||
"add-class"
|
||||
"get-element"
|
||||
"now"
|
||||
(code
|
||||
:bytecode (1 0 0 50)
|
||||
:constants (
|
||||
0))
|
||||
"abort"
|
||||
"action"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 3 65 1 0 50)
|
||||
:constants (
|
||||
"ok"))
|
||||
"remove-class"
|
||||
"append-child"
|
||||
"request-arg"
|
||||
"emit-dom"
|
||||
"local-storage-get"
|
||||
"get-cookie"
|
||||
"make-harness"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 6 0 20 1 0 32 9 0 20 1 0 16 0 52 2 0 2 17 1 1 3 0 52 4 0 0 1 5 0 16 1 1 6 0 1 7 0 65 0 0 1 8 0 65 0 0 1 9 0 2 65 3 0 65 3 0 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"default-platform"
|
||||
"merge"
|
||||
"log"
|
||||
"list"
|
||||
"platform"
|
||||
"state"
|
||||
"cookies"
|
||||
"storage"
|
||||
"dom"))
|
||||
"harness-reset!"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 2 0 0 52 0 0 3 5 16 0 1 3 0 1 4 0 65 0 0 1 5 0 65 0 0 1 6 0 2 65 3 0 52 0 0 3 5 16 0 50)
|
||||
:constants (
|
||||
"dict-set!"
|
||||
"log"
|
||||
"list"
|
||||
"state"
|
||||
"cookies"
|
||||
"storage"
|
||||
"dom"))
|
||||
"harness-log"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 2 16 1 52 2 0 1 33 5 0 16 2 32 11 0 51 4 0 1 1 16 2 52 3 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"log"
|
||||
"nil?"
|
||||
"filter"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 18 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"get"
|
||||
"op"))))
|
||||
"harness-get"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 16 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"state"))
|
||||
"harness-set!"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 16 1 16 2 52 0 0 3 5 2 50)
|
||||
:constants (
|
||||
"dict-set!"
|
||||
"get"
|
||||
"state"))
|
||||
"make-interceptor"
|
||||
(code :arity 3
|
||||
:bytecode (51 0 0 1 2 1 0 1 1 50)
|
||||
:constants (
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (16 0 52 0 0 1 33 7 0 18 0 48 0 32 122 0 1 2 0 16 0 52 3 0 1 52 1 0 2 33 13 0 18 0 16 0 52 4 0 1 48 1 32 93 0 1 5 0 16 0 52 3 0 1 52 1 0 2 33 22 0 18 0 16 0 52 4 0 1 16 0 1 2 0 52 6 0 2 48 2 32 55 0 1 7 0 16 0 52 3 0 1 52 1 0 2 33 31 0 18 0 16 0 52 4 0 1 16 0 1 2 0 52 6 0 2 16 0 1 5 0 52 6 0 2 48 3 32 8 0 18 0 16 0 52 8 0 2 17 1 18 1 1 10 0 52 9 0 2 17 2 20 11 0 16 2 1 12 0 16 0 1 13 0 16 1 1 14 0 18 2 65 3 0 48 2 5 16 1 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"="
|
||||
1
|
||||
"len"
|
||||
"first"
|
||||
2
|
||||
"nth"
|
||||
3
|
||||
"apply"
|
||||
"get"
|
||||
"log"
|
||||
"append!"
|
||||
"args"
|
||||
"result"
|
||||
"op"))))
|
||||
"install-interceptors"
|
||||
(code :arity 2
|
||||
:bytecode (51 1 0 1 0 1 1 16 0 1 4 0 52 3 0 2 52 2 0 1 52 0 0 2 5 16 1 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (18 0 1 1 0 52 0 0 2 16 0 52 0 0 2 17 1 20 2 0 18 0 16 0 16 1 48 3 17 2 20 3 0 18 1 16 0 16 2 49 3 50)
|
||||
:constants (
|
||||
"get"
|
||||
"platform"
|
||||
"make-interceptor"
|
||||
"env-bind!"))
|
||||
"keys"
|
||||
"get"
|
||||
"platform"))
|
||||
"io-calls"
|
||||
(code :arity 2
|
||||
:bytecode (51 1 0 1 1 16 0 1 3 0 52 2 0 2 52 0 0 2 50)
|
||||
:constants (
|
||||
"filter"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 18 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"get"
|
||||
"op"))
|
||||
"get"
|
||||
"log"))
|
||||
"io-call-count"
|
||||
(code :arity 2
|
||||
:bytecode (20 1 0 16 0 16 1 48 2 52 0 0 1 50)
|
||||
:constants (
|
||||
"len"
|
||||
"io-calls"))
|
||||
"io-call-nth"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 48 2 17 3 16 2 16 3 52 2 0 1 52 1 0 2 33 11 0 16 3 16 2 52 3 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"io-calls"
|
||||
"<"
|
||||
"len"
|
||||
"nth"))
|
||||
"io-call-args"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 16 2 48 3 17 3 16 3 52 1 0 1 33 4 0 2 32 9 0 16 3 1 3 0 52 2 0 2 50)
|
||||
:constants (
|
||||
"io-call-nth"
|
||||
"nil?"
|
||||
"get"
|
||||
"args"))
|
||||
"io-call-result"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 16 2 48 3 17 3 16 3 52 1 0 1 33 4 0 2 32 9 0 16 3 1 3 0 52 2 0 2 50)
|
||||
:constants (
|
||||
"io-call-nth"
|
||||
"nil?"
|
||||
"get"
|
||||
"result"))
|
||||
"assert-io-called"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 2 0 16 0 16 1 48 2 1 3 0 52 1 0 2 1 5 0 16 1 1 6 0 52 4 0 3 49 2 50)
|
||||
:constants (
|
||||
"assert"
|
||||
">"
|
||||
"io-call-count"
|
||||
0
|
||||
"str"
|
||||
"Expected IO operation "
|
||||
" to be called but it was not"))
|
||||
"assert-no-io"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 20 2 0 16 0 16 1 48 2 1 3 0 52 1 0 2 1 5 0 16 1 1 6 0 20 2 0 16 0 16 1 48 2 1 7 0 52 4 0 5 49 2 50)
|
||||
:constants (
|
||||
"assert"
|
||||
"="
|
||||
"io-call-count"
|
||||
0
|
||||
"str"
|
||||
"Expected IO operation "
|
||||
" not to be called but it was called "
|
||||
" time(s)"))
|
||||
"assert-io-count"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 48 2 17 3 20 1 0 16 3 16 2 52 2 0 2 1 4 0 16 1 1 5 0 16 2 1 6 0 16 3 1 7 0 52 3 0 7 49 2 50)
|
||||
:constants (
|
||||
"io-call-count"
|
||||
"assert"
|
||||
"="
|
||||
"str"
|
||||
"Expected "
|
||||
" to be called "
|
||||
" time(s) but was called "
|
||||
" time(s)"))
|
||||
"assert-io-args"
|
||||
(code :arity 4
|
||||
:bytecode (20 0 0 16 0 16 1 16 2 48 3 17 4 20 1 0 20 2 0 16 4 16 3 48 2 1 4 0 16 2 1 5 0 16 1 1 6 0 16 3 52 3 0 1 1 7 0 16 4 52 3 0 1 52 3 0 8 49 2 50)
|
||||
:constants (
|
||||
"io-call-args"
|
||||
"assert"
|
||||
"equal?"
|
||||
"str"
|
||||
"Expected call "
|
||||
" to "
|
||||
" with args "
|
||||
" but got "))
|
||||
"assert-io-result"
|
||||
(code :arity 4
|
||||
:bytecode (20 0 0 16 0 16 1 16 2 48 3 17 4 20 1 0 20 2 0 16 4 16 3 48 2 1 4 0 16 2 1 5 0 16 1 1 6 0 16 3 52 3 0 1 1 7 0 16 4 52 3 0 1 52 3 0 8 49 2 50)
|
||||
:constants (
|
||||
"io-call-result"
|
||||
"assert"
|
||||
"equal?"
|
||||
"str"
|
||||
"Expected call "
|
||||
" to "
|
||||
" to return "
|
||||
" but got "))
|
||||
"assert-state"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 48 2 17 3 20 1 0 20 2 0 16 3 16 2 48 2 1 4 0 16 1 1 5 0 16 2 52 3 0 1 1 6 0 16 3 52 3 0 1 52 3 0 6 49 2 50)
|
||||
:constants (
|
||||
"harness-get"
|
||||
"assert"
|
||||
"equal?"
|
||||
"str"
|
||||
"Expected state "
|
||||
" to be "
|
||||
" but got ")))))
|
||||
309
shared/static/wasm/sx/hypersx.sxbc
Normal file
309
shared/static/wasm/sx/hypersx.sxbc
Normal file
@@ -0,0 +1,309 @@
|
||||
(sxbc 1 "352dd0823915cc55"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 50)
|
||||
:constants (
|
||||
"hsx-indent"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 17 1 51 2 0 1 1 1 4 0 16 0 52 3 0 2 52 1 0 2 5 16 1 50)
|
||||
:constants (
|
||||
""
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 1 1 0 52 0 0 2 19 0 50)
|
||||
:constants (
|
||||
"str"
|
||||
" "))
|
||||
"range"
|
||||
0))
|
||||
"hsx-sym-name"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 10 0 20 3 0 16 0 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"symbol-name"))
|
||||
"hsx-kw-name"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 10 0 20 3 0 16 0 49 1 32 1 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"keyword-name"))
|
||||
"hsx-is-element?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 6 33 26 0 5 16 0 1 2 0 52 1 0 2 52 0 0 1 6 33 8 0 5 20 3 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"not"
|
||||
"starts-with?"
|
||||
"~"
|
||||
"is-html-tag?"))
|
||||
"hsx-is-component?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 6 33 10 0 5 16 0 1 1 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"~"))
|
||||
"hsx-extract-css"
|
||||
(code :arity 1
|
||||
:bytecode (2 17 1 2 17 2 52 0 0 0 17 3 1 1 0 17 4 16 0 52 2 0 1 17 5 2 17 6 51 3 0 1 4 1 5 1 0 1 1 1 6 1 2 1 3 17 6 16 6 48 0 5 1 5 0 16 1 1 6 0 16 2 1 7 0 16 3 1 8 0 16 4 16 5 52 9 0 2 33 11 0 16 0 16 4 52 10 0 2 32 4 0 52 0 0 0 52 4 0 8 50)
|
||||
:constants (
|
||||
"list"
|
||||
0
|
||||
"len"
|
||||
(code :upvalue-count 7
|
||||
:bytecode (18 0 18 1 52 0 0 2 33 180 0 20 1 0 18 2 18 0 52 2 0 2 48 1 17 0 16 0 1 4 0 52 3 0 2 33 37 0 18 2 18 0 1 6 0 52 5 0 2 52 2 0 2 19 3 5 18 0 1 7 0 52 5 0 2 19 0 5 18 4 49 0 32 113 0 16 0 1 8 0 52 3 0 2 33 37 0 18 2 18 0 1 6 0 52 5 0 2 52 2 0 2 19 5 5 18 0 1 7 0 52 5 0 2 19 0 5 18 4 49 0 32 64 0 16 0 33 58 0 20 9 0 18 6 18 2 18 0 52 2 0 2 48 2 5 20 9 0 18 6 18 2 18 0 1 6 0 52 5 0 2 52 2 0 2 48 2 5 18 0 1 7 0 52 5 0 2 19 0 5 18 4 49 0 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"hsx-kw-name"
|
||||
"nth"
|
||||
"="
|
||||
"class"
|
||||
"+"
|
||||
1
|
||||
2
|
||||
"id"
|
||||
"append!"))
|
||||
"dict"
|
||||
"classes"
|
||||
"id"
|
||||
"attrs"
|
||||
"children"
|
||||
"<"
|
||||
"slice"))
|
||||
"hsx-tag-str"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 17 2 16 1 1 1 0 52 0 0 2 17 3 16 1 1 2 0 52 0 0 2 17 4 16 3 6 33 7 0 5 16 3 52 3 0 1 33 21 0 51 5 0 1 2 16 3 1 7 0 52 6 0 2 52 4 0 2 32 1 0 2 5 16 4 33 16 0 16 2 1 9 0 16 4 52 8 0 3 17 2 32 1 0 2 5 16 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"classes"
|
||||
"id"
|
||||
"string?"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 1 1 0 16 0 52 0 0 3 19 0 50)
|
||||
:constants (
|
||||
"str"
|
||||
"."))
|
||||
"split"
|
||||
" "
|
||||
"str"
|
||||
"#"))
|
||||
"hsx-atom"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 6 0 1 1 0 32 151 0 16 0 52 2 0 1 33 15 0 1 4 0 16 0 1 4 0 52 3 0 3 32 127 0 16 0 52 5 0 1 33 9 0 16 0 52 3 0 1 32 109 0 16 0 52 7 0 1 1 8 0 52 6 0 2 33 17 0 16 0 33 6 0 1 9 0 32 3 0 1 10 0 32 76 0 16 0 52 7 0 1 1 11 0 52 6 0 2 33 20 0 1 12 0 20 13 0 16 0 48 1 1 14 0 52 3 0 3 32 40 0 16 0 52 7 0 1 1 15 0 52 6 0 2 33 17 0 1 16 0 20 17 0 16 0 48 1 52 3 0 2 32 7 0 20 18 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"nil"
|
||||
"string?"
|
||||
"str"
|
||||
"\""
|
||||
"number?"
|
||||
"="
|
||||
"type-of"
|
||||
"boolean"
|
||||
"true"
|
||||
"false"
|
||||
"symbol"
|
||||
"{"
|
||||
"symbol-name"
|
||||
"}"
|
||||
"keyword"
|
||||
":"
|
||||
"keyword-name"
|
||||
"sx-serialize"))
|
||||
"hsx-inline"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 1 0 1 52 0 0 1 33 10 0 20 2 0 16 0 49 1 32 84 1 16 0 52 3 0 1 33 6 0 1 4 0 32 69 1 20 5 0 16 0 52 6 0 1 48 1 17 1 16 1 1 8 0 52 7 0 2 33 24 0 1 10 0 20 2 0 16 0 1 12 0 52 11 0 2 48 1 52 9 0 2 32 20 1 16 1 1 13 0 52 7 0 2 33 49 0 1 14 0 16 0 52 16 0 1 1 12 0 52 15 0 2 33 17 0 20 17 0 16 0 1 12 0 52 11 0 2 48 1 32 3 0 1 18 0 1 19 0 52 9 0 3 32 215 0 16 1 1 20 0 52 7 0 2 33 38 0 20 2 0 16 0 1 12 0 52 11 0 2 48 1 1 21 0 20 17 0 16 0 1 22 0 52 11 0 2 48 1 52 9 0 3 32 165 0 16 1 1 23 0 52 7 0 2 33 38 0 20 2 0 16 0 1 12 0 52 11 0 2 48 1 1 24 0 20 17 0 16 0 1 22 0 52 11 0 2 48 1 52 9 0 3 32 115 0 16 1 1 9 0 52 7 0 2 33 33 0 1 25 0 1 18 0 51 28 0 16 0 52 29 0 1 52 27 0 2 52 26 0 2 1 25 0 52 9 0 3 32 70 0 1 30 0 20 2 0 16 0 52 6 0 1 48 1 16 0 52 16 0 1 1 12 0 52 15 0 2 33 30 0 1 31 0 1 31 0 20 17 0 16 0 52 29 0 1 52 27 0 2 52 26 0 2 52 9 0 2 32 3 0 1 18 0 1 19 0 52 9 0 4 50)
|
||||
:constants (
|
||||
"not"
|
||||
"list?"
|
||||
"sx-serialize"
|
||||
"empty?"
|
||||
"()"
|
||||
"hsx-sym-name"
|
||||
"first"
|
||||
"="
|
||||
"deref"
|
||||
"str"
|
||||
"@"
|
||||
"nth"
|
||||
1
|
||||
"signal"
|
||||
"signal("
|
||||
">"
|
||||
"len"
|
||||
"hsx-inline"
|
||||
""
|
||||
")"
|
||||
"reset!"
|
||||
" := "
|
||||
2
|
||||
"swap!"
|
||||
" <- "
|
||||
"\""
|
||||
"join"
|
||||
"map"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 5 0 16 0 32 17 0 1 2 0 20 3 0 16 0 48 1 1 4 0 52 1 0 3 50)
|
||||
:constants (
|
||||
"string?"
|
||||
"str"
|
||||
"{"
|
||||
"hsx-inline"
|
||||
"}"))
|
||||
"rest"
|
||||
"("
|
||||
" "))
|
||||
"hsx-attrs-str"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 6 0 1 1 0 32 48 0 52 2 0 0 17 1 1 3 0 17 2 2 17 3 51 4 0 1 2 1 0 1 1 1 3 17 3 16 3 48 0 5 1 6 0 1 6 0 16 1 52 7 0 2 52 5 0 2 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
""
|
||||
"list"
|
||||
0
|
||||
(code :upvalue-count 4
|
||||
:bytecode (18 0 18 1 52 1 0 1 52 0 0 2 33 70 0 20 2 0 18 2 1 4 0 20 5 0 18 1 18 0 52 6 0 2 48 1 1 7 0 20 8 0 18 1 18 0 1 10 0 52 9 0 2 52 6 0 2 48 1 52 3 0 4 48 2 5 18 0 1 11 0 52 9 0 2 19 0 5 18 3 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"len"
|
||||
"append!"
|
||||
"str"
|
||||
":"
|
||||
"keyword-name"
|
||||
"nth"
|
||||
" "
|
||||
"hsx-atom"
|
||||
"+"
|
||||
1
|
||||
2))
|
||||
"str"
|
||||
" "
|
||||
"join"))
|
||||
"hsx-children"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 52 0 0 1 33 5 0 16 0 32 85 0 16 1 52 2 0 1 1 3 0 52 1 0 2 6 33 15 0 5 16 1 52 6 0 1 52 5 0 1 52 4 0 1 33 23 0 16 0 1 8 0 20 9 0 16 1 52 6 0 1 48 1 52 7 0 3 32 27 0 16 0 1 10 0 1 10 0 51 13 0 1 2 16 1 52 12 0 2 52 11 0 2 52 7 0 3 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"="
|
||||
"len"
|
||||
1
|
||||
"not"
|
||||
"list?"
|
||||
"first"
|
||||
"str"
|
||||
" "
|
||||
"hsx-atom"
|
||||
"
|
||||
"
|
||||
"join"
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 1 2 0 52 1 0 2 49 2 50)
|
||||
:constants (
|
||||
"sx->hypersx-node"
|
||||
"+"
|
||||
1))))
|
||||
"sx->hypersx-node"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 1 48 1 17 2 16 0 52 1 0 1 33 12 0 16 2 1 3 0 52 2 0 2 32 201 4 16 0 52 5 0 1 52 4 0 1 33 16 0 16 2 20 6 0 16 0 48 1 52 2 0 2 32 172 4 16 0 52 7 0 1 33 12 0 16 2 1 8 0 52 2 0 2 32 151 4 20 9 0 16 0 52 10 0 1 48 1 17 3 16 3 1 2 0 52 11 0 2 33 16 0 16 2 20 12 0 16 0 48 1 52 2 0 2 32 110 4 16 3 1 13 0 52 11 0 2 33 16 0 16 2 20 12 0 16 0 48 1 52 2 0 2 32 82 4 16 3 1 14 0 52 11 0 2 33 16 0 16 2 20 12 0 16 0 48 1 52 2 0 2 32 54 4 16 3 1 15 0 52 11 0 2 33 16 0 16 2 20 12 0 16 0 48 1 52 2 0 2 32 26 4 16 3 1 16 0 52 11 0 2 33 16 0 16 2 20 12 0 16 0 48 1 52 2 0 2 32 254 3 16 3 1 17 0 52 11 0 2 6 34 10 0 5 16 3 1 18 0 52 11 0 2 33 68 0 16 2 16 3 1 19 0 20 20 0 16 0 1 22 0 52 21 0 2 48 1 1 19 0 20 20 0 16 0 1 23 0 52 21 0 2 48 1 1 24 0 20 25 0 16 0 52 26 0 1 16 1 1 22 0 52 27 0 2 48 2 52 2 0 8 32 160 3 16 3 1 28 0 52 11 0 2 33 54 0 16 2 1 29 0 20 12 0 16 0 1 22 0 52 21 0 2 48 1 1 24 0 1 24 0 51 32 0 1 1 16 0 1 23 0 52 33 0 2 52 31 0 2 52 30 0 2 52 2 0 5 32 94 3 16 3 1 34 0 52 11 0 2 33 223 0 16 0 1 22 0 52 21 0 2 17 4 16 0 1 23 0 52 21 0 2 17 5 16 0 52 36 0 1 1 37 0 52 35 0 2 33 12 0 16 0 1 37 0 52 21 0 2 32 1 0 2 17 6 16 5 52 5 0 1 52 4 0 1 6 33 22 0 5 16 6 52 1 0 1 6 34 11 0 5 16 6 52 5 0 1 52 4 0 1 33 54 0 16 2 1 38 0 20 12 0 16 4 48 1 1 19 0 20 6 0 16 5 48 1 16 6 33 17 0 1 19 0 20 6 0 16 6 48 1 52 2 0 2 32 3 0 1 39 0 52 2 0 6 32 74 0 16 2 1 38 0 20 12 0 16 4 48 1 1 24 0 20 25 0 16 5 16 1 1 22 0 52 27 0 2 48 2 16 6 33 31 0 1 24 0 16 2 1 40 0 20 25 0 16 6 16 1 1 22 0 52 27 0 2 48 2 52 2 0 4 32 3 0 1 39 0 52 2 0 6 32 115 2 16 3 1 41 0 52 11 0 2 6 34 24 0 5 16 3 1 42 0 52 11 0 2 6 34 10 0 5 16 3 1 43 0 52 11 0 2 33 121 0 16 0 1 22 0 52 21 0 2 17 4 16 0 1 23 0 52 33 0 2 17 5 16 2 16 3 1 19 0 1 44 0 51 45 0 16 4 52 5 0 1 6 33 26 0 5 16 4 52 7 0 1 52 4 0 1 6 33 11 0 5 16 4 52 10 0 1 52 5 0 1 33 5 0 16 4 32 6 0 16 4 52 46 0 1 52 31 0 2 52 30 0 2 1 24 0 1 24 0 51 32 0 1 1 16 5 52 31 0 2 52 30 0 2 52 2 0 6 32 210 1 16 3 1 31 0 52 11 0 2 6 33 62 0 5 16 0 52 36 0 1 1 37 0 52 11 0 2 6 33 44 0 5 16 0 1 22 0 52 21 0 2 52 5 0 1 6 33 26 0 5 20 9 0 16 0 1 22 0 52 21 0 2 52 10 0 1 48 1 1 47 0 52 11 0 2 33 81 0 16 0 1 22 0 52 21 0 2 17 4 16 0 1 23 0 52 21 0 2 17 5 16 2 1 48 0 20 12 0 16 5 48 1 1 49 0 20 20 0 16 4 1 22 0 52 21 0 2 48 1 1 24 0 20 25 0 16 4 52 26 0 1 16 1 1 22 0 52 27 0 2 48 2 52 2 0 7 32 51 1 16 3 1 50 0 52 11 0 2 6 33 62 0 5 16 0 52 36 0 1 1 37 0 52 11 0 2 6 33 44 0 5 16 0 1 22 0 52 21 0 2 52 5 0 1 6 33 26 0 5 20 9 0 16 0 1 22 0 52 21 0 2 52 10 0 1 48 1 1 47 0 52 11 0 2 33 81 0 16 0 1 22 0 52 21 0 2 17 4 16 0 1 23 0 52 21 0 2 17 5 16 2 1 51 0 20 20 0 16 4 1 22 0 52 21 0 2 48 1 1 52 0 20 12 0 16 5 48 1 1 24 0 20 25 0 16 4 52 26 0 1 16 1 1 22 0 52 27 0 2 48 2 52 2 0 7 32 148 0 20 53 0 16 3 48 1 33 61 0 20 54 0 16 0 52 55 0 1 48 1 17 4 20 56 0 16 2 20 57 0 16 3 16 4 48 2 20 58 0 16 4 1 60 0 52 59 0 2 48 1 52 2 0 3 16 4 1 61 0 52 59 0 2 16 1 49 3 32 77 0 20 62 0 16 3 48 1 33 54 0 20 54 0 16 0 52 55 0 1 48 1 17 4 20 56 0 16 2 16 3 20 58 0 16 4 1 60 0 52 59 0 2 48 1 52 2 0 3 16 4 1 61 0 52 59 0 2 16 1 49 3 32 13 0 16 2 20 20 0 16 0 48 1 52 2 0 2 50)
|
||||
:constants (
|
||||
"hsx-indent"
|
||||
"nil?"
|
||||
"str"
|
||||
"nil"
|
||||
"not"
|
||||
"list?"
|
||||
"hsx-atom"
|
||||
"empty?"
|
||||
"()"
|
||||
"hsx-sym-name"
|
||||
"first"
|
||||
"="
|
||||
"hsx-inline"
|
||||
"deref"
|
||||
"reset!"
|
||||
"swap!"
|
||||
"signal"
|
||||
"defcomp"
|
||||
"defisland"
|
||||
" "
|
||||
"sx-serialize"
|
||||
"nth"
|
||||
1
|
||||
2
|
||||
"
|
||||
"
|
||||
"sx->hypersx-node"
|
||||
"last"
|
||||
"+"
|
||||
"when"
|
||||
"when "
|
||||
"join"
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 16 0 18 0 1 2 0 52 1 0 2 49 2 50)
|
||||
:constants (
|
||||
"sx->hypersx-node"
|
||||
"+"
|
||||
1))
|
||||
"slice"
|
||||
"if"
|
||||
">"
|
||||
"len"
|
||||
3
|
||||
"if "
|
||||
""
|
||||
"else
|
||||
"
|
||||
"let"
|
||||
"letrec"
|
||||
"let*"
|
||||
", "
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 6 33 14 0 5 16 0 52 2 0 1 1 3 0 52 1 0 2 33 35 0 20 5 0 16 0 52 6 0 1 48 1 1 7 0 20 8 0 16 0 1 10 0 52 9 0 2 48 1 52 4 0 3 32 7 0 20 5 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"list?"
|
||||
">="
|
||||
"len"
|
||||
2
|
||||
"str"
|
||||
"sx-serialize"
|
||||
"first"
|
||||
" = "
|
||||
"hsx-inline"
|
||||
"nth"
|
||||
1))
|
||||
"list"
|
||||
"fn"
|
||||
"map "
|
||||
" -> "
|
||||
"for-each"
|
||||
"for "
|
||||
" in "
|
||||
"hsx-is-element?"
|
||||
"hsx-extract-css"
|
||||
"rest"
|
||||
"hsx-children"
|
||||
"hsx-tag-str"
|
||||
"hsx-attrs-str"
|
||||
"get"
|
||||
"attrs"
|
||||
"children"
|
||||
"hsx-is-component?"))
|
||||
"sx->hypersx"
|
||||
(code :arity 1
|
||||
:bytecode (1 1 0 51 3 0 16 0 52 2 0 2 52 0 0 2 50)
|
||||
:constants (
|
||||
"join"
|
||||
"
|
||||
|
||||
"
|
||||
"map"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 49 2 50)
|
||||
:constants (
|
||||
"sx->hypersx-node"
|
||||
0)))))))
|
||||
1193
shared/static/wasm/sx/orchestration.sxbc
Normal file
1193
shared/static/wasm/sx/orchestration.sxbc
Normal file
File diff suppressed because it is too large
Load Diff
372
shared/static/wasm/sx/page-helpers.sxbc
Normal file
372
shared/static/wasm/sx/page-helpers.sxbc
Normal file
@@ -0,0 +1,372 @@
|
||||
(sxbc 1 "c2d5bf6a702b8eb7"
|
||||
(code
|
||||
:bytecode (1 1 0 1 2 0 1 3 0 1 4 0 1 5 0 1 6 0 1 7 0 1 8 0 1 9 0 1 4 0 1 10 0 1 11 0 1 12 0 1 13 0 1 14 0 1 8 0 1 15 0 1 4 0 1 16 0 1 17 0 1 18 0 1 4 0 1 19 0 1 13 0 1 20 0 1 6 0 1 21 0 1 22 0 1 23 0 1 8 0 1 24 0 1 8 0 1 25 0 1 11 0 1 26 0 1 13 0 1 27 0 1 22 0 1 28 0 1 4 0 1 29 0 1 4 0 1 30 0 1 8 0 1 31 0 1 13 0 1 32 0 1 33 0 1 34 0 1 4 0 1 35 0 1 6 0 1 36 0 1 2 0 1 37 0 1 6 0 1 38 0 1 2 0 1 39 0 1 6 0 1 40 0 1 13 0 1 41 0 1 2 0 1 42 0 1 33 0 1 43 0 1 13 0 1 44 0 1 22 0 65 35 0 128 0 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 50)
|
||||
:constants (
|
||||
"special-form-category-map"
|
||||
"defmacro"
|
||||
"Functions & Components"
|
||||
"for-each"
|
||||
"Higher-Order Forms"
|
||||
"defpage"
|
||||
"Domain Definitions"
|
||||
"let"
|
||||
"Binding"
|
||||
"filter"
|
||||
"shift"
|
||||
"Continuations"
|
||||
"and"
|
||||
"Control Flow"
|
||||
"set!"
|
||||
"map-indexed"
|
||||
"dynamic-wind"
|
||||
"Guards"
|
||||
"reduce"
|
||||
"cond"
|
||||
"defquery"
|
||||
"->"
|
||||
"Sequencing & Threading"
|
||||
"let*"
|
||||
"define"
|
||||
"reset"
|
||||
"case"
|
||||
"do"
|
||||
"map"
|
||||
"some"
|
||||
"letrec"
|
||||
"if"
|
||||
"quote"
|
||||
"Quoting"
|
||||
"every?"
|
||||
"defhandler"
|
||||
"fn"
|
||||
"defstyle"
|
||||
"lambda"
|
||||
"defaction"
|
||||
"or"
|
||||
"defcomp"
|
||||
"quasiquote"
|
||||
"when"
|
||||
"begin"
|
||||
"extract-define-kwargs"
|
||||
(code :arity 1
|
||||
:bytecode (65 0 0 17 1 16 0 1 1 0 52 0 0 2 17 2 16 2 52 2 0 1 17 3 51 4 0 1 3 1 2 1 1 1 6 0 16 3 52 5 0 2 52 3 0 2 5 16 1 50)
|
||||
:constants (
|
||||
"slice"
|
||||
2
|
||||
"len"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 18 0 52 0 0 2 6 33 20 0 5 18 1 16 0 52 5 0 2 52 4 0 1 1 6 0 52 3 0 2 33 94 0 20 7 0 18 1 16 0 52 5 0 2 48 1 17 1 18 1 16 0 1 2 0 52 1 0 2 52 5 0 2 17 2 18 2 16 1 16 2 52 4 0 1 1 9 0 52 3 0 2 33 29 0 1 11 0 1 13 0 20 15 0 16 2 52 14 0 2 52 12 0 2 1 16 0 52 10 0 3 32 6 0 16 2 52 10 0 1 52 8 0 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"+"
|
||||
1
|
||||
"="
|
||||
"type-of"
|
||||
"nth"
|
||||
"keyword"
|
||||
"keyword-name"
|
||||
"dict-set!"
|
||||
"list"
|
||||
"str"
|
||||
"("
|
||||
"join"
|
||||
" "
|
||||
"map"
|
||||
"serialize"
|
||||
")"))
|
||||
"range"
|
||||
0))
|
||||
"categorize-special-forms"
|
||||
(code :arity 1
|
||||
:bytecode (65 0 0 17 1 51 1 0 1 1 16 0 52 0 0 2 5 16 1 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 6 33 59 0 5 16 0 52 4 0 1 1 5 0 52 3 0 2 6 33 41 0 5 16 0 52 6 0 1 52 1 0 1 1 7 0 52 0 0 2 6 33 19 0 5 20 8 0 16 0 52 6 0 1 48 1 1 9 0 52 0 0 2 33 175 0 16 0 1 11 0 52 10 0 2 17 1 20 12 0 16 0 48 1 17 2 20 14 0 16 1 52 13 0 2 6 34 4 0 5 1 15 0 17 3 18 0 16 3 52 17 0 2 52 16 0 1 33 15 0 18 0 16 3 52 2 0 0 52 18 0 3 32 1 0 2 5 20 19 0 18 0 16 3 52 13 0 2 1 20 0 16 2 1 20 0 52 13 0 2 6 34 4 0 5 1 21 0 1 22 0 16 2 1 22 0 52 13 0 2 6 34 4 0 5 1 21 0 1 23 0 16 2 1 23 0 52 13 0 2 6 34 4 0 5 1 21 0 1 24 0 16 2 1 24 0 52 13 0 2 6 34 4 0 5 1 21 0 1 25 0 16 1 65 5 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"list"
|
||||
">="
|
||||
"len"
|
||||
2
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"define-special-form"
|
||||
"nth"
|
||||
1
|
||||
"extract-define-kwargs"
|
||||
"get"
|
||||
"special-form-category-map"
|
||||
"Other"
|
||||
"not"
|
||||
"has-key?"
|
||||
"dict-set!"
|
||||
"append!"
|
||||
"doc"
|
||||
""
|
||||
"example"
|
||||
"tail-position"
|
||||
"syntax"
|
||||
"name"))))
|
||||
"build-ref-items-with-href"
|
||||
(code :arity 4
|
||||
:bytecode (51 1 0 1 3 1 2 1 1 16 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (18 0 1 1 0 52 0 0 2 33 90 0 16 0 1 3 0 52 2 0 2 17 1 16 0 1 4 0 52 2 0 2 17 2 16 0 1 5 0 52 2 0 2 17 3 1 6 0 16 3 6 33 12 0 5 51 8 0 1 1 18 1 52 7 0 2 33 11 0 18 2 16 1 52 9 0 2 32 1 0 2 1 10 0 16 3 1 11 0 16 2 1 12 0 16 1 65 4 0 32 64 0 16 0 1 3 0 52 2 0 2 17 1 16 0 1 4 0 52 2 0 2 17 2 1 6 0 51 8 0 1 1 18 1 52 7 0 2 33 11 0 18 2 16 1 52 9 0 2 32 1 0 2 1 11 0 16 2 1 12 0 16 1 65 3 0 50)
|
||||
:constants (
|
||||
"="
|
||||
3
|
||||
"nth"
|
||||
0
|
||||
1
|
||||
2
|
||||
"href"
|
||||
"some"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 18 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="))
|
||||
"str"
|
||||
"exists"
|
||||
"desc"
|
||||
"name"))))
|
||||
"build-reference-data"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 6 1 0 0 52 1 0 2 33 82 0 5 1 2 0 20 3 0 16 1 1 2 0 52 4 0 2 1 5 0 16 2 1 6 0 48 4 1 7 0 20 3 0 16 1 1 7 0 52 4 0 2 1 5 0 16 2 1 6 0 48 4 1 8 0 20 3 0 16 1 1 8 0 52 4 0 2 1 5 0 16 2 1 6 0 48 4 65 3 0 32 227 0 6 1 9 0 52 1 0 2 33 57 0 5 1 10 0 20 3 0 16 1 1 10 0 52 4 0 2 1 11 0 16 2 1 6 0 48 4 1 12 0 20 3 0 16 1 1 12 0 52 4 0 2 1 11 0 16 2 1 6 0 48 4 65 2 0 32 159 0 6 1 13 0 52 1 0 2 33 32 0 5 1 14 0 20 3 0 16 1 1 14 0 52 4 0 2 1 15 0 16 2 1 16 0 48 4 65 1 0 32 116 0 6 1 17 0 52 1 0 2 33 26 0 5 1 18 0 51 20 0 16 1 1 18 0 52 4 0 2 52 19 0 2 65 1 0 32 79 0 5 1 2 0 20 3 0 16 1 1 2 0 52 4 0 2 1 5 0 16 2 1 6 0 48 4 1 7 0 20 3 0 16 1 1 7 0 52 4 0 2 1 5 0 16 2 1 6 0 48 4 1 8 0 20 3 0 16 1 1 8 0 52 4 0 2 1 5 0 16 2 1 6 0 48 4 65 3 0 50)
|
||||
:constants (
|
||||
"attributes"
|
||||
"="
|
||||
"req-attrs"
|
||||
"build-ref-items-with-href"
|
||||
"get"
|
||||
"/geography/hypermedia/reference/attributes/"
|
||||
3
|
||||
"beh-attrs"
|
||||
"uniq-attrs"
|
||||
"headers"
|
||||
"req-headers"
|
||||
"/geography/hypermedia/reference/headers/"
|
||||
"resp-headers"
|
||||
"events"
|
||||
"events-list"
|
||||
"/geography/hypermedia/reference/events/"
|
||||
2
|
||||
"js-api"
|
||||
"js-api-list"
|
||||
"map"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 16 0 1 2 0 52 1 0 2 1 3 0 16 0 1 4 0 52 1 0 2 65 2 0 50)
|
||||
:constants (
|
||||
"desc"
|
||||
"nth"
|
||||
1
|
||||
"name"
|
||||
0))))
|
||||
"build-attr-detail"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 52 0 0 1 33 10 0 1 1 0 3 65 1 0 32 108 0 1 2 0 16 1 1 4 0 52 3 0 2 1 5 0 16 0 1 6 0 16 1 1 7 0 52 3 0 2 1 1 0 2 1 8 0 16 1 1 9 0 52 3 0 2 1 10 0 16 1 1 11 0 52 3 0 2 1 12 0 16 1 1 4 0 52 13 0 2 33 32 0 1 15 0 16 0 1 17 0 1 18 0 52 16 0 3 1 19 0 1 20 0 52 16 0 3 52 14 0 2 32 1 0 2 65 7 0 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"attr-not-found"
|
||||
"attr-handler"
|
||||
"get"
|
||||
"handler"
|
||||
"attr-title"
|
||||
"attr-example"
|
||||
"example"
|
||||
"attr-description"
|
||||
"description"
|
||||
"attr-demo"
|
||||
"demo"
|
||||
"attr-wire-id"
|
||||
"has-key?"
|
||||
"str"
|
||||
"ref-wire-"
|
||||
"replace"
|
||||
":"
|
||||
"-"
|
||||
"*"
|
||||
"star"))
|
||||
"build-header-detail"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 52 0 0 1 33 10 0 1 1 0 3 65 1 0 32 60 0 1 2 0 16 1 1 4 0 52 3 0 2 1 5 0 16 1 1 6 0 52 3 0 2 1 1 0 2 1 7 0 16 0 1 8 0 16 1 1 9 0 52 3 0 2 1 10 0 16 1 1 11 0 52 3 0 2 65 6 0 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"header-not-found"
|
||||
"header-description"
|
||||
"get"
|
||||
"description"
|
||||
"header-demo"
|
||||
"demo"
|
||||
"header-title"
|
||||
"header-example"
|
||||
"example"
|
||||
"header-direction"
|
||||
"direction"))
|
||||
"build-event-detail"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 52 0 0 1 33 10 0 1 1 0 3 65 1 0 32 48 0 1 2 0 16 1 1 4 0 52 3 0 2 1 5 0 16 1 1 6 0 52 3 0 2 1 7 0 16 1 1 8 0 52 3 0 2 1 1 0 2 1 9 0 16 0 65 5 0 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"event-not-found"
|
||||
"event-example"
|
||||
"get"
|
||||
"example"
|
||||
"event-demo"
|
||||
"demo"
|
||||
"event-description"
|
||||
"description"
|
||||
"event-title"))
|
||||
"build-component-source"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 1 16 0 1 2 0 52 0 0 2 17 2 16 0 1 3 0 52 0 0 2 17 3 16 0 1 4 0 52 0 0 2 17 4 16 0 1 5 0 52 0 0 2 17 5 16 0 1 6 0 52 0 0 2 17 6 16 1 1 8 0 52 7 0 2 33 15 0 1 10 0 16 2 1 11 0 52 9 0 3 32 211 0 16 3 52 12 0 1 33 25 0 16 4 33 13 0 1 14 0 1 15 0 52 13 0 2 32 4 0 52 13 0 0 32 40 0 16 4 33 26 0 1 18 0 16 3 52 17 0 2 1 14 0 1 15 0 52 13 0 2 52 16 0 2 32 9 0 1 18 0 16 3 52 17 0 2 17 7 1 19 0 1 21 0 16 7 52 20 0 2 1 22 0 52 9 0 3 17 8 16 1 1 23 0 52 7 0 2 33 6 0 1 24 0 32 3 0 1 25 0 17 9 16 1 1 26 0 52 7 0 2 6 33 29 0 5 16 6 52 28 0 1 52 27 0 1 6 33 14 0 5 16 6 1 29 0 52 7 0 2 52 27 0 1 33 12 0 1 30 0 16 6 52 9 0 2 32 3 0 1 31 0 17 10 1 19 0 16 9 1 21 0 16 2 1 21 0 16 8 16 10 1 32 0 16 5 1 22 0 52 9 0 10 50)
|
||||
:constants (
|
||||
"get"
|
||||
"type"
|
||||
"name"
|
||||
"params"
|
||||
"has-children"
|
||||
"body-sx"
|
||||
"affinity"
|
||||
"="
|
||||
"not-found"
|
||||
"str"
|
||||
";; component "
|
||||
" not found"
|
||||
"empty?"
|
||||
"list"
|
||||
"&rest"
|
||||
"children"
|
||||
"append"
|
||||
"cons"
|
||||
"&key"
|
||||
"("
|
||||
"join"
|
||||
" "
|
||||
")"
|
||||
"island"
|
||||
"defisland"
|
||||
"defcomp"
|
||||
"component"
|
||||
"not"
|
||||
"nil?"
|
||||
"auto"
|
||||
" :affinity "
|
||||
""
|
||||
"
|
||||
"))
|
||||
"build-bundle-analysis"
|
||||
(code :arity 6
|
||||
:bytecode (52 0 0 0 17 6 51 2 0 1 2 1 1 1 6 16 0 52 1 0 2 5 1 3 0 16 3 1 4 0 16 6 1 5 0 16 5 1 6 0 16 4 1 7 0 16 2 65 5 0 50)
|
||||
:constants (
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 1 16 1 52 2 0 1 17 2 18 0 1 4 0 52 3 0 2 33 22 0 16 2 18 0 52 7 0 2 1 8 0 52 6 0 2 52 5 0 1 32 3 0 1 4 0 17 3 1 8 0 16 3 52 9 0 2 17 4 1 4 0 17 5 1 4 0 17 6 52 10 0 0 17 7 52 10 0 0 17 8 51 12 0 0 1 1 5 1 6 1 7 1 8 16 1 52 11 0 2 5 20 13 0 18 2 1 14 0 16 5 1 15 0 16 7 52 2 0 1 1 16 0 16 0 1 16 0 52 0 0 2 1 17 0 16 2 1 18 0 16 6 1 19 0 16 8 1 20 0 16 4 1 21 0 16 3 1 22 0 16 0 1 22 0 52 0 0 2 1 23 0 16 0 1 23 0 52 0 0 2 65 10 0 49 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"needed-names"
|
||||
"len"
|
||||
">"
|
||||
0
|
||||
"round"
|
||||
"*"
|
||||
"/"
|
||||
100
|
||||
"-"
|
||||
"list"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 5
|
||||
:bytecode (18 0 16 0 52 0 0 2 17 1 16 1 52 2 0 1 52 1 0 1 33 174 0 16 1 1 3 0 52 0 0 2 33 14 0 18 1 1 5 0 52 4 0 2 19 1 32 39 0 18 2 1 5 0 52 4 0 2 19 2 5 51 7 0 0 3 16 1 1 8 0 52 0 0 2 6 34 5 0 5 52 9 0 0 52 6 0 2 5 20 10 0 18 4 1 8 0 16 1 1 8 0 52 0 0 2 6 34 5 0 5 52 9 0 0 1 11 0 16 1 1 11 0 52 0 0 2 1 12 0 16 1 1 12 0 52 0 0 2 6 34 5 0 5 52 9 0 0 1 13 0 16 1 1 13 0 52 0 0 2 1 14 0 16 0 1 3 0 16 1 1 3 0 52 0 0 2 1 15 0 16 1 1 15 0 52 0 0 2 65 7 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"not"
|
||||
"nil?"
|
||||
"is-pure"
|
||||
"+"
|
||||
1
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (51 2 0 1 0 18 0 52 1 0 2 52 0 0 1 33 12 0 20 3 0 18 0 16 0 49 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"some"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 18 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"="))
|
||||
"append!"))
|
||||
"io-refs"
|
||||
"list"
|
||||
"append!"
|
||||
"render-target"
|
||||
"deps"
|
||||
"source"
|
||||
"name"
|
||||
"affinity"))
|
||||
"append!"
|
||||
"pure-in-page"
|
||||
"io-refs"
|
||||
"direct"
|
||||
"needed"
|
||||
"io-in-page"
|
||||
"components"
|
||||
"savings"
|
||||
"pct"
|
||||
"path"
|
||||
"name"))
|
||||
"total-macros"
|
||||
"pages"
|
||||
"io-count"
|
||||
"pure-count"
|
||||
"total-components"))
|
||||
"build-routing-analysis"
|
||||
(code :arity 1
|
||||
:bytecode (52 0 0 0 17 1 1 1 0 17 2 1 1 0 17 3 51 3 0 1 3 1 2 1 1 16 0 52 2 0 2 5 1 4 0 16 1 1 5 0 16 2 16 3 52 6 0 2 1 7 0 16 3 1 8 0 16 2 65 4 0 50)
|
||||
:constants (
|
||||
"list"
|
||||
0
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 3
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 1 16 0 1 2 0 52 0 0 2 6 34 4 0 5 1 3 0 17 2 2 17 3 1 3 0 17 4 16 1 33 26 0 1 4 0 17 3 5 1 5 0 17 4 5 18 0 1 7 0 52 6 0 2 19 0 32 52 0 16 2 52 8 0 1 33 26 0 1 4 0 17 3 5 1 9 0 17 4 5 18 0 1 7 0 52 6 0 2 19 0 32 17 0 1 10 0 17 3 5 18 1 1 7 0 52 6 0 2 19 1 5 20 11 0 18 2 1 12 0 16 4 1 13 0 16 3 1 14 0 16 2 52 16 0 1 1 17 0 52 15 0 2 33 22 0 16 2 1 20 0 1 17 0 52 19 0 3 1 21 0 52 18 0 2 32 2 0 16 2 1 1 0 16 1 1 22 0 16 0 1 22 0 52 0 0 2 1 23 0 16 0 1 23 0 52 0 0 2 65 6 0 49 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"has-data"
|
||||
"content-src"
|
||||
""
|
||||
"server"
|
||||
"Has :data expression — needs server IO"
|
||||
"+"
|
||||
1
|
||||
"empty?"
|
||||
"No content expression"
|
||||
"client"
|
||||
"append!"
|
||||
"reason"
|
||||
"mode"
|
||||
"content-expr"
|
||||
">"
|
||||
"len"
|
||||
80
|
||||
"str"
|
||||
"slice"
|
||||
0
|
||||
"..."
|
||||
"path"
|
||||
"name"))
|
||||
"pages"
|
||||
"total-pages"
|
||||
"+"
|
||||
"server-count"
|
||||
"client-count"))
|
||||
"build-affinity-analysis"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 16 0 1 1 0 16 1 65 2 0 50)
|
||||
:constants (
|
||||
"components"
|
||||
"page-plans")))))
|
||||
365
shared/static/wasm/sx/render.sxbc
Normal file
365
shared/static/wasm/sx/render.sxbc
Normal file
@@ -0,0 +1,365 @@
|
||||
(sxbc 1 "96c150ad4f0a6342"
|
||||
(code
|
||||
:bytecode (1 2 0 1 3 0 1 4 0 1 5 0 1 6 0 1 7 0 1 8 0 1 9 0 1 10 0 1 11 0 1 12 0 1 13 0 1 14 0 1 15 0 1 16 0 1 17 0 1 18 0 1 19 0 1 20 0 1 21 0 1 22 0 1 23 0 1 24 0 1 25 0 1 26 0 1 27 0 1 28 0 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 52 1 0 139 128 0 0 5 1 142 0 1 143 0 1 53 0 1 71 0 1 144 0 1 55 0 1 84 0 1 73 0 1 7 0 1 6 0 1 145 0 1 87 0 1 146 0 1 54 0 52 1 0 14 128 141 0 5 1 148 0 1 149 0 1 150 0 1 151 0 1 152 0 1 153 0 1 154 0 1 155 0 1 156 0 1 157 0 1 158 0 1 159 0 1 160 0 1 161 0 1 162 0 1 163 0 1 164 0 1 165 0 1 166 0 1 167 0 1 168 0 1 169 0 1 170 0 52 1 0 23 128 147 0 5 52 1 0 0 128 171 0 5 51 173 0 128 172 0 5 51 175 0 128 174 0 5 51 177 0 128 176 0 5 51 179 0 128 178 0 5 51 181 0 128 180 0 5 51 183 0 128 182 0 5 51 185 0 128 184 0 5 51 187 0 128 186 0 5 51 189 0 128 188 0 5 51 191 0 128 190 0 5 51 193 0 128 192 0 50)
|
||||
:constants (
|
||||
"HTML_TAGS"
|
||||
"list"
|
||||
"html"
|
||||
"head"
|
||||
"body"
|
||||
"title"
|
||||
"meta"
|
||||
"link"
|
||||
"script"
|
||||
"style"
|
||||
"noscript"
|
||||
"header"
|
||||
"nav"
|
||||
"main"
|
||||
"section"
|
||||
"article"
|
||||
"aside"
|
||||
"footer"
|
||||
"h1"
|
||||
"h2"
|
||||
"h3"
|
||||
"h4"
|
||||
"h5"
|
||||
"h6"
|
||||
"hgroup"
|
||||
"div"
|
||||
"p"
|
||||
"blockquote"
|
||||
"pre"
|
||||
"figure"
|
||||
"figcaption"
|
||||
"address"
|
||||
"details"
|
||||
"summary"
|
||||
"a"
|
||||
"span"
|
||||
"em"
|
||||
"strong"
|
||||
"small"
|
||||
"b"
|
||||
"i"
|
||||
"u"
|
||||
"s"
|
||||
"mark"
|
||||
"sub"
|
||||
"sup"
|
||||
"abbr"
|
||||
"cite"
|
||||
"code"
|
||||
"kbd"
|
||||
"samp"
|
||||
"var"
|
||||
"time"
|
||||
"br"
|
||||
"wbr"
|
||||
"hr"
|
||||
"ul"
|
||||
"ol"
|
||||
"li"
|
||||
"dl"
|
||||
"dt"
|
||||
"dd"
|
||||
"table"
|
||||
"thead"
|
||||
"tbody"
|
||||
"tfoot"
|
||||
"tr"
|
||||
"th"
|
||||
"td"
|
||||
"caption"
|
||||
"colgroup"
|
||||
"col"
|
||||
"form"
|
||||
"input"
|
||||
"textarea"
|
||||
"select"
|
||||
"option"
|
||||
"optgroup"
|
||||
"button"
|
||||
"label"
|
||||
"fieldset"
|
||||
"legend"
|
||||
"output"
|
||||
"datalist"
|
||||
"img"
|
||||
"video"
|
||||
"audio"
|
||||
"source"
|
||||
"picture"
|
||||
"canvas"
|
||||
"iframe"
|
||||
"svg"
|
||||
"math"
|
||||
"path"
|
||||
"circle"
|
||||
"ellipse"
|
||||
"rect"
|
||||
"line"
|
||||
"polyline"
|
||||
"polygon"
|
||||
"text"
|
||||
"tspan"
|
||||
"g"
|
||||
"defs"
|
||||
"use"
|
||||
"clipPath"
|
||||
"mask"
|
||||
"pattern"
|
||||
"linearGradient"
|
||||
"radialGradient"
|
||||
"stop"
|
||||
"filter"
|
||||
"feGaussianBlur"
|
||||
"feOffset"
|
||||
"feBlend"
|
||||
"feColorMatrix"
|
||||
"feComposite"
|
||||
"feMerge"
|
||||
"feMergeNode"
|
||||
"feTurbulence"
|
||||
"feComponentTransfer"
|
||||
"feFuncR"
|
||||
"feFuncG"
|
||||
"feFuncB"
|
||||
"feFuncA"
|
||||
"feDisplacementMap"
|
||||
"feFlood"
|
||||
"feImage"
|
||||
"feMorphology"
|
||||
"feSpecularLighting"
|
||||
"feDiffuseLighting"
|
||||
"fePointLight"
|
||||
"feSpotLight"
|
||||
"feDistantLight"
|
||||
"animate"
|
||||
"animateTransform"
|
||||
"foreignObject"
|
||||
"template"
|
||||
"slot"
|
||||
"dialog"
|
||||
"menu"
|
||||
"VOID_ELEMENTS"
|
||||
"area"
|
||||
"base"
|
||||
"embed"
|
||||
"param"
|
||||
"track"
|
||||
"BOOLEAN_ATTRS"
|
||||
"async"
|
||||
"autofocus"
|
||||
"autoplay"
|
||||
"checked"
|
||||
"controls"
|
||||
"default"
|
||||
"defer"
|
||||
"disabled"
|
||||
"formnovalidate"
|
||||
"hidden"
|
||||
"inert"
|
||||
"ismap"
|
||||
"loop"
|
||||
"multiple"
|
||||
"muted"
|
||||
"nomodule"
|
||||
"novalidate"
|
||||
"open"
|
||||
"playsinline"
|
||||
"readonly"
|
||||
"required"
|
||||
"reversed"
|
||||
"selected"
|
||||
"*definition-form-extensions*"
|
||||
"definition-form?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 6 34 94 0 5 16 0 1 2 0 52 0 0 2 6 34 80 0 5 16 0 1 3 0 52 0 0 2 6 34 66 0 5 16 0 1 4 0 52 0 0 2 6 34 52 0 5 16 0 1 5 0 52 0 0 2 6 34 38 0 5 16 0 1 6 0 52 0 0 2 6 34 24 0 5 16 0 1 7 0 52 0 0 2 6 34 10 0 5 20 9 0 16 0 52 8 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"define"
|
||||
"defcomp"
|
||||
"defisland"
|
||||
"defmacro"
|
||||
"defstyle"
|
||||
"deftype"
|
||||
"defeffect"
|
||||
"contains?"
|
||||
"*definition-form-extensions*"))
|
||||
"parse-element-args"
|
||||
(code :arity 2
|
||||
:bytecode (52 0 0 0 17 2 52 1 0 0 17 3 51 3 0 1 0 1 1 1 2 1 3 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 0 52 2 0 3 5 16 2 16 3 52 1 0 2 50)
|
||||
:constants (
|
||||
"dict"
|
||||
"list"
|
||||
"reduce"
|
||||
(code :arity 2 :upvalue-count 4
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 154 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 78 0 20 10 0 20 11 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 48 2 48 1 17 3 18 2 20 14 0 16 1 48 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 32 0 20 15 0 18 3 16 1 48 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)
|
||||
:constants (
|
||||
"get"
|
||||
"skip"
|
||||
"assoc"
|
||||
"i"
|
||||
"inc"
|
||||
"="
|
||||
"type-of"
|
||||
"keyword"
|
||||
"<"
|
||||
"len"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"nth"
|
||||
"dict-set!"
|
||||
"keyword-name"
|
||||
"append!"))
|
||||
"i"
|
||||
0
|
||||
"skip"))
|
||||
"render-attrs"
|
||||
(code :arity 1
|
||||
:bytecode (1 1 0 51 3 0 1 0 16 0 52 4 0 1 52 2 0 2 52 0 0 2 50)
|
||||
:constants (
|
||||
"join"
|
||||
""
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (18 0 16 0 52 0 0 2 17 1 20 2 0 16 0 52 1 0 2 6 33 3 0 5 16 1 33 12 0 1 4 0 16 0 52 3 0 2 32 70 0 20 2 0 16 0 52 1 0 2 6 33 7 0 5 16 1 52 5 0 1 33 6 0 1 6 0 32 41 0 16 1 52 7 0 1 33 6 0 1 6 0 32 26 0 1 4 0 16 0 1 8 0 20 9 0 16 1 52 3 0 1 48 1 1 10 0 52 3 0 5 50)
|
||||
:constants (
|
||||
"dict-get"
|
||||
"contains?"
|
||||
"BOOLEAN_ATTRS"
|
||||
"str"
|
||||
" "
|
||||
"not"
|
||||
""
|
||||
"nil?"
|
||||
"=\""
|
||||
"escape-attr"
|
||||
"\""))
|
||||
"keys"))
|
||||
"eval-cond"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 0 0 1 33 12 0 20 1 0 16 0 16 1 49 2 32 9 0 20 2 0 16 0 16 1 49 2 50)
|
||||
:constants (
|
||||
"cond-scheme?"
|
||||
"eval-cond-scheme"
|
||||
"eval-cond-clojure"))
|
||||
"eval-cond-scheme"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 0 0 1 33 4 0 2 32 76 0 16 0 52 1 0 1 17 2 16 2 52 1 0 1 17 3 16 2 1 3 0 52 2 0 2 17 4 16 3 52 4 0 1 33 5 0 16 4 32 35 0 20 5 0 20 6 0 16 3 16 1 48 2 48 1 33 5 0 16 4 32 13 0 20 7 0 16 0 52 8 0 1 16 1 49 2 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"first"
|
||||
"nth"
|
||||
1
|
||||
"is-else-clause?"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"eval-cond-scheme"
|
||||
"rest"))
|
||||
"eval-cond-clojure"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 4 0 2 32 71 0 16 0 52 3 0 1 17 2 16 0 1 5 0 52 4 0 2 17 3 16 2 52 6 0 1 33 5 0 16 3 32 38 0 20 7 0 20 8 0 16 2 16 1 48 2 48 1 33 5 0 16 3 32 16 0 20 9 0 16 0 1 2 0 52 10 0 2 16 1 49 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"len"
|
||||
2
|
||||
"first"
|
||||
"nth"
|
||||
1
|
||||
"is-else-clause?"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"eval-cond-clojure"
|
||||
"slice"))
|
||||
"process-bindings"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 1 48 1 17 2 51 2 0 1 2 16 0 52 1 0 2 5 16 2 50)
|
||||
:constants (
|
||||
"env-extend"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 6 33 14 0 5 16 0 52 4 0 1 1 5 0 52 3 0 2 33 79 0 16 0 52 6 0 1 52 1 0 1 1 7 0 52 0 0 2 33 14 0 20 8 0 16 0 52 6 0 1 48 1 32 10 0 16 0 52 6 0 1 52 9 0 1 17 1 20 10 0 18 0 16 1 20 11 0 20 12 0 16 0 1 14 0 52 13 0 2 18 0 48 2 48 1 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"="
|
||||
"type-of"
|
||||
"list"
|
||||
">="
|
||||
"len"
|
||||
2
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"str"
|
||||
"env-bind!"
|
||||
"trampoline"
|
||||
"eval-expr"
|
||||
"nth"
|
||||
1))))
|
||||
"is-render-expr?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 2 0 1 1 3 0 52 1 0 2 52 0 0 1 6 34 7 0 5 16 0 52 4 0 1 33 4 0 4 32 170 0 16 0 52 5 0 1 17 1 16 1 52 2 0 1 1 6 0 52 1 0 2 52 0 0 1 33 4 0 4 32 138 0 20 7 0 16 1 48 1 17 2 16 2 1 8 0 52 1 0 2 6 34 116 0 5 16 2 1 9 0 52 1 0 2 6 34 102 0 5 16 2 1 11 0 52 10 0 2 6 34 88 0 5 16 2 1 12 0 52 10 0 2 6 34 74 0 5 20 14 0 16 2 52 13 0 2 6 34 60 0 5 16 2 1 17 0 52 16 0 2 1 18 0 52 15 0 2 6 33 39 0 5 16 0 52 19 0 1 1 20 0 52 15 0 2 6 33 21 0 5 16 0 1 20 0 52 21 0 2 52 2 0 1 1 22 0 52 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"="
|
||||
"type-of"
|
||||
"list"
|
||||
"empty?"
|
||||
"first"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"<>"
|
||||
"raw!"
|
||||
"starts-with?"
|
||||
"~"
|
||||
"html:"
|
||||
"contains?"
|
||||
"HTML_TAGS"
|
||||
">"
|
||||
"index-of"
|
||||
"-"
|
||||
0
|
||||
"len"
|
||||
1
|
||||
"nth"
|
||||
"keyword"))
|
||||
"merge-spread-attrs"
|
||||
(code :arity 2
|
||||
:bytecode (51 1 0 1 1 1 0 16 1 52 2 0 1 52 0 0 2 50)
|
||||
:constants (
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (18 0 16 0 52 0 0 2 17 1 16 0 1 2 0 52 1 0 2 33 62 0 18 1 1 2 0 52 0 0 2 17 2 18 1 1 2 0 16 2 6 33 14 0 5 16 2 1 5 0 52 1 0 2 52 4 0 1 33 14 0 16 2 1 7 0 16 1 52 6 0 3 32 2 0 16 1 52 3 0 3 32 84 0 16 0 1 8 0 52 1 0 2 33 62 0 18 1 1 8 0 52 0 0 2 17 2 18 1 1 8 0 16 2 6 33 14 0 5 16 2 1 5 0 52 1 0 2 52 4 0 1 33 14 0 16 2 1 9 0 16 1 52 6 0 3 32 2 0 16 1 52 3 0 3 32 10 0 18 1 16 0 16 1 52 3 0 3 50)
|
||||
:constants (
|
||||
"dict-get"
|
||||
"="
|
||||
"class"
|
||||
"dict-set!"
|
||||
"not"
|
||||
""
|
||||
"str"
|
||||
" "
|
||||
"style"
|
||||
";"))
|
||||
"keys"))
|
||||
"escape-html"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 17 1 16 1 1 2 0 1 3 0 52 1 0 3 17 1 5 16 1 1 4 0 1 5 0 52 1 0 3 17 1 5 16 1 1 6 0 1 7 0 52 1 0 3 17 1 5 16 1 1 8 0 1 9 0 52 1 0 3 17 1 5 16 1 50)
|
||||
:constants (
|
||||
"str"
|
||||
"replace"
|
||||
"&"
|
||||
"&"
|
||||
"<"
|
||||
"<"
|
||||
">"
|
||||
">"
|
||||
"\""
|
||||
"""))
|
||||
"escape-attr"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 49 1 50)
|
||||
:constants (
|
||||
"escape-html")))))
|
||||
523
shared/static/wasm/sx/router.sxbc
Normal file
523
shared/static/wasm/sx/router.sxbc
Normal file
@@ -0,0 +1,523 @@
|
||||
(sxbc 1 "10d418bcee7e13ff"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 41 0 128 40 0 5 51 43 0 128 42 0 5 51 45 0 128 44 0 5 51 47 0 128 46 0 5 51 49 0 128 48 0 5 51 51 0 128 50 0 5 51 53 0 128 52 0 5 51 55 0 128 54 0 5 51 57 0 128 56 0 5 51 59 0 128 58 0 5 51 61 0 128 60 0 5 51 63 0 128 62 0 5 51 65 0 128 64 0 5 51 67 0 128 66 0 5 51 69 0 128 68 0 5 51 71 0 128 70 0 50)
|
||||
:constants (
|
||||
"split-path-segments"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 12 0 16 0 1 3 0 52 2 0 2 32 2 0 16 0 17 1 16 1 52 5 0 1 52 4 0 1 6 33 10 0 5 16 1 1 1 0 52 6 0 2 33 25 0 16 1 1 7 0 16 1 52 9 0 1 1 3 0 52 8 0 2 52 2 0 3 32 2 0 16 1 17 2 16 2 52 5 0 1 33 7 0 52 10 0 0 32 9 0 16 2 1 1 0 52 11 0 2 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"/"
|
||||
"slice"
|
||||
1
|
||||
"not"
|
||||
"empty?"
|
||||
"ends-with?"
|
||||
0
|
||||
"-"
|
||||
"len"
|
||||
"list"
|
||||
"split"))
|
||||
"make-route-segment"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 0 1 3 0 52 2 0 2 33 59 0 16 0 1 5 0 16 0 52 7 0 1 1 5 0 52 6 0 2 52 4 0 3 17 1 65 0 0 17 2 16 2 1 9 0 1 10 0 52 8 0 3 5 16 2 1 11 0 16 1 52 8 0 3 5 16 2 32 32 0 65 0 0 17 1 16 1 1 9 0 1 12 0 52 8 0 3 5 16 1 1 11 0 16 0 52 8 0 3 5 16 1 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"<"
|
||||
"ends-with?"
|
||||
">"
|
||||
"slice"
|
||||
1
|
||||
"-"
|
||||
"len"
|
||||
"dict-set!"
|
||||
"type"
|
||||
"param"
|
||||
"value"
|
||||
"literal"))
|
||||
"parse-route-pattern"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 20 2 0 16 1 52 1 0 2 50)
|
||||
:constants (
|
||||
"split-path-segments"
|
||||
"map"
|
||||
"make-route-segment"))
|
||||
"match-route-segments"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 2 0 1 16 1 52 2 0 1 52 1 0 2 52 0 0 1 33 4 0 2 32 35 0 65 0 0 17 2 3 17 3 51 4 0 1 3 1 0 1 2 16 1 52 3 0 2 5 16 3 33 5 0 16 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"="
|
||||
"len"
|
||||
"for-each-indexed"
|
||||
(code :arity 2 :upvalue-count 3
|
||||
:bytecode (18 0 33 103 0 18 1 16 0 52 0 0 2 17 2 16 1 1 2 0 52 1 0 2 17 3 16 3 1 4 0 52 3 0 2 33 32 0 16 2 16 1 1 6 0 52 1 0 2 52 3 0 2 52 5 0 1 33 6 0 4 19 0 32 1 0 2 32 35 0 16 3 1 7 0 52 3 0 2 33 20 0 18 2 16 1 1 6 0 52 1 0 2 16 2 52 8 0 3 32 3 0 4 19 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"nth"
|
||||
"get"
|
||||
"type"
|
||||
"="
|
||||
"literal"
|
||||
"not"
|
||||
"value"
|
||||
"param"
|
||||
"dict-set!"))))
|
||||
"match-route"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 2 20 1 0 16 1 48 1 17 3 20 2 0 16 2 16 3 49 2 50)
|
||||
:constants (
|
||||
"split-path-segments"
|
||||
"parse-route-pattern"
|
||||
"match-route-segments"))
|
||||
"find-matching-route"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 17 0 20 2 0 16 0 48 1 6 34 3 0 5 16 0 32 2 0 16 0 17 2 20 3 0 16 2 48 1 17 3 2 17 4 51 5 0 1 4 1 3 16 1 52 4 0 2 5 16 4 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"/("
|
||||
"sx-url-to-path"
|
||||
"split-path-segments"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (18 0 52 0 0 1 33 65 0 20 1 0 18 1 16 0 1 3 0 52 2 0 2 48 2 17 1 16 1 52 0 0 1 52 4 0 1 33 30 0 16 0 65 0 0 52 5 0 2 17 2 16 2 1 7 0 16 1 52 6 0 3 5 16 2 19 0 32 1 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"match-route-segments"
|
||||
"get"
|
||||
"parsed"
|
||||
"not"
|
||||
"merge"
|
||||
"dict-set!"
|
||||
"params"))))
|
||||
"_fn-to-segment"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 6 1 0 0 52 1 0 2 33 7 0 5 1 2 0 32 147 0 6 1 3 0 52 1 0 2 33 7 0 5 1 4 0 32 129 0 6 1 5 0 52 1 0 2 33 7 0 5 1 6 0 32 111 0 6 1 7 0 52 1 0 2 33 7 0 5 1 8 0 32 93 0 6 1 9 0 52 1 0 2 33 7 0 5 1 10 0 32 75 0 6 1 11 0 52 1 0 2 33 7 0 5 1 12 0 32 57 0 6 1 13 0 52 1 0 2 33 7 0 5 1 14 0 32 39 0 6 1 15 0 52 1 0 2 33 7 0 5 1 16 0 32 21 0 6 1 17 0 52 1 0 2 33 7 0 5 1 18 0 32 3 0 5 16 0 50)
|
||||
:constants (
|
||||
"doc"
|
||||
"="
|
||||
"docs"
|
||||
"spec"
|
||||
"specs"
|
||||
"bootstrapper"
|
||||
"bootstrappers"
|
||||
"test"
|
||||
"testing"
|
||||
"example"
|
||||
"examples"
|
||||
"protocol"
|
||||
"protocols"
|
||||
"essay"
|
||||
"essays"
|
||||
"plan"
|
||||
"plans"
|
||||
"reference-detail"
|
||||
"reference"))
|
||||
"sx-url-to-path"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 6 33 10 0 5 16 0 1 4 0 52 3 0 2 52 0 0 1 33 4 0 2 32 99 0 16 0 1 6 0 16 0 52 8 0 1 1 9 0 52 7 0 2 52 5 0 3 17 1 16 1 1 11 0 1 12 0 52 10 0 3 1 13 0 1 14 0 52 10 0 3 1 4 0 1 14 0 52 10 0 3 17 2 51 16 0 16 2 1 12 0 52 17 0 2 52 15 0 2 17 3 1 12 0 1 12 0 20 21 0 16 3 52 20 0 2 52 19 0 2 52 18 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"starts-with?"
|
||||
"/("
|
||||
"ends-with?"
|
||||
")"
|
||||
"slice"
|
||||
2
|
||||
"-"
|
||||
"len"
|
||||
1
|
||||
"replace"
|
||||
"."
|
||||
"/"
|
||||
"("
|
||||
""
|
||||
"filter"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 1 0 1 52 0 0 1 50)
|
||||
:constants (
|
||||
"not"
|
||||
"empty?"))
|
||||
"split"
|
||||
"str"
|
||||
"join"
|
||||
"map"
|
||||
"_fn-to-segment"))
|
||||
"_count-leading-dots"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 6 0 1 1 0 32 39 0 16 0 1 3 0 52 2 0 2 33 24 0 1 5 0 20 6 0 16 0 1 5 0 52 7 0 2 48 1 52 4 0 2 32 3 0 1 1 0 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
0
|
||||
"starts-with?"
|
||||
"."
|
||||
"+"
|
||||
1
|
||||
"_count-leading-dots"
|
||||
"slice"))
|
||||
"_strip-trailing-close"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 30 0 20 2 0 16 0 1 4 0 16 0 52 6 0 1 1 7 0 52 5 0 2 52 3 0 3 49 1 32 2 0 16 0 50)
|
||||
:constants (
|
||||
"ends-with?"
|
||||
")"
|
||||
"_strip-trailing-close"
|
||||
"slice"
|
||||
0
|
||||
"-"
|
||||
"len"
|
||||
1))
|
||||
"_index-of-safe"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 16 1 52 0 0 2 17 2 16 2 52 1 0 1 6 34 10 0 5 16 2 1 3 0 52 2 0 2 33 4 0 2 32 2 0 16 2 50)
|
||||
:constants (
|
||||
"index-of"
|
||||
"nil?"
|
||||
"<"
|
||||
0))
|
||||
"_last-index-of"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 16 1 48 2 17 2 16 2 52 1 0 1 33 4 0 2 32 53 0 20 2 0 16 0 16 2 1 5 0 52 4 0 2 52 3 0 2 16 1 48 2 17 3 16 3 52 1 0 1 33 5 0 16 2 32 15 0 16 2 1 5 0 52 4 0 2 16 3 52 4 0 2 50)
|
||||
:constants (
|
||||
"_index-of-safe"
|
||||
"nil?"
|
||||
"_last-index-of"
|
||||
"slice"
|
||||
"+"
|
||||
1))
|
||||
"_pop-sx-url-level"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 16 0 52 2 0 1 20 0 0 16 0 48 1 52 2 0 1 52 1 0 2 17 2 16 2 1 4 0 52 3 0 2 33 6 0 1 5 0 32 67 0 20 6 0 16 1 1 7 0 48 2 17 3 16 3 52 8 0 1 33 6 0 1 5 0 32 40 0 16 1 1 11 0 16 3 52 10 0 3 16 0 16 0 52 2 0 1 16 2 1 4 0 52 1 0 2 52 1 0 2 52 10 0 2 52 9 0 2 50)
|
||||
:constants (
|
||||
"_strip-trailing-close"
|
||||
"-"
|
||||
"len"
|
||||
"<="
|
||||
1
|
||||
"/"
|
||||
"_last-index-of"
|
||||
".("
|
||||
"nil?"
|
||||
"str"
|
||||
"slice"
|
||||
0))
|
||||
"_pop-sx-url-levels"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 1 1 0 52 0 0 2 33 5 0 16 0 32 21 0 20 2 0 20 3 0 16 0 48 1 16 1 1 5 0 52 4 0 2 49 2 50)
|
||||
:constants (
|
||||
"<="
|
||||
0
|
||||
"_pop-sx-url-levels"
|
||||
"_pop-sx-url-level"
|
||||
"-"
|
||||
1))
|
||||
"_split-pos-kw"
|
||||
(code :arity 4
|
||||
:bytecode (16 1 16 0 52 1 0 1 52 0 0 2 33 23 0 1 2 0 1 4 0 16 2 52 3 0 2 1 5 0 16 3 65 2 0 32 136 0 16 0 16 1 52 6 0 2 17 4 16 4 1 8 0 52 7 0 2 33 84 0 16 1 1 11 0 52 10 0 2 16 0 52 1 0 1 52 9 0 2 33 18 0 16 0 16 1 1 11 0 52 10 0 2 52 6 0 2 32 3 0 1 12 0 17 5 20 13 0 16 0 16 1 1 14 0 52 10 0 2 16 2 16 3 16 4 16 5 52 16 0 2 52 16 0 1 52 15 0 2 49 4 32 30 0 20 13 0 16 0 16 1 1 11 0 52 10 0 2 16 2 16 4 52 16 0 1 52 15 0 2 16 3 49 4 50)
|
||||
:constants (
|
||||
">="
|
||||
"len"
|
||||
"positional"
|
||||
"join"
|
||||
"."
|
||||
"keywords"
|
||||
"nth"
|
||||
"starts-with?"
|
||||
":"
|
||||
"<"
|
||||
"+"
|
||||
1
|
||||
""
|
||||
"_split-pos-kw"
|
||||
2
|
||||
"append"
|
||||
"list"))
|
||||
"_parse-relative-body"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 33 19 0 1 1 0 1 2 0 1 3 0 52 4 0 0 65 2 0 32 25 0 20 5 0 16 0 1 7 0 52 6 0 2 1 8 0 52 4 0 0 52 4 0 0 49 4 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"positional"
|
||||
""
|
||||
"keywords"
|
||||
"list"
|
||||
"_split-pos-kw"
|
||||
"split"
|
||||
"."
|
||||
0))
|
||||
"_extract-innermost"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 16 0 20 0 0 16 0 48 1 52 2 0 1 52 1 0 2 17 2 20 3 0 16 1 1 4 0 48 2 17 3 16 3 52 5 0 1 33 29 0 1 6 0 1 7 0 1 8 0 16 1 1 9 0 52 1 0 2 1 10 0 16 2 65 3 0 32 47 0 1 6 0 16 1 1 11 0 16 3 1 9 0 52 12 0 2 52 1 0 3 1 8 0 16 1 16 3 1 9 0 52 12 0 2 52 1 0 2 1 10 0 16 2 65 3 0 50)
|
||||
:constants (
|
||||
"_strip-trailing-close"
|
||||
"slice"
|
||||
"len"
|
||||
"_last-index-of"
|
||||
".("
|
||||
"nil?"
|
||||
"before"
|
||||
"/("
|
||||
"content"
|
||||
2
|
||||
"suffix"
|
||||
0
|
||||
"+"))
|
||||
"_find-kw-in-tokens"
|
||||
(code :arity 3
|
||||
:bytecode (16 1 16 0 52 1 0 1 52 0 0 2 33 4 0 2 32 77 0 16 0 16 1 52 3 0 2 16 2 52 2 0 2 6 33 20 0 5 16 1 1 6 0 52 5 0 2 16 0 52 1 0 1 52 4 0 2 33 18 0 16 0 16 1 1 6 0 52 5 0 2 52 3 0 2 32 18 0 20 7 0 16 0 16 1 1 6 0 52 5 0 2 16 2 49 3 50)
|
||||
:constants (
|
||||
">="
|
||||
"len"
|
||||
"="
|
||||
"nth"
|
||||
"<"
|
||||
"+"
|
||||
1
|
||||
"_find-kw-in-tokens"))
|
||||
"_find-keyword-value"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 2 0 52 1 0 2 1 3 0 16 1 49 3 50)
|
||||
:constants (
|
||||
"_find-kw-in-tokens"
|
||||
"split"
|
||||
"."
|
||||
0))
|
||||
"_replace-kw-in-tokens"
|
||||
(code :arity 4
|
||||
:bytecode (16 1 16 0 52 1 0 1 52 0 0 2 33 7 0 52 2 0 0 32 108 0 16 0 16 1 52 4 0 2 16 2 52 3 0 2 6 33 20 0 5 16 1 1 7 0 52 6 0 2 16 0 52 1 0 1 52 5 0 2 33 35 0 16 2 16 3 52 2 0 2 20 9 0 16 0 16 1 1 10 0 52 6 0 2 16 2 16 3 48 4 52 8 0 2 32 32 0 16 0 16 1 52 4 0 2 20 9 0 16 0 16 1 1 7 0 52 6 0 2 16 2 16 3 48 4 52 11 0 2 50)
|
||||
:constants (
|
||||
">="
|
||||
"len"
|
||||
"list"
|
||||
"="
|
||||
"nth"
|
||||
"<"
|
||||
"+"
|
||||
1
|
||||
"append"
|
||||
"_replace-kw-in-tokens"
|
||||
2
|
||||
"cons"))
|
||||
"_set-keyword-in-content"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 48 2 17 3 16 3 52 1 0 1 33 19 0 16 0 1 3 0 16 1 1 3 0 16 2 52 2 0 5 32 28 0 1 3 0 20 5 0 16 0 1 3 0 52 6 0 2 1 7 0 16 1 16 2 48 4 52 4 0 2 50)
|
||||
:constants (
|
||||
"_find-keyword-value"
|
||||
"nil?"
|
||||
"str"
|
||||
"."
|
||||
"join"
|
||||
"_replace-kw-in-tokens"
|
||||
"split"
|
||||
0))
|
||||
"_is-delta-value?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 1 0 1 52 0 0 1 6 33 42 0 5 16 0 52 3 0 1 1 4 0 52 2 0 2 6 33 24 0 5 16 0 1 6 0 52 5 0 2 6 34 10 0 5 16 0 1 7 0 52 5 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"empty?"
|
||||
">"
|
||||
"len"
|
||||
1
|
||||
"starts-with?"
|
||||
"+"
|
||||
"-"))
|
||||
"_apply-delta"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 2 52 0 0 2 17 2 16 1 2 52 0 0 2 17 3 16 2 52 1 0 1 6 34 7 0 5 16 3 52 1 0 1 33 5 0 16 1 32 12 0 16 2 16 3 52 3 0 2 52 2 0 1 50)
|
||||
:constants (
|
||||
"parse-int"
|
||||
"nil?"
|
||||
"str"
|
||||
"+"))
|
||||
"_apply-kw-pairs"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 52 0 0 1 33 5 0 16 0 32 100 0 16 1 52 1 0 1 17 2 16 2 52 1 0 1 17 3 16 2 1 3 0 52 2 0 2 17 4 20 4 0 16 4 48 1 33 37 0 20 5 0 16 0 16 3 48 2 17 6 16 6 52 6 0 1 33 5 0 16 4 32 9 0 20 7 0 16 6 16 4 48 2 32 2 0 16 4 17 5 20 8 0 20 9 0 16 0 16 3 16 5 48 3 16 1 52 10 0 1 49 2 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"first"
|
||||
"nth"
|
||||
1
|
||||
"_is-delta-value?"
|
||||
"_find-keyword-value"
|
||||
"nil?"
|
||||
"_apply-delta"
|
||||
"_apply-kw-pairs"
|
||||
"_set-keyword-in-content"
|
||||
"rest"))
|
||||
"_apply-keywords-to-url"
|
||||
(code :arity 2
|
||||
:bytecode (16 1 52 0 0 1 33 5 0 16 0 32 51 0 20 1 0 16 0 48 1 17 2 20 2 0 16 2 1 4 0 52 3 0 2 16 1 48 2 17 3 16 2 1 6 0 52 3 0 2 16 3 16 2 1 7 0 52 3 0 2 52 5 0 3 50)
|
||||
:constants (
|
||||
"empty?"
|
||||
"_extract-innermost"
|
||||
"_apply-kw-pairs"
|
||||
"get"
|
||||
"content"
|
||||
"str"
|
||||
"before"
|
||||
"suffix"))
|
||||
"_normalize-relative"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 5 0 16 0 32 12 0 1 1 0 16 0 1 3 0 52 2 0 3 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"("
|
||||
"str"
|
||||
")"))
|
||||
"resolve-relative-url"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 1 48 1 17 2 16 2 1 2 0 16 2 52 4 0 1 1 2 0 52 3 0 2 52 1 0 3 17 3 20 5 0 16 3 48 1 17 4 16 3 20 5 0 16 3 48 1 52 1 0 2 17 5 16 4 1 7 0 52 6 0 2 33 5 0 16 0 32 215 0 20 8 0 16 5 48 1 17 6 16 6 1 10 0 52 9 0 2 17 7 16 6 1 11 0 52 9 0 2 17 8 16 4 1 2 0 52 6 0 2 33 58 0 16 7 52 12 0 1 33 5 0 16 0 32 41 0 20 13 0 16 0 48 1 17 10 16 0 20 13 0 16 0 48 1 52 4 0 1 52 1 0 2 17 11 16 10 1 15 0 16 7 16 11 52 14 0 4 32 103 0 20 16 0 16 0 16 4 1 2 0 52 3 0 2 48 2 17 10 16 7 52 12 0 1 33 5 0 16 10 32 71 0 16 10 1 17 0 52 6 0 2 33 15 0 1 18 0 16 7 1 19 0 52 14 0 3 32 44 0 20 13 0 16 10 48 1 17 11 16 10 20 13 0 16 10 48 1 52 4 0 1 52 1 0 2 17 12 16 11 1 20 0 16 7 1 19 0 16 12 52 14 0 5 17 9 20 21 0 16 9 16 8 49 2 50)
|
||||
:constants (
|
||||
"_normalize-relative"
|
||||
"slice"
|
||||
1
|
||||
"-"
|
||||
"len"
|
||||
"_count-leading-dots"
|
||||
"="
|
||||
0
|
||||
"_parse-relative-body"
|
||||
"get"
|
||||
"positional"
|
||||
"keywords"
|
||||
"empty?"
|
||||
"_strip-trailing-close"
|
||||
"str"
|
||||
"."
|
||||
"_pop-sx-url-levels"
|
||||
"/"
|
||||
"/("
|
||||
")"
|
||||
".("
|
||||
"_apply-keywords-to-url"))
|
||||
"relative-sx-url?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 6 33 14 0 5 16 0 1 3 0 52 0 0 2 52 2 0 1 6 34 10 0 5 16 0 1 4 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"("
|
||||
"not"
|
||||
"/("
|
||||
"."))
|
||||
"_url-special-forms"
|
||||
(code
|
||||
:bytecode (1 1 0 1 2 0 1 3 0 1 4 0 1 5 0 1 6 0 52 0 0 6 50)
|
||||
:constants (
|
||||
"list"
|
||||
"!source"
|
||||
"!inspect"
|
||||
"!diff"
|
||||
"!search"
|
||||
"!raw"
|
||||
"!json"))
|
||||
"url-special-form?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 6 33 12 0 5 20 3 0 48 0 16 0 52 2 0 2 50)
|
||||
:constants (
|
||||
"starts-with?"
|
||||
"!"
|
||||
"contains?"
|
||||
"_url-special-forms"))
|
||||
"parse-sx-url"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 33 17 0 1 2 0 16 0 1 3 0 1 4 0 65 2 0 32 119 1 20 5 0 16 0 48 1 33 17 0 1 2 0 16 0 1 3 0 1 6 0 65 2 0 32 92 1 16 0 1 8 0 52 7 0 2 6 33 10 0 5 16 0 1 10 0 52 9 0 2 33 193 0 16 0 1 12 0 16 0 52 14 0 1 1 15 0 52 13 0 2 52 11 0 3 17 1 20 16 0 16 1 1 17 0 48 2 17 2 20 16 0 16 1 1 18 0 48 2 17 3 16 2 52 19 0 1 6 33 7 0 5 16 3 52 19 0 1 33 9 0 16 1 52 14 0 1 32 36 0 16 2 52 19 0 1 33 5 0 16 3 32 22 0 16 3 52 19 0 1 33 5 0 16 2 32 8 0 16 2 16 3 52 20 0 2 17 4 16 1 1 21 0 16 4 52 11 0 3 17 5 16 1 16 4 52 11 0 2 17 6 16 6 1 17 0 52 7 0 2 33 12 0 16 6 1 15 0 52 11 0 2 32 2 0 16 6 17 7 1 2 0 16 0 1 3 0 1 22 0 1 23 0 16 7 1 24 0 16 5 65 4 0 32 129 0 16 0 1 25 0 52 7 0 2 6 33 10 0 5 16 0 1 10 0 52 9 0 2 33 46 0 16 0 1 12 0 16 0 52 14 0 1 1 15 0 52 13 0 2 52 11 0 3 17 1 1 2 0 16 0 1 3 0 1 26 0 1 27 0 16 1 65 3 0 32 57 0 16 0 1 28 0 52 7 0 2 6 33 10 0 5 16 0 1 10 0 52 9 0 2 33 17 0 1 2 0 16 0 1 3 0 1 29 0 65 2 0 32 14 0 1 2 0 16 0 1 3 0 1 30 0 65 2 0 50)
|
||||
:constants (
|
||||
"="
|
||||
"/"
|
||||
"raw"
|
||||
"type"
|
||||
"home"
|
||||
"relative-sx-url?"
|
||||
"relative"
|
||||
"starts-with?"
|
||||
"/(!"
|
||||
"ends-with?"
|
||||
")"
|
||||
"slice"
|
||||
2
|
||||
"-"
|
||||
"len"
|
||||
1
|
||||
"_index-of-safe"
|
||||
"."
|
||||
"("
|
||||
"nil?"
|
||||
"min"
|
||||
0
|
||||
"special-form"
|
||||
"inner"
|
||||
"form"
|
||||
"/(~"
|
||||
"direct-component"
|
||||
"name"
|
||||
"/("
|
||||
"absolute"
|
||||
"path"))
|
||||
"url-special-form-name"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 16 1 1 3 0 52 2 0 2 1 4 0 52 1 0 2 33 12 0 16 1 1 5 0 52 2 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"parse-sx-url"
|
||||
"="
|
||||
"get"
|
||||
"type"
|
||||
"special-form"
|
||||
"form"))
|
||||
"url-special-form-inner"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 16 1 1 3 0 52 2 0 2 1 4 0 52 1 0 2 33 12 0 16 1 1 5 0 52 2 0 2 32 1 0 2 50)
|
||||
:constants (
|
||||
"parse-sx-url"
|
||||
"="
|
||||
"get"
|
||||
"type"
|
||||
"special-form"
|
||||
"inner"))
|
||||
"url-to-expr"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 6 34 7 0 5 16 0 52 2 0 1 33 7 0 52 3 0 0 32 73 0 16 0 1 1 0 52 4 0 2 33 12 0 16 0 1 6 0 52 5 0 2 32 2 0 16 0 17 1 16 1 1 8 0 1 9 0 52 7 0 3 17 2 20 10 0 16 2 48 1 17 3 16 3 52 2 0 1 33 7 0 52 3 0 0 32 6 0 16 3 52 11 0 1 50)
|
||||
:constants (
|
||||
"="
|
||||
"/"
|
||||
"empty?"
|
||||
"list"
|
||||
"starts-with?"
|
||||
"slice"
|
||||
1
|
||||
"replace"
|
||||
"."
|
||||
" "
|
||||
"sx-parse"
|
||||
"first"))
|
||||
"auto-quote-unknowns"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 1 0 1 52 0 0 1 33 5 0 16 0 32 39 0 16 0 52 2 0 1 33 5 0 16 0 32 25 0 16 0 52 4 0 1 51 6 0 1 1 16 0 52 7 0 1 52 5 0 2 52 3 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"list?"
|
||||
"empty?"
|
||||
"cons"
|
||||
"first"
|
||||
"map"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (16 0 52 0 0 1 33 12 0 20 1 0 16 0 18 0 49 2 32 91 0 16 0 52 3 0 1 1 4 0 52 2 0 2 33 73 0 20 5 0 16 0 48 1 17 1 20 6 0 18 0 16 1 48 2 6 34 38 0 5 16 1 1 8 0 52 7 0 2 6 34 24 0 5 16 1 1 9 0 52 7 0 2 6 34 10 0 5 16 1 1 10 0 52 7 0 2 33 5 0 16 0 32 2 0 16 1 32 2 0 16 0 50)
|
||||
:constants (
|
||||
"list?"
|
||||
"auto-quote-unknowns"
|
||||
"="
|
||||
"type-of"
|
||||
"symbol"
|
||||
"symbol-name"
|
||||
"env-has?"
|
||||
"starts-with?"
|
||||
":"
|
||||
"~"
|
||||
"!"))
|
||||
"rest"))
|
||||
"prepare-url-expr"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 2 16 2 52 1 0 1 33 5 0 16 2 32 9 0 20 2 0 16 2 16 1 49 2 50)
|
||||
:constants (
|
||||
"url-to-expr"
|
||||
"empty?"
|
||||
"auto-quote-unknowns")))))
|
||||
110
shared/static/wasm/sx/signals.sxbc
Normal file
110
shared/static/wasm/sx/signals.sxbc
Normal file
@@ -0,0 +1,110 @@
|
||||
(sxbc 1 "1e908c466d2b8c22"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 52 5 0 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 50)
|
||||
:constants (
|
||||
"with-marsh-scope"
|
||||
(code :arity 2
|
||||
:bytecode (52 0 0 0 17 2 20 1 0 51 2 0 1 2 16 1 48 2 5 20 3 0 16 0 1 4 0 16 2 49 3 50)
|
||||
:constants (
|
||||
"list"
|
||||
"with-island-scope"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 16 0 49 2 50)
|
||||
:constants (
|
||||
"append!"))
|
||||
"dom-set-data"
|
||||
"sx-marsh-disposers"))
|
||||
"dispose-marsh-scope"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 33 24 0 51 3 0 16 1 52 2 0 2 5 20 4 0 16 0 1 1 0 2 49 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"dom-get-data"
|
||||
"sx-marsh-disposers"
|
||||
"for-each"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 2 49 2 50)
|
||||
:constants (
|
||||
"cek-call"))
|
||||
"dom-set-data"))
|
||||
"*store-registry*"
|
||||
"dict"
|
||||
"def-store"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 17 2 16 2 16 0 52 2 0 2 52 1 0 1 33 22 0 16 2 16 0 20 4 0 16 1 2 48 2 52 3 0 3 21 0 0 32 1 0 2 5 20 0 0 16 0 52 5 0 2 50)
|
||||
:constants (
|
||||
"*store-registry*"
|
||||
"not"
|
||||
"has-key?"
|
||||
"assoc"
|
||||
"cek-call"
|
||||
"get"))
|
||||
"use-store"
|
||||
(code :arity 1
|
||||
:bytecode (20 1 0 16 0 52 0 0 2 33 12 0 20 1 0 16 0 52 2 0 2 32 16 0 1 5 0 16 0 1 6 0 52 4 0 3 52 3 0 1 50)
|
||||
:constants (
|
||||
"has-key?"
|
||||
"*store-registry*"
|
||||
"get"
|
||||
"error"
|
||||
"str"
|
||||
"Store not found: "
|
||||
". Call (def-store ...) before (use-store ...)."))
|
||||
"clear-stores"
|
||||
(code
|
||||
:bytecode (52 0 0 0 21 1 0 50)
|
||||
:constants (
|
||||
"dict"
|
||||
"*store-registry*"))
|
||||
"emit-event"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 16 2 49 3 50)
|
||||
:constants (
|
||||
"dom-dispatch"))
|
||||
"on-event"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 16 1 16 2 49 3 50)
|
||||
:constants (
|
||||
"dom-on"))
|
||||
"bridge-event"
|
||||
(code :arity 4
|
||||
:bytecode (20 0 0 51 1 0 1 0 1 1 1 3 1 2 49 1 50)
|
||||
:constants (
|
||||
"effect"
|
||||
(code :upvalue-count 4
|
||||
:bytecode (20 0 0 18 0 18 1 51 1 0 0 2 0 3 48 3 17 0 16 0 50)
|
||||
:constants (
|
||||
"dom-on"
|
||||
(code :arity 1 :upvalue-count 2
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 18 0 33 16 0 20 1 0 18 0 16 1 52 2 0 1 48 2 32 2 0 16 1 17 2 20 3 0 18 1 16 2 49 2 50)
|
||||
:constants (
|
||||
"event-detail"
|
||||
"cek-call"
|
||||
"list"
|
||||
"reset!"))))))
|
||||
"resource"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 1 2 0 3 1 3 0 2 1 4 0 2 52 1 0 6 48 1 17 1 20 5 0 20 6 0 16 0 2 48 2 51 7 0 1 1 51 8 0 1 1 48 3 5 16 1 50)
|
||||
:constants (
|
||||
"signal"
|
||||
"dict"
|
||||
"loading"
|
||||
"data"
|
||||
"error"
|
||||
"promise-then"
|
||||
"cek-call"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 1 2 0 4 1 3 0 16 0 1 4 0 2 52 1 0 6 49 2 50)
|
||||
:constants (
|
||||
"reset!"
|
||||
"dict"
|
||||
"loading"
|
||||
"data"
|
||||
"error"))
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 1 2 0 4 1 3 0 2 1 4 0 16 0 52 1 0 6 49 2 50)
|
||||
:constants (
|
||||
"reset!"
|
||||
"dict"
|
||||
"loading"
|
||||
"data"
|
||||
"error")))))))
|
||||
483
shared/static/wasm/sx/vm.sxbc
Normal file
483
shared/static/wasm/sx/vm.sxbc
Normal file
@@ -0,0 +1,483 @@
|
||||
(sxbc 1 "3a8a55b66b6597f5"
|
||||
(code
|
||||
:bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 41 0 128 40 0 5 51 43 0 128 42 0 5 51 45 0 128 44 0 5 51 47 0 128 46 0 5 51 49 0 128 48 0 5 51 51 0 128 50 0 5 51 53 0 128 52 0 5 51 55 0 128 54 0 5 51 57 0 128 56 0 5 51 59 0 128 58 0 50)
|
||||
:constants (
|
||||
"make-upvalue-cell"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 16 0 65 1 0 50)
|
||||
:constants (
|
||||
"uv-value"))
|
||||
"uv-get"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 50)
|
||||
:constants (
|
||||
"get"
|
||||
"uv-value"))
|
||||
"uv-set!"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 16 1 52 0 0 3 50)
|
||||
:constants (
|
||||
"dict-set!"
|
||||
"uv-value"))
|
||||
"make-vm-code"
|
||||
(code :arity 4
|
||||
:bytecode (1 0 0 16 2 1 1 0 16 1 1 2 0 16 0 1 3 0 16 3 65 4 0 50)
|
||||
:constants (
|
||||
"vc-bytecode"
|
||||
"vc-locals"
|
||||
"vc-arity"
|
||||
"vc-constants"))
|
||||
"make-vm-closure"
|
||||
(code :arity 5
|
||||
:bytecode (1 0 0 16 3 1 1 0 16 1 1 2 0 16 2 1 3 0 16 0 1 4 0 16 4 65 5 0 50)
|
||||
:constants (
|
||||
"vm-globals"
|
||||
"vm-upvalues"
|
||||
"vm-name"
|
||||
"vm-code"
|
||||
"vm-closure-env"))
|
||||
"make-vm-frame"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 1 1 0 1 2 0 16 0 1 3 0 16 1 1 4 0 65 0 0 65 4 0 50)
|
||||
:constants (
|
||||
"ip"
|
||||
0
|
||||
"closure"
|
||||
"base"
|
||||
"local-cells"))
|
||||
"make-vm"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 1 1 0 1 2 0 52 3 0 0 1 4 0 1 6 0 52 5 0 1 1 7 0 16 0 65 4 0 50)
|
||||
:constants (
|
||||
"sp"
|
||||
0
|
||||
"frames"
|
||||
"list"
|
||||
"stack"
|
||||
"make-vm-stack"
|
||||
4096
|
||||
"globals"))
|
||||
"vm-push"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 2 16 0 1 2 0 52 0 0 2 17 3 16 2 16 3 52 4 0 1 52 3 0 2 33 45 0 16 2 1 7 0 52 6 0 2 52 5 0 1 17 4 16 3 16 4 16 2 52 8 0 3 5 16 0 1 2 0 16 4 52 9 0 3 5 16 4 17 3 32 1 0 2 5 16 3 16 2 16 1 52 10 0 3 5 16 0 1 1 0 16 2 1 12 0 52 11 0 2 52 9 0 3 50)
|
||||
:constants (
|
||||
"get"
|
||||
"sp"
|
||||
"stack"
|
||||
">="
|
||||
"vm-stack-length"
|
||||
"make-vm-stack"
|
||||
"*"
|
||||
2
|
||||
"vm-stack-copy!"
|
||||
"dict-set!"
|
||||
"vm-stack-set!"
|
||||
"+"
|
||||
1))
|
||||
"vm-pop"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 1 3 0 52 0 0 2 17 1 16 0 1 2 0 16 1 52 4 0 3 5 16 0 1 6 0 52 1 0 2 16 1 52 5 0 2 50)
|
||||
:constants (
|
||||
"-"
|
||||
"get"
|
||||
"sp"
|
||||
1
|
||||
"dict-set!"
|
||||
"vm-stack-get"
|
||||
"stack"))
|
||||
"vm-peek"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 2 0 52 1 0 2 16 0 1 4 0 52 1 0 2 1 5 0 52 3 0 2 52 0 0 2 50)
|
||||
:constants (
|
||||
"vm-stack-get"
|
||||
"get"
|
||||
"stack"
|
||||
"-"
|
||||
"sp"
|
||||
1))
|
||||
"frame-read-u8"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 1 1 0 52 0 0 2 17 1 16 0 1 2 0 52 0 0 2 1 3 0 52 0 0 2 1 4 0 52 0 0 2 17 2 16 2 16 1 52 5 0 2 17 3 16 0 1 1 0 16 1 1 8 0 52 7 0 2 52 6 0 3 5 16 3 50)
|
||||
:constants (
|
||||
"get"
|
||||
"ip"
|
||||
"closure"
|
||||
"vm-code"
|
||||
"vc-bytecode"
|
||||
"nth"
|
||||
"dict-set!"
|
||||
"+"
|
||||
1))
|
||||
"frame-read-u16"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 20 0 0 16 0 48 1 17 2 16 1 16 2 1 3 0 52 2 0 2 52 1 0 2 50)
|
||||
:constants (
|
||||
"frame-read-u8"
|
||||
"+"
|
||||
"*"
|
||||
256))
|
||||
"frame-read-i16"
|
||||
(code :arity 1
|
||||
:bytecode (20 0 0 16 0 48 1 17 1 16 1 1 2 0 52 1 0 2 33 12 0 16 1 1 4 0 52 3 0 2 32 2 0 16 1 50)
|
||||
:constants (
|
||||
"frame-read-u16"
|
||||
">="
|
||||
32768
|
||||
"-"
|
||||
65536))
|
||||
"vm-push-frame"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 1 16 0 1 2 0 52 1 0 2 48 2 17 3 51 4 0 1 0 16 2 52 3 0 2 5 16 2 52 5 0 1 17 4 16 1 1 6 0 52 1 0 2 1 7 0 52 1 0 2 17 5 16 5 16 4 52 8 0 2 17 6 16 6 1 10 0 52 9 0 2 33 26 0 1 10 0 17 7 51 11 0 1 7 1 6 1 0 1 8 17 8 5 16 8 48 0 32 1 0 2 5 16 0 1 13 0 16 3 16 0 1 13 0 52 1 0 2 52 14 0 2 52 12 0 3 50)
|
||||
:constants (
|
||||
"make-vm-frame"
|
||||
"get"
|
||||
"sp"
|
||||
"for-each"
|
||||
(code :arity 1 :upvalue-count 1
|
||||
:bytecode (20 0 0 18 0 16 0 49 2 50)
|
||||
:constants (
|
||||
"vm-push"))
|
||||
"len"
|
||||
"vm-code"
|
||||
"vc-locals"
|
||||
"-"
|
||||
">"
|
||||
0
|
||||
(code :upvalue-count 4
|
||||
:bytecode (18 0 18 1 52 0 0 2 33 28 0 20 1 0 18 2 2 48 2 5 18 0 1 3 0 52 2 0 2 19 0 5 18 3 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"vm-push"
|
||||
"+"
|
||||
1))
|
||||
"dict-set!"
|
||||
"frames"
|
||||
"cons"))
|
||||
"code-from-value"
|
||||
(code :arity 1
|
||||
:bytecode (1 0 0 5 16 0 52 2 0 1 52 1 0 1 33 22 0 20 3 0 1 4 0 1 5 0 52 6 0 0 52 6 0 0 49 4 32 112 0 16 0 1 8 0 52 7 0 2 17 1 16 1 52 9 0 1 33 7 0 52 6 0 0 32 2 0 16 1 17 2 16 0 1 10 0 52 7 0 2 17 3 16 3 52 9 0 1 33 7 0 52 6 0 0 32 2 0 16 3 17 4 16 0 1 11 0 52 7 0 2 17 5 16 5 52 9 0 1 33 6 0 1 4 0 32 2 0 16 5 17 6 20 3 0 16 6 16 6 1 5 0 52 12 0 2 16 2 16 4 49 4 50)
|
||||
:constants (
|
||||
"Convert a compiler output dict to a vm-code object."
|
||||
"not"
|
||||
"dict?"
|
||||
"make-vm-code"
|
||||
0
|
||||
16
|
||||
"list"
|
||||
"get"
|
||||
"bytecode"
|
||||
"nil?"
|
||||
"constants"
|
||||
"arity"
|
||||
"+"))
|
||||
"vm-closure?"
|
||||
(code :arity 1
|
||||
:bytecode (16 0 52 0 0 1 6 33 10 0 5 16 0 1 2 0 52 1 0 2 50)
|
||||
:constants (
|
||||
"dict?"
|
||||
"has-key?"
|
||||
"vm-code"))
|
||||
"vm-call"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 1 48 1 33 14 0 20 1 0 16 0 16 1 16 2 49 3 32 116 0 20 2 0 16 1 48 1 33 18 0 20 3 0 16 0 16 1 16 2 52 4 0 2 49 2 32 88 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 34 32 0 5 16 1 52 6 0 1 1 8 0 52 5 0 2 6 34 14 0 5 16 1 52 6 0 1 1 9 0 52 5 0 2 33 19 0 20 3 0 16 0 20 10 0 16 1 16 2 48 2 49 2 32 17 0 1 13 0 16 1 52 6 0 1 52 12 0 2 52 11 0 1 50)
|
||||
:constants (
|
||||
"vm-closure?"
|
||||
"vm-push-frame"
|
||||
"callable?"
|
||||
"vm-push"
|
||||
"apply"
|
||||
"="
|
||||
"type-of"
|
||||
"lambda"
|
||||
"component"
|
||||
"island"
|
||||
"cek-call"
|
||||
"error"
|
||||
"str"
|
||||
"VM: not callable: "))
|
||||
"frame-local-get"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 5 16 1 1 2 0 52 1 0 2 17 3 16 2 52 3 0 1 17 4 16 3 16 4 52 4 0 2 33 16 0 20 5 0 16 3 16 4 52 1 0 2 49 1 32 28 0 16 0 1 7 0 52 1 0 2 16 1 1 9 0 52 1 0 2 16 2 52 8 0 2 52 6 0 2 50)
|
||||
:constants (
|
||||
"Read a local variable — check shared cells first, then stack."
|
||||
"get"
|
||||
"local-cells"
|
||||
"str"
|
||||
"has-key?"
|
||||
"uv-get"
|
||||
"vm-stack-get"
|
||||
"stack"
|
||||
"+"
|
||||
"base"))
|
||||
"frame-local-set"
|
||||
(code :arity 4
|
||||
:bytecode (1 0 0 5 16 1 1 2 0 52 1 0 2 17 4 16 2 52 3 0 1 17 5 16 4 16 5 52 4 0 2 33 18 0 20 5 0 16 4 16 5 52 1 0 2 16 3 49 2 32 30 0 16 0 1 7 0 52 1 0 2 16 1 1 9 0 52 1 0 2 16 2 52 8 0 2 16 3 52 6 0 3 50)
|
||||
:constants (
|
||||
"Write a local variable — to shared cell if captured, else to stack."
|
||||
"get"
|
||||
"local-cells"
|
||||
"str"
|
||||
"has-key?"
|
||||
"uv-set!"
|
||||
"vm-stack-set!"
|
||||
"stack"
|
||||
"+"
|
||||
"base"))
|
||||
"frame-upvalue-get"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 1 3 0 52 2 0 2 1 4 0 52 2 0 2 16 1 52 1 0 2 49 1 50)
|
||||
:constants (
|
||||
"uv-get"
|
||||
"nth"
|
||||
"get"
|
||||
"closure"
|
||||
"vm-upvalues"))
|
||||
"frame-upvalue-set"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 0 1 3 0 52 2 0 2 1 4 0 52 2 0 2 16 1 52 1 0 2 16 2 49 2 50)
|
||||
:constants (
|
||||
"uv-set!"
|
||||
"nth"
|
||||
"get"
|
||||
"closure"
|
||||
"vm-upvalues"))
|
||||
"vm-global-get"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 5 16 0 1 2 0 52 1 0 2 17 3 16 3 16 2 52 3 0 2 33 11 0 16 3 16 2 52 1 0 2 32 67 0 16 1 1 4 0 52 1 0 2 1 5 0 52 1 0 2 17 4 16 4 52 6 0 1 33 9 0 16 2 52 7 0 1 32 31 0 20 8 0 16 4 16 2 48 2 17 5 16 5 52 6 0 1 33 9 0 16 2 52 7 0 1 32 2 0 16 5 50)
|
||||
:constants (
|
||||
"Look up a global: globals table → closure env chain → primitives."
|
||||
"get"
|
||||
"globals"
|
||||
"has-key?"
|
||||
"closure"
|
||||
"vm-closure-env"
|
||||
"nil?"
|
||||
"get-primitive"
|
||||
"env-walk"))
|
||||
"vm-global-set"
|
||||
(code :arity 4
|
||||
:bytecode (1 0 0 5 16 1 1 2 0 52 1 0 2 1 3 0 52 1 0 2 17 4 4 17 5 16 4 52 5 0 1 52 4 0 1 33 16 0 20 6 0 16 4 16 2 16 3 48 3 17 5 32 1 0 2 5 16 5 52 4 0 1 33 20 0 16 0 1 8 0 52 1 0 2 16 2 16 3 52 7 0 3 32 1 0 2 50)
|
||||
:constants (
|
||||
"Set a global: write to closure env if name exists there, else globals."
|
||||
"get"
|
||||
"closure"
|
||||
"vm-closure-env"
|
||||
"not"
|
||||
"nil?"
|
||||
"env-walk-set!"
|
||||
"dict-set!"
|
||||
"globals"))
|
||||
"env-walk"
|
||||
(code :arity 2
|
||||
:bytecode (16 0 52 0 0 1 33 4 0 2 32 55 0 20 1 0 16 0 16 1 48 2 33 12 0 20 2 0 16 0 16 1 49 2 32 31 0 20 3 0 16 0 48 1 17 2 16 2 52 0 0 1 33 4 0 2 32 9 0 20 4 0 16 2 16 1 49 2 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"env-has?"
|
||||
"env-get"
|
||||
"env-parent"
|
||||
"env-walk"))
|
||||
"env-walk-set!"
|
||||
(code :arity 3
|
||||
:bytecode (16 0 52 0 0 1 33 4 0 4 32 61 0 20 1 0 16 0 16 1 48 2 33 16 0 20 2 0 16 0 16 1 16 2 48 3 5 3 32 33 0 20 3 0 16 0 48 1 17 3 16 3 52 0 0 1 33 4 0 4 32 11 0 20 4 0 16 3 16 1 16 2 49 3 50)
|
||||
:constants (
|
||||
"nil?"
|
||||
"env-has?"
|
||||
"env-set!"
|
||||
"env-parent"
|
||||
"env-walk-set!"))
|
||||
"vm-create-closure"
|
||||
(code :arity 3
|
||||
:bytecode (1 0 0 5 20 1 0 16 2 48 1 17 3 16 2 52 2 0 1 33 31 0 16 2 1 4 0 52 3 0 2 17 5 16 5 52 5 0 1 33 6 0 1 6 0 32 2 0 16 5 32 3 0 1 6 0 17 4 52 7 0 0 17 6 1 6 0 17 7 51 8 0 1 7 1 4 1 1 1 0 1 6 1 8 17 8 5 16 8 48 0 5 16 6 17 5 20 9 0 16 3 16 5 2 16 0 1 10 0 52 3 0 2 2 49 5 50)
|
||||
:constants (
|
||||
"Create a closure from a code constant. Reads upvalue descriptors
|
||||
from the bytecode stream and captures values from the enclosing frame."
|
||||
"code-from-value"
|
||||
"dict?"
|
||||
"get"
|
||||
"upvalue-count"
|
||||
"nil?"
|
||||
0
|
||||
"list"
|
||||
(code :upvalue-count 6
|
||||
:bytecode (18 0 18 1 52 0 0 2 33 175 0 20 1 0 18 2 48 1 17 0 20 1 0 18 2 48 1 17 1 16 0 1 3 0 52 2 0 2 33 92 0 18 2 1 5 0 52 4 0 2 17 3 16 1 52 6 0 1 17 4 16 3 16 4 52 7 0 2 33 11 0 16 3 16 4 52 4 0 2 32 48 0 20 8 0 18 3 1 10 0 52 4 0 2 18 2 1 12 0 52 4 0 2 16 1 52 11 0 2 52 9 0 2 48 1 17 5 16 3 16 4 16 5 52 13 0 3 5 16 5 32 22 0 18 2 1 15 0 52 4 0 2 1 16 0 52 4 0 2 16 1 52 14 0 2 17 2 20 17 0 18 4 16 2 48 2 5 18 0 1 3 0 52 11 0 2 19 0 5 18 5 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"frame-read-u8"
|
||||
"="
|
||||
1
|
||||
"get"
|
||||
"local-cells"
|
||||
"str"
|
||||
"has-key?"
|
||||
"make-upvalue-cell"
|
||||
"vm-stack-get"
|
||||
"stack"
|
||||
"+"
|
||||
"base"
|
||||
"dict-set!"
|
||||
"nth"
|
||||
"closure"
|
||||
"vm-upvalues"
|
||||
"append!"))
|
||||
"make-vm-closure"
|
||||
"globals"))
|
||||
"vm-run"
|
||||
(code :arity 2
|
||||
:bytecode (1 0 0 5 51 1 0 1 0 1 1 17 1 5 16 1 49 0 50)
|
||||
:constants (
|
||||
"Execute bytecode until all frames are exhausted.
|
||||
VmClosure calls push new frames; the loop picks them up.
|
||||
OP_TAIL_CALL + VmClosure = true TCO: drop frame, push new, loop."
|
||||
(code :upvalue-count 2
|
||||
:bytecode (18 0 1 3 0 52 2 0 2 52 1 0 1 52 0 0 1 33 141 0 18 0 1 3 0 52 2 0 2 52 4 0 1 17 0 18 0 1 3 0 52 2 0 2 52 5 0 1 17 1 16 0 1 6 0 52 2 0 2 1 7 0 52 2 0 2 1 8 0 52 2 0 2 17 2 16 0 1 6 0 52 2 0 2 1 7 0 52 2 0 2 1 9 0 52 2 0 2 17 3 16 0 1 11 0 52 2 0 2 16 2 52 12 0 1 52 10 0 2 33 16 0 18 0 1 3 0 52 14 0 0 52 13 0 3 32 20 0 20 15 0 18 0 16 0 16 1 16 2 16 3 48 5 5 18 1 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"not"
|
||||
"empty?"
|
||||
"get"
|
||||
"frames"
|
||||
"first"
|
||||
"rest"
|
||||
"closure"
|
||||
"vm-code"
|
||||
"vc-bytecode"
|
||||
"vc-constants"
|
||||
">="
|
||||
"ip"
|
||||
"len"
|
||||
"dict-set!"
|
||||
"list"
|
||||
"vm-step"))))
|
||||
"vm-step"
|
||||
(code :arity 5
|
||||
:bytecode (20 0 0 16 1 48 1 17 5 16 5 1 2 0 52 1 0 2 33 27 0 20 3 0 16 1 48 1 17 6 20 4 0 16 0 16 4 16 6 52 5 0 2 49 2 32 109 7 16 5 1 6 0 52 1 0 2 33 11 0 20 4 0 16 0 2 49 2 32 86 7 16 5 1 7 0 52 1 0 2 33 11 0 20 4 0 16 0 3 49 2 32 63 7 16 5 1 8 0 52 1 0 2 33 11 0 20 4 0 16 0 4 49 2 32 40 7 16 5 1 9 0 52 1 0 2 33 10 0 20 10 0 16 0 49 1 32 18 7 16 5 1 11 0 52 1 0 2 33 17 0 20 4 0 16 0 20 12 0 16 0 48 1 49 2 32 245 6 16 5 1 13 0 52 1 0 2 33 30 0 20 0 0 16 1 48 1 17 6 20 4 0 16 0 20 14 0 16 0 16 1 16 6 48 3 49 2 32 203 6 16 5 1 15 0 52 1 0 2 33 30 0 20 0 0 16 1 48 1 17 6 20 16 0 16 0 16 1 16 6 20 12 0 16 0 48 1 49 4 32 161 6 16 5 1 17 0 52 1 0 2 33 28 0 20 0 0 16 1 48 1 17 6 20 4 0 16 0 20 18 0 16 1 16 6 48 2 49 2 32 121 6 16 5 1 19 0 52 1 0 2 33 28 0 20 0 0 16 1 48 1 17 6 20 20 0 16 1 16 6 20 12 0 16 0 48 1 49 3 32 81 6 16 5 1 21 0 52 1 0 2 33 40 0 20 3 0 16 1 48 1 17 6 16 4 16 6 52 5 0 2 17 7 20 4 0 16 0 20 22 0 16 0 16 1 16 7 48 3 49 2 32 29 6 16 5 1 23 0 52 1 0 2 33 40 0 20 3 0 16 1 48 1 17 6 16 4 16 6 52 5 0 2 17 7 20 24 0 16 0 16 1 16 7 20 12 0 16 0 48 1 49 4 32 233 5 16 5 1 25 0 52 1 0 2 33 36 0 20 26 0 16 1 48 1 17 6 16 1 1 28 0 16 1 1 28 0 52 30 0 2 16 6 52 29 0 2 52 27 0 3 32 185 5 16 5 1 31 0 52 1 0 2 33 58 0 20 26 0 16 1 48 1 17 6 20 10 0 16 0 48 1 17 7 16 7 52 32 0 1 33 27 0 16 1 1 28 0 16 1 1 28 0 52 30 0 2 16 6 52 29 0 2 52 27 0 3 32 1 0 2 32 115 5 16 5 1 33 0 52 1 0 2 33 54 0 20 26 0 16 1 48 1 17 6 20 10 0 16 0 48 1 17 7 16 7 33 27 0 16 1 1 28 0 16 1 1 28 0 52 30 0 2 16 6 52 29 0 2 52 27 0 3 32 1 0 2 32 49 5 16 5 1 34 0 52 1 0 2 33 64 0 20 0 0 16 1 48 1 17 6 52 35 0 0 17 7 1 36 0 17 8 51 37 0 1 8 1 6 1 7 1 0 1 9 17 9 5 16 9 48 0 5 20 10 0 16 0 48 1 17 10 20 38 0 16 0 16 10 16 7 49 3 32 229 4 16 5 1 39 0 52 1 0 2 33 95 0 20 0 0 16 1 48 1 17 6 52 35 0 0 17 7 1 36 0 17 8 51 37 0 1 8 1 6 1 7 1 0 1 9 17 9 5 16 9 48 0 5 20 10 0 16 0 48 1 17 10 16 0 1 40 0 16 2 52 27 0 3 5 16 0 1 41 0 16 1 1 42 0 52 30 0 2 52 27 0 3 5 20 38 0 16 0 16 10 16 7 49 3 32 122 4 16 5 1 43 0 52 1 0 2 33 52 0 20 10 0 16 0 48 1 17 6 16 0 1 40 0 16 2 52 27 0 3 5 16 0 1 41 0 16 1 1 42 0 52 30 0 2 52 27 0 3 5 20 4 0 16 0 16 6 49 2 32 58 4 16 5 1 44 0 52 1 0 2 33 44 0 20 3 0 16 1 48 1 17 6 16 4 16 6 52 5 0 2 17 7 20 45 0 16 0 16 1 16 7 48 3 17 8 20 4 0 16 0 16 8 49 2 32 2 4 16 5 1 46 0 52 1 0 2 33 78 0 20 3 0 16 1 48 1 17 6 20 0 0 16 1 48 1 17 7 16 4 16 6 52 5 0 2 17 8 52 35 0 0 17 9 1 36 0 17 10 51 37 0 1 10 1 7 1 9 1 0 1 11 17 11 5 16 11 48 0 5 20 4 0 16 0 16 8 16 9 52 47 0 2 49 2 32 168 3 16 5 1 48 0 52 1 0 2 33 53 0 20 3 0 16 1 48 1 17 6 52 35 0 0 17 7 1 36 0 17 8 51 37 0 1 8 1 6 1 7 1 0 1 9 17 9 5 16 9 48 0 5 20 4 0 16 0 16 7 49 2 32 103 3 16 5 1 49 0 52 1 0 2 33 52 0 20 3 0 16 1 48 1 17 6 65 0 0 17 7 1 36 0 17 8 51 50 0 1 8 1 6 1 0 1 7 1 9 17 9 5 16 9 48 0 5 20 4 0 16 0 16 7 49 2 32 39 3 16 5 1 51 0 52 1 0 2 33 60 0 20 0 0 16 1 48 1 17 6 52 35 0 0 17 7 1 36 0 17 8 51 37 0 1 8 1 6 1 7 1 0 1 9 17 9 5 16 9 48 0 5 20 4 0 16 0 20 53 0 16 7 52 52 0 2 49 2 32 223 2 16 5 1 54 0 52 1 0 2 33 44 0 20 3 0 16 1 48 1 17 6 16 4 16 6 52 5 0 2 17 7 16 0 1 55 0 52 30 0 2 16 7 20 12 0 16 0 48 1 52 27 0 3 32 167 2 16 5 1 56 0 52 1 0 2 33 36 0 20 10 0 16 0 48 1 17 6 20 10 0 16 0 48 1 17 7 20 4 0 16 0 16 7 16 6 52 29 0 2 49 2 32 119 2 16 5 1 57 0 52 1 0 2 33 36 0 20 10 0 16 0 48 1 17 6 20 10 0 16 0 48 1 17 7 20 4 0 16 0 16 7 16 6 52 58 0 2 49 2 32 71 2 16 5 1 59 0 52 1 0 2 33 36 0 20 10 0 16 0 48 1 17 6 20 10 0 16 0 48 1 17 7 20 4 0 16 0 16 7 16 6 52 60 0 2 49 2 32 23 2 16 5 1 61 0 52 1 0 2 33 36 0 20 10 0 16 0 48 1 17 6 20 10 0 16 0 48 1 17 7 20 4 0 16 0 16 7 16 6 52 62 0 2 49 2 32 231 1 16 5 1 63 0 52 1 0 2 33 36 0 20 10 0 16 0 48 1 17 6 20 10 0 16 0 48 1 17 7 20 4 0 16 0 16 7 16 6 52 1 0 2 49 2 32 183 1 16 5 1 64 0 52 1 0 2 33 36 0 20 10 0 16 0 48 1 17 6 20 10 0 16 0 48 1 17 7 20 4 0 16 0 16 7 16 6 52 65 0 2 49 2 32 135 1 16 5 1 66 0 52 1 0 2 33 36 0 20 10 0 16 0 48 1 17 6 20 10 0 16 0 48 1 17 7 20 4 0 16 0 16 7 16 6 52 67 0 2 49 2 32 87 1 16 5 1 68 0 52 1 0 2 33 21 0 20 4 0 16 0 20 10 0 16 0 48 1 52 32 0 1 49 2 32 54 1 16 5 1 69 0 52 1 0 2 33 21 0 20 4 0 16 0 20 10 0 16 0 48 1 52 70 0 1 49 2 32 21 1 16 5 1 71 0 52 1 0 2 33 21 0 20 4 0 16 0 20 10 0 16 0 48 1 52 72 0 1 49 2 32 244 0 16 5 1 73 0 52 1 0 2 33 21 0 20 4 0 16 0 20 10 0 16 0 48 1 52 74 0 1 49 2 32 211 0 16 5 1 75 0 52 1 0 2 33 36 0 20 10 0 16 0 48 1 17 6 20 10 0 16 0 48 1 17 7 20 4 0 16 0 16 7 16 6 52 5 0 2 49 2 32 163 0 16 5 1 76 0 52 1 0 2 33 36 0 20 10 0 16 0 48 1 17 6 20 10 0 16 0 48 1 17 7 20 4 0 16 0 16 7 16 6 52 77 0 2 49 2 32 115 0 16 5 1 78 0 52 1 0 2 33 24 0 20 4 0 16 0 1 36 0 20 10 0 16 0 48 1 52 58 0 2 49 2 32 79 0 16 5 1 79 0 52 1 0 2 33 21 0 20 4 0 16 0 20 10 0 16 0 48 1 52 80 0 1 49 2 32 46 0 16 5 1 81 0 52 1 0 2 33 21 0 20 4 0 16 0 20 10 0 16 0 48 1 52 82 0 1 49 2 32 13 0 1 84 0 16 5 52 53 0 2 52 83 0 1 50)
|
||||
:constants (
|
||||
"frame-read-u8"
|
||||
"="
|
||||
1
|
||||
"frame-read-u16"
|
||||
"vm-push"
|
||||
"nth"
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
"vm-pop"
|
||||
6
|
||||
"vm-peek"
|
||||
16
|
||||
"frame-local-get"
|
||||
17
|
||||
"frame-local-set"
|
||||
18
|
||||
"frame-upvalue-get"
|
||||
19
|
||||
"frame-upvalue-set"
|
||||
20
|
||||
"vm-global-get"
|
||||
21
|
||||
"vm-global-set"
|
||||
32
|
||||
"frame-read-i16"
|
||||
"dict-set!"
|
||||
"ip"
|
||||
"+"
|
||||
"get"
|
||||
33
|
||||
"not"
|
||||
34
|
||||
48
|
||||
"list"
|
||||
0
|
||||
(code :upvalue-count 5
|
||||
:bytecode (18 0 18 1 52 0 0 2 33 35 0 20 2 0 18 3 48 1 18 2 52 1 0 2 19 2 5 18 0 1 4 0 52 3 0 2 19 0 5 18 4 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"cons"
|
||||
"vm-pop"
|
||||
"+"
|
||||
1))
|
||||
"vm-call"
|
||||
49
|
||||
"frames"
|
||||
"sp"
|
||||
"base"
|
||||
50
|
||||
51
|
||||
"vm-create-closure"
|
||||
52
|
||||
"call-primitive"
|
||||
64
|
||||
65
|
||||
(code :upvalue-count 5
|
||||
:bytecode (18 0 18 1 52 0 0 2 33 48 0 20 1 0 18 2 48 1 17 0 20 1 0 18 2 48 1 17 1 18 3 16 1 16 0 52 2 0 3 5 18 0 1 4 0 52 3 0 2 19 0 5 18 4 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"vm-pop"
|
||||
"dict-set!"
|
||||
"+"
|
||||
1))
|
||||
144
|
||||
"apply"
|
||||
"str"
|
||||
128
|
||||
"globals"
|
||||
160
|
||||
161
|
||||
"-"
|
||||
162
|
||||
"*"
|
||||
163
|
||||
"/"
|
||||
164
|
||||
165
|
||||
"<"
|
||||
166
|
||||
">"
|
||||
167
|
||||
168
|
||||
"len"
|
||||
169
|
||||
"first"
|
||||
170
|
||||
"rest"
|
||||
171
|
||||
172
|
||||
"cons"
|
||||
173
|
||||
174
|
||||
"inc"
|
||||
175
|
||||
"dec"
|
||||
"error"
|
||||
"VM: unknown opcode "))
|
||||
"vm-call-closure"
|
||||
(code :arity 3
|
||||
:bytecode (20 0 0 16 2 48 1 17 3 20 1 0 16 3 16 0 16 1 48 3 5 20 2 0 16 3 48 1 5 20 3 0 16 3 49 1 50)
|
||||
:constants (
|
||||
"make-vm"
|
||||
"vm-push-frame"
|
||||
"vm-run"
|
||||
"vm-pop"))
|
||||
"vm-execute-module"
|
||||
(code :arity 2
|
||||
:bytecode (20 0 0 16 0 52 1 0 0 1 2 0 16 1 2 48 5 17 2 20 3 0 16 1 48 1 17 3 20 4 0 16 2 1 5 0 48 2 17 4 1 5 0 17 5 16 0 1 7 0 52 6 0 2 17 6 51 8 0 1 5 1 6 1 3 1 7 17 7 5 16 7 48 0 5 16 3 1 10 0 16 4 52 1 0 1 52 9 0 3 5 20 11 0 16 3 48 1 5 20 12 0 16 3 49 1 50)
|
||||
:constants (
|
||||
"make-vm-closure"
|
||||
"list"
|
||||
"module"
|
||||
"make-vm"
|
||||
"make-vm-frame"
|
||||
0
|
||||
"get"
|
||||
"vc-locals"
|
||||
(code :upvalue-count 4
|
||||
:bytecode (18 0 18 1 52 0 0 2 33 28 0 20 1 0 18 2 2 48 2 5 18 0 1 3 0 52 2 0 2 19 0 5 18 3 49 0 32 1 0 2 50)
|
||||
:constants (
|
||||
"<"
|
||||
"vm-push"
|
||||
"+"
|
||||
1))
|
||||
"dict-set!"
|
||||
"frames"
|
||||
"vm-run"
|
||||
"vm-pop")))))
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user