giles
c641b445f8
Fix: local bindings now shadow HTML tag special forms in browser evaluator
...
Root cause: sx_browser.ml registered all HTML tags (a, b, i, p, s, u, g, etc.)
as custom special forms. The evaluator's step_eval_list checked custom special
forms BEFORE checking local env bindings. So (let ((a (fn () 42))) (a))
matched the HTML tag <a> instead of calling the local function a.
Fix: skip custom special forms AND render-check when the symbol is bound in
the local env. Added (not (env-has? env name)) guard to both checks in
step-eval-list (spec/evaluator.sx and transpiled sx_ref.ml).
This was the root cause of "[sx] resume: Not callable: nil" — after hs-wait
resumed, calling letrec-bound functions like wait-boot (which is not an HTML
tag) worked, but any function whose name collided with an HTML tag failed.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-17 12:53:09 +00:00
..
2026-04-13 08:26:48 +00:00
2026-04-17 12:53:09 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 12:18:41 +00:00
2026-04-11 08:52:36 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 12:18:41 +00:00
2026-04-11 08:52:36 +00:00
2026-04-01 23:19:25 +00:00
2026-04-16 22:15:55 +00:00
2026-04-17 12:53:09 +00:00
2026-04-01 23:19:25 +00:00
2026-04-16 14:00:12 +00:00
2026-04-17 12:53:09 +00:00
2026-04-01 23:19:25 +00:00
2026-04-16 17:08:01 +00:00
2026-04-17 12:53:09 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 00:08:00 +00:00
2026-04-04 17:11:12 +00:00
2026-04-01 23:19:25 +00:00
2026-04-12 08:41:38 +00:00
2026-04-12 08:41:38 +00:00
2026-04-01 23:19:25 +00:00
2026-04-11 12:49:57 +00:00
2026-04-11 12:49:57 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 22:52:41 +00:00
2026-04-05 21:18:14 +00:00
2026-04-01 23:19:25 +00:00
2026-04-16 17:08:01 +00:00
2026-04-17 12:53:09 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 21:31:17 +00:00
2026-04-11 08:52:36 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 22:52:41 +00:00
2026-04-05 13:28:17 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 12:18:41 +00:00
2026-04-05 14:38:28 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 12:18:41 +00:00
2026-04-04 17:11:12 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 00:08:00 +00:00
2026-04-08 21:44:58 +00:00
2026-04-01 23:19:25 +00:00
2026-04-05 11:05:17 +00:00
2026-04-16 21:33:55 +00:00
2026-04-17 12:53:09 +00:00
2026-04-15 11:56:15 +00:00
2026-04-15 11:56:15 +00:00
2026-04-09 19:59:04 +00:00
2026-04-17 12:53:09 +00:00
2026-04-16 21:33:55 +00:00
2026-04-17 12:53:09 +00:00
2026-04-16 21:33:55 +00:00
2026-04-17 12:53:09 +00:00
2026-04-16 17:08:01 +00:00
2026-04-16 17:08:01 +00:00
2026-04-04 12:18:41 +00:00
2026-04-04 17:11:12 +00:00
2026-04-01 23:19:25 +00:00
2026-04-17 12:53:09 +00:00
2026-04-16 17:08:01 +00:00
2026-04-15 11:56:15 +00:00
2026-04-17 12:53:09 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 00:08:00 +00:00
2026-04-04 17:11:12 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 00:08:00 +00:00
2026-04-04 17:11:12 +00:00
2026-04-01 23:19:25 +00:00
2026-04-05 21:18:14 +00:00
2026-04-08 21:44:58 +00:00
2026-04-01 23:19:25 +00:00
2026-04-04 12:18:41 +00:00
2026-04-11 08:52:36 +00:00
2026-04-01 23:19:25 +00:00
2026-04-12 18:31:34 +00:00
2026-04-12 18:31:34 +00:00
2026-04-02 11:31:57 +00:00
2026-04-02 11:31:57 +00:00
2026-04-16 17:08:01 +00:00
2026-04-02 11:31:57 +00:00
2026-04-02 11:31:57 +00:00
2026-04-16 17:08:01 +00:00
2026-04-02 09:37:58 +00:00
2026-04-08 21:44:58 +00:00
2026-04-16 17:08:01 +00:00
2026-04-08 21:44:58 +00:00
2026-04-08 21:44:58 +00:00
2026-04-01 23:19:25 +00:00