Email or username:

Password:

Forgot your password?
Devine Lu Linvega

We previously defined a programming language with the help of Turing machines.

We chose poorly.

crypto.stanford.edu/~blynn/com

6 comments
leah & asm & forth, oh my!

@neauoire

>

With universal machines, they explained why it’s impossible to decide if a given Turing machine ever halts

NO. NO THEY DIDN'T. :blobscream:​ see my pinned posts!​

Devine Lu Linvega

@millihertz the pinned post reads like Chatin's definition of the halting problem, which is also how I understood, isn't what Ben Lynn is describing?

leah & asm & forth, oh my!

@neauoire no. the key bit he gets wrong is "a given Turing machine". what the Halting Problem says is that it's impossible to construct a universal function that says whether any arbitrary program will halt, and to prove this, postulates that such a function - halts(x) - has been found, and asks what will happen when we call

   p(function f) {
if halts(f) {
while(1);
} else {
return 0;
}
halts(p);

@neauoire no. the key bit he gets wrong is "a given Turing machine". what the Halting Problem says is that it's impossible to construct a universal function that says whether any arbitrary program will halt, and to prove this, postulates that such a function - halts(x) - has been found, and asks what will happen when we call

alcinnz

@neauoire I'm not sure the halting problem is a good argument here (unless you go into Total Functional Programming), but... I do like this paradigm!

Desttinghim

@neauoire my problem with the "lambda calculus is superior" argument is that AFAIK there are no computing machines that are based on lambda calculus. Turing machines are a lot more straightforward as a basis for constructing a computing device. Lambda calculus on the other hand requires a fairly deep understanding of mathematics and mathematical notation to understand well, and doesn't have physical analogues in the same way.

Anyways, I could be wrong and just less familiar with lambdas.

Devine Lu Linvega

@desttinghim I understand your issue with it, and I agree. I'm not sure how this is to be bridged. I'm only beginning to understand how this maps to computer hardware myself, and maybe how I could explain it to someone else, but a lot of the documentation for lambda calculus implementation out there is totally opaque - Or, I'm looking in the wrong places.

Go Up