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.
the s!
- Not to be confused with the team.
the s! (always lowercase, even if caps lock/shift is stuck or if you're screaming)[1] is an esoteric programming language by user:raiseafloppafan7741 in 2026.
Commands
The language only has four characters: s, S, 5, and $. Any other characters (other than LF/CRLF for stupid Windows compatibility) is a compile-time error. There is a value stack.
| Command | Action | Alternate action | ||||||
|---|---|---|---|---|---|---|---|---|
| Up | Down | Left | Right | Up | Down | Left | Right | |
s
|
Push user input to the stack, or -1 on EOF. | Push 67 to the stack. I'm so terribly sorry. | Print the top of the stack as a number. | If the top of the stack is zero, turn right toggle alternate mode. | "Merge" with the most recently created timeline, as in take its stack and alternate mode status but keep this timeline's instruction pointer. | Disable alternate mode for 2 instructions. | Discard the top of the stack. | Go right. |
S
|
Reverse the stack. | Pop the top of the stack and use that as an index to retrieve from the new top of the stack starting from zero to go down into the stack and fetch a value there. | Add the top two numbers on this timeline's stack. | Push 0 to this timeline's stack. | Find the oldest timeline and steal its stack, alternate mode status, and instruction pointer. | Print the top of the stack modulo 256 as a byte. | Negate the top of the stack. | Mesmerize the programmer. If such an action is not possible, then turn alternate mode off for the next 10 instructions and turn left. |
5
|
Push 5 to this timeline's stack. | Toggle alternate mode. | Turn right and toggle alternate mode. | Go down. | Sidestep to the left of the current direction by 2 cells and turn 180 degrees. | Spawn a Twi-Nwefwoid! within 1 kilometer of your location. If such an action is not possible at the moment, then spawn a Hatsune Miku within 500 meters of your location instead. If such an action is not possible at the moment, ask esolangs (irc) what 1 + 1 is. If such an action is not possible at the moment, solve the halting problem for Waduzitdo. If such an action is not possible at the moment, ping fungot on IRC instead. If such an action is not possible at the moment, obfuscate you (the programmer) instead. If such an action is not possible at the moment, ping user:raiseafloppafan7741 on IRC to stop making slop languages. If such an action is not possible at the moment, spawn an Akita Neru within 100 meters of your location. If such an action is not possible at the moment, solve world hunger. If such an action is not possible at the moment, run sudo rm -rf / --no-preserve-root or any equivalents on the user's operating system. If such an action is not possible at the moment, transmutate the interpreter into a fungot-created clone of User:Dragoneater67. If such an action is not possible at the moment, impelment Macron, Feather, Tonk, and UCL. If such an action is not possible at the moment, play a random VOCALOID song while the rest of the program runs. If such an action is not possible at the moment, solve the halting problem for this program. If such an action is not possible at the moment, spawn an AI clone of you controlled by fungot. If such an action is not possible at the moment, print "UNDEFINED BEHAVIOR!!!" and spawn the evil cleaning killer robot from Zack D. Films within 10 meters of your location. If such an action is not possible at the moment, turn 180 degrees in the 5th dimension. If such an action is not possible, give up.
|
Halt all timelines. | Toggle alternate mode. |
$
|
Halt this timeline. | Pop the top of this timeline's stack and travel that many instructions back in time, spawning a new timeline. | Duplicate the top of the stack. | Spawn an interpreter for a random new brainfuck-derivative language in the current working directory. If such an action is not possible at the moment, transpose this matrix along the antidiagonal instead. | Pop a number from the stack and disable alternate mode for that many instructions or until alternate mode is set again. If the number is negative, step backwards and turn left. | Jump forward 1 cell. | Go up. | Transposes this instruction matrix. This means that transposing once makes s alternate going right is the timeline halting instruction and $ normal going up go right.
|
Unlike other 2-dimensional languages such as Befunge, the s! does not allow you to just pad unused space with spaces. Empty spaces must be the sum of their von Neumann neighbors mod 4. For example:
sss s?s sss ? = S (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0) % 4 sSs S?S sSs ? = s (0 + 1 + 0 + 1 + 1 + 0 + 1 + 0) % 4 s$s s?s sss ? = $ (0 + 3 + 0 + 0 + 0 + 0 + 0 + 0) % 4
Examples
Infinite loop
S5 s$
See also
- ↑ Those who say "the s!" with the wrong case will be sentenced to JavaScr*pt. If such an action is not possible at the moment, nothing happens.