Miniflak

From Esolang
Jump to: navigation, search

Miniflak is the smallest known Turing complete sublanguage of Brain-Flak. All valid Miniflak programs are also valid Brian-Flak programs, however not all Brain-Flak programs are valid Miniflak programs.

Differences from Brain-Flak

For Brain-Flak there are 8 valid characters:

()<>[]{}

However Miniflak only allows the following 6:

()[]{}

Miniflak also stipulates that its square braces never be empty. That is to say that the square nilad is banned from use.

Computational Class

Miniflak is capable of implementing an arbitrary Minsky machine and is thus Turing complete.

Example Programs

Swap the top two elements on the stack

(({}({}))[({}[{}])])