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.

artppeice

From Esolang
Jump to navigation Jump to search

artppeice is an esoteric programming language made by User:Dragoneater67 in 2026. It is named after a typo by User:Yayimhere during an IRC chat.

Overview

The program is a newline-separated sequence of instructions executed top-to-bottom in an implicit infinite loop. Data is stored in named variables. Each variable holds an unbounded queue of words.

artppeice instruction table
Instruction Description
timestamp -!- name has joined. (initial sequence of words) Create a new variable named name initialized to initial sequence of words (can be empty), but if the parentheses are absent completely, then it inputs the initial value from the user. Does nothing if the variable already exists.
timestamp -!- name has quit. (output) Delete the variable named name and output output, but if parentheses are absent completely, output the final contents of the variable before deletion. Does nothing if the variable doesn't exist.
timestamp -!- name has changed nick to name2. Rename the variable named name to name2. Does nothing if the variable doesn't exist.
timestamp <name> sequence of words Dequeue a word from variable named name, enqueue the sequence of words into the variable with the same name as the dequeued word.
timestamp * name comment Does nothing.

Timestamps are written in format hh:mm:ss and are purely decorative. Dequeueing an empty queue or enqueueing into/deqeueuing from a non-existent queue halts the program.

Computational class

artppeice is Turing complete since it can simulate a Cyclic tag system. Every program starts with:

00:00:00 -!- 1 has joined. (space-separated list of initial bits)
00:00:01 -!- 0 has joined.

Each production rule is encoded as:

00:00:00 -!- <1> space separated bits to enqueue

Examples

XKCD Random Number

00:00:00 -!- four has joined. (4)
00:00:01 -!- four has quit.
00:00:02 <four> chosen by fair dice roll. guaranteed to be random.

Hello, world!

00:00:00 -!- hello has joined. (Hello, world!)
00:00:01 -!- hello has quit.
00:00:02 <hello> i am a ghost that haunts this channel

Cat program

00:00:00 -!- cat has joined.
00:00:01 -!- cat has quit.

See also