Hacker News new | past | comments | ask | show | jobs | submit login

Except that rewriting Make to handle LaTeX wouldn't work, because "keep re-running LaTeX until the labels stop changing" is turing-complete.



I don't see how the first follows from the second.

"keep re-running LaTeX until the labels stop changing" is relatively easily done. If nothing else, use a loop detection algorithm.

Sure, theoretically it may "never" stop. But you already have that problem.


Being Turing complete means that not only might it not stop, but you can't even reliably determine if it won't stop.


And? That's no different than the build script calling any external executable. It may stop, it may not stop, it may format the hard drive. Make doesn't (and shouldn't) care.


Again: So what? The build system doesn't need to care whether it will stop or not. It will just run it, and if it doesn't stop it doesn't stop and will require human intervention, but you have the same problem with running LaTeX manually. At some point, you will have to decide whether you think it makes sense to add another iteration, and if without a build system you decide after 10 iterations that you probably should stop, then you can also tell your build systems that it should just give up at 10 iterations.

C is also turing complete, so I cannot reliably determine if my program will stop or not. Doesn't preclude me from running it.


For most usual cases you will be able, I would guess.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: