This forum is closed to new posts due to low activity and a deluge of spam. It is kept online as a static historical record. If you want to read about or discuss esoteric programming languages, the Esolang wiki is the place to go. An archive of the forum is available.
ITT we discuss the language idea "Dumbf*ck" and how it can be fixed:
http://esoteric.voxelperfect.net/wiki/Dumbf%2Ack
It needs fixing because the looping construct leaves half the code
unreachable. Here's the original list of commands:
< Moves pointer one cell to the RIGHT
> Moves pointer one cell to the LEFT
/ Cell value is rotated right 3 times
. Low-order bit is flipped
, Outputs cell value
' Inputs cell value
? If the low-order bit of the cell at the pointer is set,
continue execution at the previous `?', otherwise
continue at the next `?'
ihope127 suggests the following "fix" (only posted on the wiki?):
< Moves pointer one cell to the left
> Moves pointer one cell to the right
/ Cell value is rotated right once
! Low-order bit is flipped
. Outputs cell value
, Inputs cell value
? If the low-order bit of the cell at the pointer is set,
reverse execution direction
I don't like this because the switch of < and > makes it less confusing. It was supposed to be esoteric! Same with the ! and especially the . and ,. It's not supposed to look exactly like Brainfuck! :(
But the new function of ? is interesting. Do you assert that this construct is powerful enough to make the language Turing-complete, ihope?
I don't mean to sound stupid, but what's wrong with the original looping structure? If you use question marks in pairs, why does it then break?
[unset low order bit]??[do something while low order bit is unset]??[rest of program]
The broken bit is the fact that question marks have to be paired like that.
And I'm not sure if my new looping construct is Turing-complete, but it "might be". We could have it rotate the execution direction by 90 degrees, but then it's still like... some other language.
I agree with Safalra. I don't see why it is a problem that you have to pair two question marks. So, the syntax is a bit odd. So what??
I have not actually tried to program in this language, but if the original looping structure is sufficient to make it TC then I see NO reason to alter it.
Well, the author indicated that he planned to change it. True, the language as is can be programmed in.
After a bit of thinking, I decided that the original language is not Turing-complete--loops cannot be nested, and the halting problem for a loop not containing loops should be solvable: either it moves back to its original position at the "end" of the loop, or it makes a "net" movement, meaning that it will eventually leave the colonized bit of tape behind and continue in some predictable pattern.
In short, Dumbf*ck is predictable and therefore not Turing-complete.