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