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.

Chops

From Esolang
Jump to navigation Jump to search

Chops is an esoteric programming language where it's instructions are variable, dependent on the previous ASCII character created by User:Buckets, created to fill the purpose of "What if I just made an esolang, so that It's hard enough to look like garbage, but easy to make a machine to randomly (With enough time) make a program?", so with that goal, User:Buckets Achieved their goal, and this is the product.

Variable Commands Instructions
Same as the previous Character +1.
+1 of the previous Character Push the number of the next Character in ASCII.
+3 of the previous Character Pop the number of the next Character in ASCII.
+4 of the previous Character Subtract the top two values on the stack, top-bottom.
-3 of the previous Character Pushes the next character on the top of the stack.
-4 of the previous Character Swaps the top two values on the stack.
/3 of the previous Character Print.

(But not the next character, the last data used or the newest popped data.(Also note that It does not automatically print in ASCII, that's why there's 2 pushes.))

/4 of the previous Character This instruction is a not gate for the top of the stack. (If the top of the stack is 1, then replace it with a 0, If the top of the stack is 0, replace it with a 1.)
*3 of the previous Character Pop the number of the next Character in ASCII.
*4 of the previous Character Add top two values.
+2 of the previous Character End program.
-1 of the previous Character Go to Line-The number of the next character.
-2 of the previous Character -1.
*2 of the previous Character If = Next character, If true, go to Next *2, Else go to Next next *2.
/2 of the previous Character Input, Classed, Next character.
+5 of the previous Character Multiply top two values.
-5 of the previous Character Divide top two values. (Bottom/Top)
-6 of the previous Character Mod top two values. (Bottom/Top)
(Line feed) Set the number of the next character in ASCII.

There are two 'classes' of stacks, a number stack where It stores a number, and an ASCII stack, where it stores an ASCII character.

"Hello, World!" Program:

(Line feed)
c`H H
c`e/ec`lDl$
c`oMo
c`,**~*
 ` 
c`WWUÿU
c`oMo
c`rVr
c`lDl
c`d,d
c`!c!#