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

From Esolang
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.

Caption text
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: