2 days ago · Tech · 0 comments

This is a follow-up to Shifting the Trap and to Jacob K's Writing custom programs for yt-dlp's jsinterp. In Shifting the Trap, I argued that yt_dlp/jsinterp.py is, despite the hedging, a real interpreter for a subset of JavaScript - and that an interpreter faithfully executing a non-free, Google-authored program (base.js) is The JavaScript Trap, merely relocated from the browser to the terminal. Jacob K then went further, empirically, and hand-wrote Fibonacci and a Rule 110 simulator in JSinterp's language and observed them run. The conclusion: at some point, enough machinery accreted - for, switch, arrays - that the interpreter became Turing-complete. This left an explicit open question: which release crossed that line, and can it be shown rigorously rather than anecdotally? This post closes the loop with a constructive proof. Not "here's a program that looks Turing-complete," but: here's a compiler whose target is yt-dlp's interpreter, and here's the formal reduction that makes its…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.