Brainfuck interpreter in Malbolge Unshackled

Logo of the brainfuck interpreter in Malbolge Unshackled: A Malebranche skewering a human brain

You can download the brainfuck interpreter written in Malbolge Unshackled here: (2 MiB).


Input: <brainfuck program>!<input for brainfuck program>
alternatively: <brainfuck program><EOF><input for brainfuck program>

The brainfuck dialect is as follows:

  • There are infinite many memory cells (to the right) that can hold arbitrary large (or small) numbers.
  • If the pointer points to the first memory cell, the command < is ignored.
  • On input, a newline is converted to \10. EOF is converted to \0.
  • If the value of the current memory cell is negative, the output command is ignored.
  • Unicode is used for I/O.

The HeLL source is available here and can be assembled with LMFAO. Thus, you can check its correctness, proving Malbolge Unshackled to be Turing complete.


On my Intel Core i7, the reference interpreter needs a few minutes for the examples below (and 1.5 GiB of RAM). You may want to use a faster interpreter instead.

Example 1

Input:  ++++++++[>++++++++++++<-]>++.++++.!
Output: bf

Example 2

Input:  ,[.,]!bf
Output: bf

Example 3

Input:  >,[>,]<[.<]!fb
Output: bf

Example 4

This example comes from Esolangs and needs about 15 minutes with the Malbolge Unshackled reference interpreter at my hardware (depending on the random decisions of the interpreter).

Input:  >++++++++[-<+++++++++>]<.>>+>-[+]++>++>+++[>[->+++<<+++>]<<]>-----.>->+++..+++.>-.<<+[>[+>+]>>]<--------------.>>.+++.------.--------.>+.>+.!
Output: Hello World!\n

Contact | Site notice (Impressum)