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.
9f87m4atttaaaou;
9f87m4atttaaaou; (pronounced Mashed Potatolang) is a Stack-Based esolang by CosmicMan08#1975 (User:CosmicMan08). It was designed to make it look like any program made in it was made by mashing your keyboard.
Instruction list
| Instruction | Use |
|---|---|
| a | pops two values a and b, then pushes the result of a + b |
| d | pops two values a and b, then pushes the result of a / b |
| e | pops two values a and b, then pushes the result of a ^ b |
| p | increments the value at the top of the stack by 1 |
| u | decrements the value at the top of the stack by 1 |
| v | pops a value a, then returns the square root of a |
| s | pops two values a and b, then pushes the result of a - b |
| g | pops two values a and b, if a is greater than b it will push 1, otherwise it will push 0 |
| l | pops two values a and b, if a and b have the same value it will push 1, otherwise it will push 0 |
| m | pops two values a and b, then pushes the result of a * b |
| n | pops a value, if the value is 0 it will push 1, otherwise it will push 0 |
| % | pops two values a and b, then pushes the result of a % b |
| Instruction | Use |
|---|---|
| c | duplicates the value at the top of the stack |
| r | discards the value at the top of the stack |
| x | pops a value a, then moves the value at that point in the stack to the end |
| y | pops 2 values a and b, then inserts b into the ath position of the stack |
| z | swaps the top two values of the stack |
| Instruction | Use |
|---|---|
| i | gets one byte of ascii input and pushes it |
| o | pops a value and prints out the corresponding ascii character |
| _ | prints out the memory |
| , | gets a number input and pushes it |
| . | pops a value and prints it out |
| q | gets a string of input and pushes each character in it |
| j | pushes the size of the stack |
| t | pushes a random value from 1 - 10 |
| 0 | pushes 0 to the top of the stack |
| 1 | pushes 1 to the top of the stack |
| 2 | pushes 2 to the top of the stack |
| 3 | pushes 3 to the top of the stack |
| 4 | pushes 4 to the top of the stack |
| 5 | pushes 5 to the top of the stack |
| 6 | pushes 6 to the top of the stack |
| 7 | pushes 7 to the top of the stack |
| 8 | pushes 8 to the top of the stack |
| 9 | pushes 9 to the top of the stack |
| Instruction | Use |
|---|---|
| b | pops a value a, then move the pc to a |
| f | starts a loop if the top of the stack isn't 0 |
| w | starts a loop if the top of the stack is 0 |
| ; | marks the end of a f loop |
| : | marks the end of a w loop |
| k | exits a f loop without having to hit a ; |
| ' | exits a w loop without having to hit a : |
| h | halts the program |
| ^ | toggles whether or not the pc reads non-^ characters |
Computational Class
It is possible to convert any cyclic tag program to a 9f87m4atttaaaou; program, making 9f87m4atttaaaou; turing complete.
The converted program starts with the datastring, then _1fr, from there it converts the instructions in the program string into 9f87m4atttaaaou; instructions...
| CT | 9f87m4atttaaaou; |
|---|---|
| 0 | 0uxf0zk;0y_ |
| 1 | 0uxf1zk;0y_ |
| ; | 0xr_jwh:r |
...finally the program ends with j;.
Examples
Hello, World!
98mo5cacm1ao6ca9mcoo5ccaz6am1ao8cacao65a8m1zso5ccaz6am1ao5cacm7caao6ca9mo5cacmo
Hello, World! (optimized version)
98mo29pepco7acoco3ao95muco84mo2muco83maco3aco6zso29pecou3zdo
Truth Machine
,fc.;.
4-operation calculator
,i,z67mswrm.h:pwra.h:2awrzs.h:2awrzd.h:
Fibonacci Sequence
01fc.48moc0ya;
Deadfish
01fri29peswzuz':5awzpz':6awzc.z9po':4awz2ez':rpfuk;c82eswz':r1;
The Name
The name of this esolang (9f87m4atttaaaou;) is a program that generates a keymash-esque string.
Implementations
- Offline interpreter in Python by CosmicMan08
- Online interpreter in JS by CosmicMan08
- Compiler to JS by User:Challenger5