{}

From Esolang
Jump to navigation Jump to search
The title of this article is not correct because of technical limitations. The correct title is actually {}.
Not to be confused with ().

{} is a family of esolangs by User:PythonshellDebugwindow.

Level 1

{} Level 1 was the first attempt at an esolang in the {} family, although it was horribly ambiguous, too much so to parse (for human and machine alike). It uses an unbounded signed integer accumulator called acc.

Commands

Command Meaning
{} 0
{{x}} While acc > 0 do x (x can be any number of commands > 0)
{x} Set acc to x
{x{y} x + y
{{}} acc

A {} as x inside a {x} is indistinguishable from a {{}}.

Computational class

Due to its ambiguity, Level 1 is uncomputable.

Level 2

{} Level 2 was the second attempt at an esolang in the {} family. Like Level 1, it was too ambiguous to program in, and it uses an unbounded signed integer accumulator called acc.

Commands

Command Meaning
{} 0
{x} acc = x (also evaluate to x)
{xy} If x then do y (y can be any number of commands > 0)
{{xy}} While x ≠ 0 do y (y can be any number of commands > 0)
{{}} acc
{{x}} acc + x + 1

Computational class

Like Level 1, Level 2 is uncomputable due to its excessive ambiguity.

Level 3

{} Level 3 was the third attempt at an esolang in the {} family, and the first successful (i.e. non-ambiguous) one. It uses an unbounded signed integer accumulator called acc.

Commands

Command Meaning
{} 0
{{}} ++acc
{{x}} acc = x
{xy} While acc ≠ x do y (y can be any number of commands > 0)

Computational class

Level 3 might be a push-down automaton, as its single accumulator can be incremented and reset (but not much else).

Level 4

{} Level 4 was the fourth attempt at an esolang in the {} family, and the second successful one. It uses an unbounded signed integer accumulator called acc.

Commands

Command Meaning
{} -1
{{}} acc
{{x}} acc = x
{{xy}} x - y
{xy} While acc ≠ x do y (y can be any number of commands > 0)

Computational class

{} Level 4 is a push-down automata, as it has only one accumulator and no instructions to multiply/divide by a constant. (I could be wrong...)

Level 5

{} Level 5 was the fifth attempt at an esolang in the {} family, and the third successful one. It uses an array of unbounded signed integer registers called accs (the array is called accs). The array also has negative indices.

Commands

Command Meaning
{} -1
{{xy}} x - y
{{{xy}}} accs[x] = y
{{{x}}} accs[x]
{{xyz}} While accs[x] != y do z (z can be any number of commands > 0)

Computational class

{} Level 5 is Turing complete. See the talk page for proof.

Level 6

{} Level 6 is the sixth esolang in the {} family, and the fourth successful one. It uses a bit called N and an array of integers called accs.

Commands

Command Meaning
{} -1
{{}} Nop
{{{x}}} accs[N] += x
{{xy}} x - y
{xy} While accs[N] ≠ x do y (y can be any number of commands > 0)

After each command, N is swapped between 0 and 1.

Computational class

Level 6 has an unknown computational class, although by padding with nops, it could possibly be used to write programs.

Level 7

{} Level 7 is the seventh esolang in the {} family, and the fifth successful one. It uses a bit called N initialized to 0 and an array of two unbounded signed integers (the array is called accs) each initialized to 0.

Commands

Command Meaning
{} -1
{{}} accs[N]
{{x}} While accs[N] ≠ 0 do x (x can be any number of commands > 0 and ≠ 2)
{{xy}} x - y
{xy} x + y

After each command, N is swapped between 0 and 1.

Computational class

Level 7 is Turing-complete, as it could simulate a two-register Minsky machine. (You can use {} on its own as a nop.)

Level 8

{} Level 8 is a brainfuck equivalent, making it the first esolang in the {} family known to be Turing-complete.

Commands

Level 8 Brainfuck
{} +
{{}} -
{{}{}} >
{{}{}{}} <
{{}{}{}{}} ,
{{}{}{}{}{}} .
{{p}} [p]

Note that for the instruction {{p}} ([p]), p cannot be empty; if it is, the instruction will be treated as {{}} (-).

Computational class

Since Level 8 is a brainfuck equivalent, it is Turing-complete.