ReverseFuck

From Esolang
Jump to navigation Jump to search

ReverseFuck is a Brainfuck modification created by Juraj Borza in 2006, which uses "reversed" brainfuck operators. This means that operator + acts as -, < acts as > and vice versa. The reason for this is that brainfuck may be too easy to understand for people, as + increments the current cell and > increments the pointer. But when this is reversed, it is harder to make sense of it.

Instructions:
-	Increments the current cell (under the pointer).
+	Decrements the current cell (under the pointer).
>	Decrements pointer.
<	Increments pointer.
.	Inputs a character to current cell.
,	Outputs a character from current cell.
]	While the current cell value is not zero, do stuff inside ] and [ braces
[	End while.

To compile ReverseFuck programs into Brainfuck and vice versa, you can use the converter or BrainSoup. With a Unix-like shell, you can also use:

tr "\-+><.,][" "+\-<>,.[]" <foo.revb >foo.b

Examples

Hello World

--------]<----]<--<---<---<->>>>+[<-<-<+<<-]>[>+[<<,<+++,-------,,---,<<,>+,>,---,++++++,++++++++,<<-,<--,

Cat Program

.],.[

Nope. interpreter

------]<------------->+[<,<-----------]<---------->+[<-,-,+++++++++++,<-----]<--------->+[<-,

External resources

See also