We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

.chat

From Esolang
Jump to navigation Jump to search

.chat pronounced dot chat is a esolang created by User:Yayimhere combining the concepts of the node alphabet, Tag systems, and Number Seventy-Four

memory

memory is a datastring that can hold this circular alphabet(order is preserved): {A, a, B, b, H, h, 1, 0}. if the rightmost char of the datastring is 0, the program will halt. the datastring start as just 1

Commands

Each character is one command. Characters not listed here are undefined behaviour.

commands
command description
0 if the first char of the datastring is 1 or the datastring is empty then a 0 will be appended to the datastring
[n if the length of the datastring is divisible by n divide it into chunks of length n and delete the first one, then put them back together (n must be only one digit long)
1 0 but is appends 1
> set current symbol to the symbol after it in the alphabet
< move the end of the datastring to the start

Computational class

We can translate any Cyclic tag system into .chat. We need to use similar method of translating every Cyclic tag system into one with initial data string of 1 to do so:

  • Program starts with data enqueued, with 0 being 001 and 1 being 011 except for the data bit in the front, for which initial 0 is removed.
  • Production starts with [1 and then just as when data was initialzied 0 becomes 001 and 1 becomes 011. Production ends with [1[1 (we use this to avoid error if length of the data is not divisible by 2).
  • We can also implement halting symbol of a tag system directly using the halt condition of .chat.

As such, .chat is Turing-complete with only three symbols: 01[.