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.

Fixing Dumbf*ck (32)

1 Name: Graue : 2005-11-24 22:17 ID:IVcE5N5e

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 `?'

2 Name: Graue : 2005-11-24 22:21 ID:IVcE5N5e

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?

3 Name: Safalra : 2005-11-25 17:17 ID:YUMZunM6

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]

4 Name: Ihope127 : 2005-11-25 19:32 ID:23PIQFm8

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.

5 Name: rune : 2005-11-25 23:57 ID:URukETeb

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.

6 Name: Graue : 2005-11-26 00:51 ID:IVcE5N5e

Well, the author indicated that he planned to change it. True, the language as is can be programmed in.

7 Name: ihope127 : 2006-04-04 14:55 ID:23PIQFm8

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.

8 Post deleted by moderator.

9 Post deleted by moderator.

10 Post deleted by moderator.

11 Post deleted by moderator.

12 Post deleted by moderator.

13 Post deleted by moderator.

14 Post deleted by moderator.

15 Post deleted by moderator.

16 Post deleted by moderator.

17 Post deleted by moderator.

18 Post deleted by moderator.

19 Post deleted by moderator.

20 Post deleted by moderator.

21 Post deleted by moderator.

22 Post deleted by moderator.

23 Post deleted by moderator.

24 Post deleted by moderator.

25 Post deleted by moderator.

26 Post deleted by moderator.

27 Post deleted by moderator.

28 Post deleted by moderator.

29 Post deleted by moderator.

30 Post deleted by moderator.

31 Post deleted by moderator.

32 Post deleted by moderator.

This thread has been closed. You can not post in this thread any longer.