git @ Cat's Eye Technologies
Import version 1.0 revision 2011.1214 sources (just HTML fixes.) Cat's Eye Technologies 10 years ago
1 changed file(s) with 15 addition(s) and 10 deletion(s).
 0 0 1 1 2 2 3 3 4 4 5 The Larabee Programming Language 6 7 8 9 5 10 6 11 7 12 71 76

On the other hand, if the BPR is less than 0:

72 77 73 78
74
• If cond-expr evaluated to true, evaluate expr2 and increment the BPR. 75
• If cond-expr evaluated to false, evaluate expr1 and decrement the BPR. 79
• If cond-expr evaluated to true, evaluate expr2 and increment the BPR.
• 80
• If cond-expr evaluated to false, evaluate expr1 and decrement the BPR.
• 76 81
77 82 78 83

test is the lynchpin upon which Larabee's entire 141 146 142 147

For example, input invariance is the underlying idea used in converting the 143 148 usual proof of the uniform halting problem into a (less obvious) proof 144 of the standard halting problem — you say, for any given input, that 149 of the standard halting problem — you say, for any given input, that 145 150 we can find a machine that erases whatever input it was given, writes the 146 151 desired input on its tape, and proceeds to perform a computation that we can't 147 152 decide will halt or not.

154 159

But Larabee can't do either of these things. There is no Larabee 155 160 program that can replace its arbitrary input with some fixed, constant choice of 156 161 input. And while you can write a quine, it will require a certain input to 157 produce itself — there will always be other inputs which make it 162 produce itself — there will always be other inputs which make it 158 163 produce something different.

159 164 160 165

"So what!" you say, being of bold philosophical bent, "it's mere mereology. 255 260 (goto loop) (nop)))) 256 261 (print (fetch (input)))) 257 262 258

And, oh, actually, we don't have begin — 263

And, oh, actually, we don't have begin — 259 264 nor nop, neither. Hooray!

260 265 261 266
(store (input) (input)

268  273
269  274

Now, if you've been following that, and if you can imagine in the 270 275 slightest how the input will need to look for any given integer, to 271 produce the correct factorial result on the output — even assuming 276 produce the correct factorial result on the output — even assuming 272 277 you added a bunch of tests somewhere in the program and 273 278 fed them all the right numbers so that the important test turned 274 out the way you wanted — 279 out the way you wanted — 275 280 then I needn't go to the extra trouble of a rigourous 276 281 proof to convince you that Larabee is not Turing-complete.

277 282 283 288 late, and I'm tired. Maybe later.

284 289 285 290

(later) OK, it goes something like this. Ackermann's 286 function — which we know we need at least something that can do 287 better than primitive-recursive, to compute — has a lower-bound 291 function — which we know we need at least something that can do 292 better than primitive-recursive, to compute — has a lower-bound 288 293 complexity on the order of, well, Ackermann's function. 289 294 (This in itself seems to be one of those mathematical oddities that seems 290 295 wiggy when you first hear about it, then self-evident after you've thought 308 313 begrudge it seeking comfort in the arms of an understanding 309 314 mistress, a bottle of bourbon, the Cone of Silence? But even so, saving 310 315 such wretched constructions from their own self-annihilation, so we may all 311 learn from its example — this is one of the very reasons 316 learn from its example — this is one of the very reasons 312 317 we run this Home for Wayward Calculi, is it not?

313 318 314 319

Indeed.