Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>This is absolutely relevant, turing's original definition described a completely autonomous and automatic machine, that's why every turing machine has a halting state that locks it in a loop when computation is finished.

That's just an accidental part, and is orthogonal to the manual "click next".

The halting state absolutely will be there, locked in a loop and everything, you just manually click to step over each iteration of that loop.

As said, the "click next" is no different that a clock signal in a CPU, or manually cranking the turing machine to play.

It's not at all relevant to the abstraction.

>Your computer is not a computer without a hardware clock, the repeated pressing of a button is acting as a hardware clock here.

Which is exactly why it's an irrelevant detail to the turing machine computation. It's just the clock, not the digital logic.

Whether the hardware clock is internal, or external, or I have a mule rotate around a millstone to drive it, or a big chunk of quartz, is irrelevant, as long the machine is receiving it. This includes me clicking a button to send a pulse.

Let's put it another way, what you're saying is isomorphic to:

"This setup is not a turing machine but this exact setup plus a while loop to repeatedly call xsendkey for Enter is".



>This setup is not a turing machine but this exact setup plus a while loop to repeatedly call xsendkey for Enter is

Yes, that's exactly what I'm saying. And that's why the title is misleading, it's not really Notepad++'s search and replace feature that is turing complete on it's own, because turing complete means "can *Simulate* an arbitary turing machine", the 'can' here is not meant to imply a "if you sat next to it and repatedly pressed enter" kind of remark, it just means you can vary the machine being simulated by varying the input string, but once you enter an input string into the turing-complete system, it should be able to simulate the machine on it's own while you step back and watch. That's what the original machine would have done anyway, so how can you 'simulate' a turing machine if you need something it doesn't ?.

Leave Notepad++'s search and replace feature on a text file containing a transition table for 10^9 years, would it simulate anything on it's own ? On the other hand, leave a JVM running for 10^9 years... you get what I mean.

This is mostly an informal philosophical disagreement on the actual vs. the potential, real academic proofs of turing equivalence side-step the matter of simulation entirely by describing the systems involved in static terms. It's implicitly assumed there is a background animator stepping every system according to its rules.

But I think it's relevant to our intuitive definition of what a computer is, I don't think anyone ships their programs in a form where the user needs to invoke a debugger and repeatedly press 'step over' to get to the next state of the computation. Those kinds of "X is turing complete" headlines circulate on social media and leads people to think 'X' can actually act as an automatic computer, but little do they know the author uses their hand as a hardware clock without really calling attention to it.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: