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
cd014cdb29
js-on-sx: Function.prototype call/apply/bind/toString delegate to real impl
Test, Build, and Deploy / test-build-deploy (push) Failing after 21s
2026-05-09 12:36:48 +00:00
adc4cb89c6
js-on-sx: fn proto chain walks through functions; fn.prototype = X persists
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
2026-05-09 12:07:34 +00:00
4481f5f98b
js-on-sx: call/apply substitute global for null/undefined this (non-strict)
Test, Build, and Deploy / test-build-deploy (push) Failing after 28s
2026-05-09 11:33:23 +00:00
b59f08a1b8
js-on-sx: expose more built-ins on js-global (Function, Errors, Promise, etc.)
Test, Build, and Deploy / test-build-deploy (push) Failing after 43s
2026-05-09 10:58:38 +00:00
3e8aae77d5
js-on-sx: expression statements support comma operator
Test, Build, and Deploy / test-build-deploy (push) Failing after 43s
2026-05-09 10:19:24 +00:00
d145532afe
js-on-sx: instanceof accepts function operands (fn instanceof Function/Object)
Test, Build, and Deploy / test-build-deploy (push) Failing after 44s
2026-05-09 09:44:48 +00:00
86f7a351fb
js-on-sx: relational ops ToPrimitive operands + NaN-safe le/ge
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s
2026-05-09 09:13:06 +00:00
e4c92a19d4
js-on-sx: Error/TypeError/etc return instance when called without new
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
2026-05-09 08:35:11 +00:00
21d0be58ec
js-on-sx: typeof <ident> returns "undefined" for unresolvable references
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
2026-05-09 08:04:21 +00:00
5632830118
js-on-sx: js-loose-eq honours NaN inequality across numeric/string paths
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
2026-05-09 07:33:03 +00:00
dcde14a471
js-on-sx: lexer treats } as ending regex context
Test, Build, and Deploy / test-build-deploy (push) Failing after 21s
2026-05-09 07:01:11 +00:00
cb272317bc
js-on-sx: js-to-number returns NaN for functions, coerces lists
Test, Build, and Deploy / test-build-deploy (push) Failing after 21s
2026-05-09 06:29:06 +00:00
013ce15357
js-on-sx: js-add ToPrimitive's Date and plain Objects via valueOf/toString
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
2026-05-09 05:56:01 +00:00
76d6528c51
js-on-sx: js-add unwraps wrapper objects before string-concat decision
Test, Build, and Deploy / test-build-deploy (push) Failing after 20s
2026-05-09 05:25:06 +00:00
41dbac55b8
js-on-sx: rational handling in typeof/to-string/strict-eq/loose-eq
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
2026-05-09 04:53:11 +00:00
9bf4bd6180
js-on-sx: js-to-number coerces SX rationals via exact->inexact
Test, Build, and Deploy / test-build-deploy (push) Failing after 34s
2026-05-09 04:19:51 +00:00
141795449a
js-on-sx: parseFloat/parseInt return NaN for digitless prefix
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
2026-05-09 03:42:47 +00:00
a6793fa656
js-on-sx: parseFloat recognises Infinity prefix
Test, Build, and Deploy / test-build-deploy (push) Failing after 21s
2026-05-09 03:13:21 +00:00
e5709c5aec
js-on-sx: lexer rejects bare backslash in source
Test, Build, and Deploy / test-build-deploy (push) Failing after 38s
2026-05-09 02:41:58 +00:00
0b7d88bbe1
js-on-sx: map js-transpile-* errors to SyntaxError in negative-test classifier
Test, Build, and Deploy / test-build-deploy (push) Failing after 20s
2026-05-09 02:01:41 +00:00
b57f40db63
js-on-sx: getOwnPropertyDescriptor handles arrays + strings
Test, Build, and Deploy / test-build-deploy (push) Failing after 21s
2026-05-09 01:32:39 +00:00
c8ab505c32
js-on-sx: fix RegExp test/exec calling nil when platform impl missing
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s
2026-05-09 01:01:39 +00:00
7c63fd8a7f
js-on-sx: RegExp constructor wraps existing regex stub
Test, Build, and Deploy / test-build-deploy (push) Failing after 21s
2026-05-09 00:24:45 +00:00
c45a2b34a0
js-on-sx: js-is-space? covers full ES WhiteSpace + LineTerminator set
Test, Build, and Deploy / test-build-deploy (push) Failing after 49s
2026-05-08 23:52:44 +00:00
20997d3360
js-on-sx: NativeError prototype chain + [object Error/Date/Map/Set] brands
Test, Build, and Deploy / test-build-deploy (push) Failing after 49s
2026-05-08 23:08:01 +00:00
a1030dce5d
js-on-sx: object literal __proto__ + try/catch error wrapping
Test, Build, and Deploy / test-build-deploy (push) Failing after 36s
2026-05-08 22:13:17 +00:00
0d9c45176b
js-on-sx: Date constructor + prototype stubs
Test, Build, and Deploy / test-build-deploy (push) Failing after 36s
2026-05-08 21:30:36 +00:00
d8b8de6195
js-on-sx: Error.isError + [[ErrorData]] slot + verifyEqualTo
Test, Build, and Deploy / test-build-deploy (push) Failing after 37s
2026-05-08 20:55:13 +00:00
ecae58316f
js-on-sx: harness $DONE/asyncTest/checkSequence stubs
Test, Build, and Deploy / test-build-deploy (push) Failing after 33s
2026-05-08 20:11:34 +00:00
1bff28e99e
js-on-sx: Map and Set constructors with prototype methods
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
2026-05-08 19:40:30 +00:00
5b501f7937
js-on-sx: decodeURI/decodeURIComponent + harness decimalToHexString
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
2026-05-08 19:02:44 +00:00
0d99b5dfe8
js-on-sx: object computed keys + insertion-order tracking
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
2026-05-08 18:16:32 +00:00
a8d0dfb38a
js-on-sx: bitwise ops & | ^ << >> (+ compound assigns)
Test, Build, and Deploy / test-build-deploy (push) Failing after 46s
2026-05-08 17:10:57 +00:00
ee422f3d15
js-on-sx: Function constructor compiles + evaluates JS source
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 30s
Was unconditionally throwing "Function constructor not supported".
Now js-function-ctor joins param strings with commas, wraps the
body in (function(<params>){<body>}), and runs it through js-eval.
Now Function('a', 'b', 'return a + b')(3,4) === 7.
built-ins/Function: 0/14 → 4/14. conformance.sh: 148/148.
2026-05-08 16:02:14 +00:00
f0dffd275d
js-on-sx: arguments object + Array.from mapFn calling convention
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
Three related fixes:
1. Every JS function body binds arguments to (cons p1 ... __extra_args__),
so arguments[k] and arguments.length work as expected.
2. Array.from(iter, mapFn) invokes mapFn through js-call-with-this
with the index as second arg (was (map-fn x), missing index and
inheriting outer this).
3. thisArg defaults to js-global-this when omitted (per non-strict ES).
conformance.sh: 148/148.
2026-05-08 15:31:33 +00:00
47e68454ad
js-on-sx: String(arr) honours Array.prototype.toString overrides
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 48s
Was always emitting comma-joined via js-list-join, so user
mutations of Array.prototype.toString had no effect on String(arr)
/ "" + arr. Now look up the override via js-dict-get-walk and call
it on the list as this; fall back to (js-list-join v ",") when the
override doesn't return a string.
String fail count: 11 → 9. conformance.sh: 148/148.
2026-05-08 14:46:35 +00:00
0b4f5e1df9
js-on-sx: top-level this resolves to the global object
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 15s
Per ES non-strict script semantics, top-level this is the global
object (window/global/globalThis). Was throwing "Undefined symbol:
this". Two-part fix:
1. js-global-this runtime variable set to js-global after globals
are defined; js-this falls back to it when no this is active.
2. js-eval wraps transpiled body in (let ((this (js-this))) ...)
so JS this resolves to bound this, or top-level to global.
Fixes String(this), this.Object === Object, etc.
built-ins/Object: 46/50 → 47/50. conformance.sh: 148/148.
2026-05-08 13:55:12 +00:00
4ab79f5758
js-on-sx: parser handles comma operator (a, b, c)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 48s
Was failing with "Expected punct ')' got punct ','" because the
paren handler only consumed a single assignment. Added
jp-parse-comma-seq helpers that build a js-comma AST node with
the expression list; transpiler emits (begin ...) so each is
evaluated in order and the last value is returned.
built-ins/Object: 44/50 → 46/50. conformance.sh: 148/148.
2026-05-08 13:20:53 +00:00
b7627b4102
js-on-sx: ToPrimitive treats functions as non-primitive
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 21s
Per ES, ToPrimitive only accepts strings/numbers/booleans/null
/undefined as primitives — objects AND functions trigger the next
step. Was treating function returns from toString/valueOf as
primitives (recursing to extract a string), so toString returning
a function didn't fall through to valueOf. Widened the dict-only
check to (or (= type "dict") (js-function? result)) in both
js-to-string and js-to-number ToPrimitive paths.
built-ins/String: 85/99 → 86/99. conformance.sh: 148/148.
2026-05-08 12:50:40 +00:00
d51ae65bbb
js-on-sx: fn.toString honours Function.prototype.toString overrides
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
Two hardcoded paths returned the native marker regardless of user
override: js-invoke-function-method and the lambda branch of
js-to-string. Both now look up Function.prototype.toString via
js-dict-get-walk and invoke it on the function, falling back to
the native marker only if no override exists.
built-ins/String: 84/99 → 85/99. conformance.sh: 148/148.
2026-05-08 12:07:55 +00:00