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.
Stomach
Jump to navigation
Jump to search
stomach (all-lowercase) is an esolang designed to be as difficult to use as possible while still being reasonable for a person to program in it.
Features and Syntax
stomach has 4 registers: a, b, c, d. A is the default if there is none defined. A variable must always be an 8-bit hexadecimal value, e.g. ?a04. Variables are susceptible to overflow and underflow.
| Character | Action |
|---|---|
| ? | Set register to hex value. |
| # | Put user input in register. |
| @ | Print contents of register. |
| + | Add to register. |
| ! | Halt with value of register. |
| - | Subtract from register. |
| * | Multiply register. |
| / | Divide register. |
| & | Modulo of register. |
| % | Push to stack. |
| $ | Pop from stack. |
| : | Compare register with value. |
| > | Jump (signed) n chars if greater than from the character. |
| < | Jump (signed) n chars if lesser than from the character. |
| = | Jump (signed) n chars if equal from the character. |
| ; | NOP. |
Examples
Hello World:
?48@?65@?6C@@?6F@?20@?77@?6F@?72@?6C@?64@?21@?00!
Infinite Loop:
?00:00=84!
Cat:
#@!
Quine: