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 ==
 Arithmetics
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
 Stack Manipulation
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
 Data
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
 Program Control
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
Category:Languages
Category:Stack-based
Category:Implemented
Category:Low-level
Category:Turing complete