MindFuck

From Esolang
Jump to navigation Jump to search

MindFuck is a BrainFuck inspired language.

The difference between the two is that in MindFuck it's all manual.

So basically MindFuck is “if BrainFuck was almost useless”.

Commands

() initialize section

{} initialize cell:

  • | and | cell selector
  • = cell modifier
  • [ and ] loop cell (stop if cell number is 0)
  • + add 1
  • - remove 1
  • < and > previous and next cell
  • ! output number
  • . output character (ascii)
  • ; input character (will be converted in ascii)
  • , input (only number)

\ and / next and previous section

() and {}

While using MindFuck, you should start the program with a section by using “(“ and “)”.

In a section you can use an infinite number of cells, which you can create with “{“ and “}” or by directly selecting them with “|” and “|”.

Example 1:

({}) <- i started by creating a section and then inside of it i created a cell manually.

Example 2:

(|0|=) <- i created a cell by directly selecting it with its selector number.

Coding

Now that you know how to make a section and create cells, we should start coding. If you want to code in MindFuck you should know how to code in BrainFuck, because it’s the same thing but with more nonsense in it.

For example i will write a program that adds two numbers together and then it prints the result:

({,} {,} |0|= [>+<-] |1|= !)

Input cell 0: 3 Input cell 1: 8

{3}{8} -> {3}{9} -> {2}{9} -> {2}{10} -> {1}{10} -> {1}{11} -> {0}{11}

Output cell 1: 11