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>
51 KiB
51 KiB