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.
Ppmcateogirwsonmethamphetamine.
Ppmcateogirwsonmethamphetamine. (pronounced pee-pee-em-catgirls-on-hard-crystal-methemphetamine-lang) is a derivative of Cateogirws. made in 2026 by user:raiseafloppafan7741 (AnalysisOfVariance) that uses the PPM format for programs. Just like how Cateogirws. was partly inspired by pgmpiet, Pgmcateogirwsonmethemphetamine. was inspired by Pgmpietoncracklang.
Etymology
"PPM" for the file format then Cateogirws. (with the full stop moved to the end) then "on methamphetamine", which is a reference to a misinterpretation of Pgmpietoncracklang's name by the author where they misinterpreted "crack" as the slang term for the drug cocaine, which lead them to name Pgmcateogirwsonmethamphetamine after the other drug.
The pronunciation of "cateogirws" comes from user:raiseafloppafan7741 trying to pronounce it and somehow ending up saying "catgirls" with a strange rising "eo" in the middle and an uwu-like pronunciation. User:PkmnQ's pronuncation is acceptable for the original but not for Ppmcateogirwsonmethamphetamine.
Overview
The program is an image in the (8-bit) PPM file format. The instructions, called "instruction bundles", are comprised of the per-channel difference between the current pixel and the previous pixel, with execution order taken into account. At the start of the program, the previous pixel is all zeros.
When the instruction pointer is going right or up, the instruction bundles are executed in the order RGB. When it is going left or down, they are executed in the order BGR.
If the instruction pointer changes direction in the middle of executing an instruction bundle, then the instruction bundle will continue executing as if nothing had happened. For example, (1, 3, 1) causes the IP to enqueue 1, dequeue that and rotate 90 degrees clockwise, then enqueue 1 again. If the IP halts in the middle of an instruction bundle, it halts.
| Value (mod 7) | Action |
|---|---|
| 0 | Do nothing. |
| 1 | Enqueue 1. |
| 2 | Enqueue 0. |
| 3 | Dequeue a bit and if it is 1, rotate the instruction pointer 90 degrees clockwise. |
| 4 | Read a bit of input and enqueue x1 where x is the bit, or 0 if the input stream has ended.
|
| 5 | Dequeue a bit and enqueue it to the output stream. |
| 6 | Halt. |
The output stream is interpreted as little-endian bytes. For systems which deal with octetos (8 bits) instead of bits, the stream is right-padded with zeros to the nearest bit. For example, the output stream 10101010 is not padded while 101010 is padded to 10101000.
Computational class
Ppmcateogirwsonmethamphetamine. is trivially Turing-complete as it is essentially identical to Cateogirws. with some minor changes as well as the differences between PGM and PPM.
Examples
NOT gate
Reads a bit of input and outputs 1 if it is 0 and 0 if it is 1.
P3 3 3 255 0 0 0 4 3 0 0 0 10 13 8 9 0 3 7 0 0 0 0 0 0 10 8 8 0 0 0