munificent / craftinginterpreters

Repository for the book "Crafting Interpreters"
http://www.craftinginterpreters.com/
Other
8.92k stars 1.04k forks source link

More nitpicks on "Control Flow" #110

Closed munificent closed 7 years ago

munificent commented 7 years ago

You can prove that by writing a simulator for a Turing machine in your language. Since Turing proved his machine can compute any computable function, by induction, that means your language can too.

That's not by induction, that's by composition or something.

harrisi commented 7 years ago

That's deductive reasoning, I believe. Flow of logic:

EDIT: I will say that when reading and writing this comment, I felt a bit odd calling the language itself Turing complete. I always get tripped up by that. The language is just a specification - it's really the compiler (err.. interpreter, really) that is Turing complete. I'm not sure if you consider that too pedantic though. :)

m-ender commented 7 years ago

I believe it's usually referred to as a "reduction". https://en.wikipedia.org/wiki/Reduction_(complexity)

munificent commented 7 years ago

I love how if your discourse strays anywhere near math, people start expecting the precise mathematical usage of terms, even when the prose itself is informal. :) By "induction" I didn't necessarily mean to imply "a literal proof by induction" but it certainly could be read that way.

I'll change it to "by extension" which is, I think, suitably informal.