lalala

From Esolang
Jump to navigation Jump to search

lalala is a minimal esolang based created by User:Yayimhere. It has only 2 commands and a single special argument.

Memory

Memory is stored in a string. This string can only be anything derivable from this BNF:

<string>::= λ|P|(<string>)|<string><string>|i

The strings as λi. Also, it starts indexing at 2, not 0.

Syntax

Syntax
Command Description
[x][n][z] If the symbol following the symbol at index n is x, execute code z. x can be an empty string.
[n:x] Set symbol at index n to x. x can be an empty string.

The special argument for n is ; which is the length of the string (plus 2, but that's because of the string indexing). The program loops until the string becomes empty.

Computational class

lalala is Turing-complete because it can simulate a Bitwise Cyclic Tag with a datastring of 1 (and any BCT program can be simplified to one with a datastring of only 1) like this:

1 is i
0 is P

The commands can be converted via:

BCT:   lalala:
  0 <-> [2:]
 10 <-> [i][2][[;:P]]
 11 <-> [i][2][[;:i]]