Bruhfunk

Bruhfunk (previously known as "UnholyC") is an esoteric programming language made by User:Nurdle. It shares a lot in common Brainfuck and ABFC (Another BrainFuck Clone) (also by Nurdle). It was also inspired heavily by malbolge, however it strives to be ridiculously tedious rather than just impossible to use.
==Language Overview==
Similarly to brainfuck, Bruhfunk uses a pointer to access an Array containing exactly 65536 numbers. It prefers ABFC's way of handling flow control, using labels + goto instead of while loops.
===Queueing===
Bruhfunk holds operations in a queue, it only has two operations it can preform: multiplying and subtracting.
lowercase letters do multiplication, while uppercase letters do subtraction.
table showing multiplication and subtraction values:
 - low UPR
 q 0 -49
 w 2 6
 e 3 8
 r 4 5
 t 5 7
 y 6 17
 u 7 14
 i 8 26
 o 9 13
 p 10 10
 a 11 11
 s 12 15
 d 13 19
 f 14 28
 g 15 99
 h 16 50
 j 17 78
 k 18 45
 l 19 87
 z 20 97
 x 21 23
 c 22 16
 v 23 77
 b 24 55
 n 26 35
 m 27 25
(Note: Negative numbers turn into their positive counterpart rather than underflowing)
Also, every time a 13 (d and O) is used in a program, it changes to a random number between 0 and 13 after its first use.
===Commands===
Bruhfunk uses numbers 0-4 to do different things. They all change values based off of the queue (excluding 1 which is used to mark positions that can be jumped to in code)
 Caption text
Command	Description
0 	Applies the operations stored in the queue to the pointer's position.
1 	Marks a place that can be jumped to.
2 	Change the pointer's value by applying the queue to it.
3 	Take the pointer's value, apply the queue to it (but don't store it), and find the corresponding label. (if result refers to a non-existent goto-label then the program terminates)
4 	Change the mode of the pointer using the queue.
===Modes===
There are 2 "modes" in Bruhfunk, the default value is 0, which is used for reading and writing the tape, While mode 1 is used for reading and writing to the console (yes you have to get input before the program starts). The 4 command can change the current mode value, the mode value is automatically bounded to the numbers 1 and 0, if you underflow or overflow it will just loop back over.
===Pointer===
The "tape" as it is called, is accessed using the pointer on mode 0, the tape goes from 0 to 65536, going over 65536 or under 0 will just cause the pointer to loop back over. The same is true about the input/output, but it only goes from 0 to 1024.
==Examples==
==="HELLO" Program===
This is the code for outputting the word "HELLO", separated at each number to enhance readability. Written by Nurdle himself.
 Q4
 Wyw2
 QH0
 Xe2
 w0
 Dr2
 qQHe0
 Dr2
 qQHr0
 YtW2
=== Count Down Program ===
This code outputs the numbers 10 to 0 separated by line breaks. Again, written by Nurdle himself.
 Q4
 Tu2
 QH0
 Ey2
 qQHw0
 P2
 qQHe0
 De2
 qQHr0
 P2
 qQHt0
 Ti2
 qQHy0
 P2
 qQHu0
 At2
 qQHi0
 P2
 qQHo0
 Wo2
 qQHp0
 P2
 qQHa0
 WpT2
 qQHs0
 P2
 qTW0
 Or2
 qTw0
 P2
 qRe0
 Ye2
 qEw0
 P2
 qY0
 Pt2
 qQHow0
 P2
 qD0
 Tu2
 qRr0
 P2
 qTe0
 Ey2
==See Also==
* ABFC (Another BrainFuck Clone) - Another language by User:Nurdle
* malbolge - Another language whose goal is to make you suffer.
==External Resources==
* Bruhfunk Interpreter
Category:Languages 
Category:Joke languages 
Category:Turing_tarpits 
Category:Turing_complete 
Category:Implemented
Category:2022