Talk:DoubleFuck

From Esolang
Jump to navigation Jump to search

Computational class, compiling into normal BF: must be more complicated than adding < and > if the data pointer values are unknown. Of course, I don't argue that it's possible to compile DF into BF since BF is Turing-complete. Engelec 20:44, 29 September 2011 (UTC)

It is complicated; If the two looping constructs have to be properly nested WRT each other it's still mostly a text substitution operation. BUT nothing says that '[]' loops have to be nested nicely WRT '{}' loops; ie you can do this: "{ aaaa [ bbbb } cccc ]" at that point it gets interesting Rdebath (talk) 19:39, 10 November 2013 (UTC)
In any case the conversion to prove TC-ness goes from BF to DoubleFuck. (Theoretically there is the opposite direction to consider, but it's shown by giving an interpreter for your language in any implementable language at all.) --Ørjan (talk) 03:20, 11 November 2013 (UTC)
Oops, I didn't notice that the relevant part was what had just been removed from the article. :) --Ørjan (talk) 03:23, 11 November 2013 (UTC)
Mmmm :-) --- Related: This'll work for something useful for the mis-nesting: [ ccc [ ccc {\}{ ccc ] ccc ][-}] Rdebath (talk) 07:34, 11 November 2013 (UTC)
I was just wondering about this myself. Possibilities I can see:
  1. Loops of different kinds overlap in the same way as in Fromage, meaning a [] loop can jump in or out of a {} loop or vice versa.
  2. [ can pair with }, and { with ], creating a loop that somehow mixes use of the two tapes, such as using one to decide whether to skip initially and the other to decide whether to loop back.
  3. It's a syntax error.
As far as I can make out, the implementation here has it as 3, but have we evidence that this is correct? Can anyone here remember anything explicit about this from learning the language when it was originally published? — Smjg (talk) 12:25, 8 July 2024 (UTC)