5050BrainF

From Esolang
Jump to navigation Jump to search
5050BrainF
Paradigm(s) imperative
Designed by Joe
Appeared in 2024
Memory system tape
Dimensions one-dimensional
Computational class Unknown
Reference implementation In Factor (GitHub)
Influenced by Brainfuck
File extension(s) .5050

5050BrainF is an esolang made by User:Joe, which is just Brainfuck but the commands + - < > have a 50% chance of doing their function or doing nothing.

Determinism

Many programs are not deterministic and are impossible to predict the output, but since loops always work normally, along with IO operations, some programs are deterministic.

Examples

Demonstrating the randomness:

C:\factor-0.99\factor\5050brainf>type test.bf
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++."

C:\factor-0.99\factor\5050brainf>.\5050brainf test.bf
↔
C:\factor-0.99\factor\5050brainf>.\5050brainf test.bf
+
C:\factor-0.99\factor\5050brainf>.\5050brainf test.bf
%
C:\factor-0.99\factor\5050brainf>.\5050brainf test.bf
▼
C:\factor-0.99\factor\5050brainf>.\5050brainf test.bf
$
C:\factor-0.99\factor\5050brainf>.\5050brainf test.bf
↓
C:\factor-0.99\factor\5050brainf>.\5050brainf test.bf
"
C:\factor-0.99\factor\5050brainf>

Some deterministic programs:

Skip rightwards to an empty cell

[>]

Skip leftwards to an empty cell

[<]

Clear current cell

[-]

Computational class

The computational class is currently unknown. It is likely to be arbitrarily Turing complete. That is, if given some probability p, there is likely a way to convert an arbitrary Brainfuck program into a 5050BrainF program which gives the correct result with a probability matching or exceeding p. No known method of doing this exists, but likely will rely on the determinism of loops.

Implementations