Bub
From Esolang
Bub (Brainfuck Ugly Bodge) is a variant of Brainfuck designed by Matthew Westcott. The essential difference is that Brainfuck's "while"-like instructions are replaced by "GOTO"-like ones.
Bub's claim to fame is that there is an interpreter for it written in Muriel, as a means of showing that Muriel is Turing-complete.
The following is a direct quote from the Bub page in the Muriel archive:
Essentially, Bub is Brainf*ck using GOTOs instead of 'while' loops. A Bub program consists of a string of digits, and these are split into blocks of 'w' digits (w=4 in the Hello World program). In most instructions, all but the last digit can be ignored - the last digit corresponds to a Brainf*ck instruction, with 012345678 corresponding to <>+-,.[] and 'end of program' respectively. In the case of [ and ], the preceding digits signify the instruction number to jump to (counting from 0) if the jump takes place - in other words, when translating from Brainf*ck to Bub, the location of the corresponding bracket is calculated in advance.
For example, the program [-] could be translated as
0036 9993 0017 9998
[edit] External resource
- Bub interpreter in Muriel
- A Bub interpreter, a brainfuck to Bub translator, and a limited Bub to brainfuck translator -- all written in perl

