User talk:David.werecat

From Esolang
Jump to navigation Jump to search

Mindfuck

« MindFuck - A language based on Brainfuck but the instruction codes change every instruction and data on the tape can suddenly become "missing" ». How about the following:

  • The commands +, -, >, <, ,, ., [ and ] are numbered 0, 1...7
  • Use lexicographical order on (value in the cell, number of the cell) to virtually reorder the eight cells ptr, (ptr+1)... (ptr+7)
  • Reassign the eight commands according to the new order

In case this is unclear, here is an example. Suppose the tape (starting from the cell under the pointer) is 60 22 73 26 20 43 19 22.... Then the new order is 19(6) 20(4) 22(1) 22(7) 26(3) 43(5) 60(0) 73(2) Therefore if the next command in the program is:

  • '+' (60, 0), interpret it as '[' (6) instead;
  • '-' (22, 1), interpret it as '>' (2) instead;
  • '>' (73, 2), interpret it as ']' (7) instead;
  • '<' (26, 3), interpret it as ',' (4) instead;
  • ',' (20, 4), interpret it as '-' (1) instead;
  • '.' (43, 5), interpret it as itself (5);
  • '[' (19, 6), interpret it as '+' (0) instead;
  • ']' (22, 7), interpret it as as '<' (3) instead.

That's a simple permutation, so it may not be as interesting as what you had in mind, but it does change the instruction codes (at almost every use of > or < and at most uses of + - ,). It can be made slightly more confusing by cumulating/composing the successive permutations, instead of always starting over from the initial order +-><,.[] Koen (talk) 20:48, 8 September 2012 (UTC)