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.

19223

From Esolang
Jump to navigation Jump to search

19223 is a joke esoteric programming language and a numberslop language by user:raiseafloppafan7741 in 2026 made as a joke to be a minor inconvenience to Esofish implementors.

Overview

There is an unbounded signed accumulator, initially set to zero, and there is a queue of unbounded signed integers, which is initially empty. Dequeuing from an empty queue results in zero, just like in Funge-98.

Command Description
H Prints "Hello, world!" with a newline.
Q Prints the source code of the program followed by a newline.
9 Prints the lyrics to 99 bottles of beer with the last verse and "1 bottle" and "No more bottles".
^ Increments the accumulator.
v Decrements the accumulator.
$ Enqueues the accumulator.
@ Dequeues a value into the accumulator.
& Dequeues a value from the queue and does nothing with it.
+ Dequeues a value and adds it to the accumulator.
- Dequeues a value and subtracts it from the accumulator.
= Dequeues a value and checks if it is equal to the accumulator. If it is, the accumulator is set to one. Else, it is set to zero.
% Swap the ends of the queue.
R Reverses the queue.
6 Prints "6" without a newline.
7 Prints "7" without a newline.
T Prints "TRISOLIME WILL NEVER CATCH ME!!!" with a newline at the end.
h Receive a 19223 program from the user and also the input for said program and solve the halting problem for it with the given input. If the given program halts, then the accumulator is one. Otherwise, it is set to zero.
# Reads a number from the user into the accumulator.
3 Prints the accumulator without a trailing newline.
[ and ] Loop forever.
{ and } An if statement. If the accumulator is one, then the code between the brackets runs.

19222

19222 is a variant of 19223 without the h instruction. It was made before the h instruction was specified to only solve a specific halting problem instead of a generalized one for all inputs.

19221

19221 is a variant of 19223 without the # instruction. This was made to try making a 19223 variant where the halting problem is solvable and the oracle is computable. However, this was made before h was specified more.

19225

19225 is a variant of 19223 where the h command only reads a 19225 program and tries to solve the general halting problem for that, or if it halts on all inputs.

Examples

Hello, world!

H

Quine

Quine

Non-cheating quine:

Hello, world!

99 bottles of beer

9

Print User:Dragoneater67's favorite number

This is also a quine.

67

Print the language's motto

T

Infinite loop

[]

A+B Problem

#$#+3

Truth-machine

If the user input is 1, then this prints 1 forever. Otherwise, it prints zero.

^$#=3{[3]}

Computational class

19222 is, in some sense, Turing-complete via reduction to a cyclic tag system: ^$v enqueues 1, and $ enqueues 0, this is used for encoding initial data string and production rules. The cyclic tag system is encoded like this:

encoded initial data string[encoded production rules]

Each production rule is encoded like this:

+{vproduction rule}

An example with productions (011, 10, 101) and initial data string 1:

^$v[+{v$^$v^$v}+{v^$v$}+{v^$v$^$v}]

However, this construction is guaranteed to never halt; in fact, if the program enters a [...] loop, the program can never exit it, meaning its halting problem is decidable (specifically, by running the program up until it hits a [, in which case the program loops, or the program reaches the end, in which case the program halts). Thus, 19222 is not Turing complete in the strict sense of "the program halts if and only if its corresponding Turing machine halts", only in the sense of "the internal state of the program corresponds to the internal state of its corresponding Turing machine at any given time", making an implementation of 19223 possible.

19225 is suspected to be uncomputable as it requires solving its halting problem for all inputs.

See also