a7665a7b25
js-on-sx: js-display filter to format JS values without leaking internals
...
The OCaml epoch-protocol printer serializes raw SX dicts. JS object literals
now carry __proto__ / __js_order__ bookkeeping that points into Object.prototype,
a complex dict containing lambdas that close over Object — the printer
recurses indefinitely and hangs.
js-display walks the value once, dropping any dict key that matches the
__name__ dunder convention. js-eval calls it on its return value so the
output is the user-facing shape only. Restores 587/593 passing (up from
191/593 post-merge and 492/585 pre-merge) — the surviving 6 failures are
legitimate pre-existing test mismatches (illegal return/break/continue,
parseFloat float vs rational, escaped backtick).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 08:38:47 +00:00
480462646d
Merge loops/js into architecture: var hoisting + ASI + matchAll on top of regex engine / TDZ scaffolding
...
Combined arch's regex platform dispatch (runtime.sx) with loops/js's var-hoisting transpiler
(transpile.sx) and matchAll string method. Plan checkboxes updated to reflect both done.
Conflicts: lib/js/runtime.sx, lib/js/transpile.sx, lib/js/test.sh, plans/js-on-sx.md.
2026-05-12 20:47:05 +00:00
154e2297fe
js-on-sx: fix js-string-repeat arity collision, repeat() raises RangeError on neg/inf
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
2026-05-11 05:55:51 +00:00
7c229eb321
js-on-sx: runner inlines small upstream harness includes per-test (allowlisted)
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
2026-05-10 17:30:23 +00:00
01d0e97706
js-on-sx: real Date prototype setters (setFullYear/Month/Date/Hours/Minutes/Seconds/Milliseconds)
Test, Build, and Deploy / test-build-deploy (push) Failing after 25s
2026-05-10 16:29:22 +00:00
a8596bd090
js-on-sx: Object.assign uses js-set-prop so keys appear in __js_order__
Test, Build, and Deploy / test-build-deploy (push) Failing after 25s
2026-05-10 15:37:15 +00:00
9d364a0c20
js-on-sx: user function prototype chain links Object.prototype + sets constructor
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
2026-05-10 14:52:49 +00:00
dfb660073e
js-on-sx: ASI rejects postfix ++/-- after LineTerminator
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
2026-05-10 14:15:56 +00:00
7f5b77415f
js-on-sx: SyntaxError on let/const/function/class as single-stmt body of if/while/for/labeled
Test, Build, and Deploy / test-build-deploy (push) Failing after 25s
2026-05-10 13:43:47 +00:00
29a3fb4bc2
js-on-sx: parse-time SyntaxError on illegal break/continue/return; void evaluates expr
Test, Build, and Deploy / test-build-deploy (push) Failing after 25s
2026-05-10 13:07:43 +00:00
019a0c6105
js-on-sx: Math.hypot and Math.cbrt honour NaN/Infinity/+-0 edges
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
2026-05-10 12:32:14 +00:00
1e29bba1be
js-on-sx: globalThis self-ref, toFixed range + 1e21 fallback
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
2026-05-10 12:01:14 +00:00
0142d69212
js-on-sx: delete <ident> returns false per non-strict spec
Test, Build, and Deploy / test-build-deploy (push) Failing after 27s
2026-05-10 11:20:24 +00:00
e93e1eeab1
js-on-sx: reject unary-op directly before ** per spec (parens still allowed)
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
2026-05-10 10:47:56 +00:00
551c24c5a0
js-on-sx: Math.round/max/min spec edges (NaN, +/-Infinity, +/-0)
Test, Build, and Deploy / test-build-deploy (push) Failing after 29s
2026-05-10 10:17:12 +00:00
85414df868
js-on-sx: Map/Set prototype methods throw TypeError on non-Map/Set this
Test, Build, and Deploy / test-build-deploy (push) Failing after 19s
2026-05-10 09:31:52 +00:00
237ea5ce84
js-on-sx: Date.UTC and new Date propagate NaN/Infinity args
Test, Build, and Deploy / test-build-deploy (push) Failing after 4m20s
2026-05-10 09:03:42 +00:00
df4aa8eb0a
js-on-sx: real Date construction + getters via Howard-Hinnant civil arithmetic
Test, Build, and Deploy / test-build-deploy (push) Failing after 27s
2026-05-10 08:33:22 +00:00
5bb65d8315
js-on-sx: Date.prototype.toISOString proper YMDhms format + Type/RangeError gates
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
2026-05-10 07:39:40 +00:00
fb8bb9f105
js-on-sx: JSON.stringify replacer (fn+array), space, toJSON
Test, Build, and Deploy / test-build-deploy (push) Failing after 43s
2026-05-10 07:04:14 +00:00
769559bae7
js-on-sx: JSON.parse raises SyntaxError, rejects trailing content + control chars
Test, Build, and Deploy / test-build-deploy (push) Failing after 43s
2026-05-10 06:32:11 +00:00
836b31a5b6
js-on-sx: arguments object is a mutable list copy
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
2026-05-10 05:56:33 +00:00
d7cc6d1b39
js-on-sx: split(undefined) returns whole string, funcexpr implicit return is undefined
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
2026-05-10 04:56:02 +00:00
df5e36aa5e
js-on-sx: number/boolean method dispatch falls back to Number/Boolean.prototype
Test, Build, and Deploy / test-build-deploy (push) Failing after 40s
2026-05-10 04:18:20 +00:00
8a06c2d72b
js-on-sx: String.prototype.* ToString-coerces non-string this; .call/.apply skip global-coerce for built-ins
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
2026-05-10 03:45:25 +00:00
058dcd5600
js-on-sx: ** / Math.pow spec edges (NaN exp, abs(base)=1+inf), Number.valueOf ignores args
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s
2026-05-10 03:01:02 +00:00
1a34cc4456
js-on-sx: Number.prototype.toString(radix) avoids rational div-by-zero
Test, Build, and Deploy / test-build-deploy (push) Failing after 43s
2026-05-10 02:23:38 +00:00
ad897122d7
js-on-sx: array elision, list-instanceof-Array, array toString identity
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
2026-05-10 01:27:33 +00:00
ce067e32a4
js-on-sx: getOwnPropertyDescriptor skips internal __proto__/__js_order__
Test, Build, and Deploy / test-build-deploy (push) Failing after 28s
2026-05-10 00:13:08 +00:00
25b30788b4
js-on-sx: object literal spread {...src}
Test, Build, and Deploy / test-build-deploy (push) Failing after 31s
2026-05-09 23:42:13 +00:00
f15a8d8fef
js-on-sx: Object.getOwnPropertyNames throws on null, adds length for str/arr
Test, Build, and Deploy / test-build-deploy (push) Failing after 39s
2026-05-09 23:12:43 +00:00
b4f7f814be
js-on-sx: Object.values/entries throw on null/undefined, walk strings
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s
2026-05-09 22:42:24 +00:00
dedb82565b
js-on-sx: Object.keys throws on null/undefined, walks indices on string/array
Test, Build, and Deploy / test-build-deploy (push) Failing after 20s
2026-05-09 22:12:05 +00:00
7d575cb1fe
js-on-sx: Object.assign ToObjects target, throws on null, walks string sources
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
2026-05-09 21:42:15 +00:00
793eccfce2
js-on-sx: Number.prototype methods unwrap Number wrappers, TypeError on non-Number
Test, Build, and Deploy / test-build-deploy (push) Failing after 25s
2026-05-09 21:09:56 +00:00
ada7a147e5
js-on-sx: Array.prototype methods carry spec lengths + names
Test, Build, and Deploy / test-build-deploy (push) Failing after 25s
2026-05-09 20:41:10 +00:00
65f3b6fcc0
js-on-sx: Number/String.prototype methods carry spec lengths + names
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s
2026-05-09 20:12:41 +00:00
f256132eb3
js-on-sx: Boolean.prototype.toString/valueOf throw TypeError on non-Boolean
Test, Build, and Deploy / test-build-deploy (push) Failing after 21s
2026-05-09 19:41:24 +00:00
d4be87166b
js-on-sx: reduce/reduceRight callback receives (acc, cur, idx, array)
Test, Build, and Deploy / test-build-deploy (push) Failing after 27s
2026-05-09 19:13:12 +00:00
0655b942a5
js-on-sx: Array.prototype find/findIndex/some/every honour thisArg + (v,i,arr)
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
2026-05-09 18:42:20 +00:00
1fef6ec94d
js-on-sx: Array.prototype forEach/map/filter honour thisArg + pass (v,i,arr)
Test, Build, and Deploy / test-build-deploy (push) Failing after 39s
2026-05-09 18:08:33 +00:00
87bf3711c4
js-on-sx: Map/Set.prototype.forEach honour thisArg + pass (v,k,coll)
Test, Build, and Deploy / test-build-deploy (push) Failing after 40s
2026-05-09 17:33:29 +00:00
8ae7187c55
js-on-sx: for-in walks proto chain with shadowing, stops at native prototypes
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
2026-05-09 17:01:31 +00:00
3d821d1290
js-on-sx: parser accepts labels (drops label) + optional ident on break/continue
Test, Build, and Deploy / test-build-deploy (push) Failing after 27s
2026-05-09 16:31:20 +00:00
d1482482ff
js-on-sx: new function(){}(args) parses; new with spread args works
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s
2026-05-09 15:50:28 +00:00
72be94c900
js-on-sx: parser accepts new <literal>; runtime throws TypeError
Test, Build, and Deploy / test-build-deploy (push) Failing after 44s
2026-05-09 15:18:42 +00:00
7fc37abe02
js-on-sx: bind returns dict-with-__callable__ for property mutation + length
Test, Build, and Deploy / test-build-deploy (push) Failing after 47s
2026-05-09 14:47:54 +00:00
802544fdc6
js-on-sx: call/apply box primitive thisArg per non-strict ToObject
Test, Build, and Deploy / test-build-deploy (push) Failing after 48s
2026-05-09 14:13:57 +00:00
699b30ed1b
js-on-sx: Function.prototype.bind throws TypeError on non-callable target
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
2026-05-09 13:41:25 +00:00
16e21ef6fa
js-on-sx: Function.prototype.{call,apply,bind,toString} expose spec length/name
Test, Build, and Deploy / test-build-deploy (push) Failing after 47s
2026-05-09 13:09:11 +00:00