Unreadable

From Esolang
Jump to navigation Jump to search

Unreadable is an esoteric programming language made by User:TehZ. As the name hints, it is made specifically to be unreadable.

Alphabet

The only characters are " and '. With a font where " looks like '' (such as Arial; see " compared to ''), it is like programming in Whitespace; you cannot tell what you are doing. No spaces or newlines are allowed.

Syntax

The syntax is:

  command = ' "+ command*

As you can see, the syntax is really simple and unreadable.

Commands

The commands are:

'"X Print X as a Unicode character and return X.
'""X Return X + 1.
'""" Return 1.
'""""XY Do both X and Y and return what Y returned.
'"""""XY Do Y while X is not 0 and return the last result.
'""""""XY Set variable number X to Y and return Y.
'"""""""X Return the value of variable X, or 0 if the variable has never been assigned.
'""""""""X Return X - 1.
'"""""""""XYZ If X is not 0 do Y else do Z. Return what Y/Z returned.
'"""""""""" Return a single Unicode character which has been read from stdin, or -1 if stdin is exhausted.

Limits/bounds

There are no max values, and no bounds in this language.

Computational class

Unreadable is Turing complete because it is possible to convert a brainfuck program to Unreadable:

  • Reserve the first variable as the tape pointer.
  • Make +/- increment/decrement the variable it points to.
  • Make >/< increment/decrement the pointer.
  • Make [] become a loop that checks for the variable that the first variable points to.
  • Make . print the variable the first pointer points to and make , read input into that variable.

Interpreters