AEAV

AEAV(An Esolang About Variables) is an esolang designed by User:Infinitehexagon that uses variables to store values.
== Inputting ==
Inputting uses the tag _input_</code>. 
test = _input_
== Variables ==
To create a variable start the name of the variable followed by the keyword "is" and the value or string. If you want to concatenate a non-keyword value into a variable add a $$ before the value. 
test = "Hello, "
test = $$ "World!"
Setting a variable to itself will concatenate the current value of the variable twice. This program will assume that test equals Hello, from before and join the string 2 times. Repeating this will cause the variable to exponentially join forever.
loop 1
test = [test]
;loop
Returns "Hello, Hello, Hello..."
=== ;(Semicolon) ===
The semicolon is used at the start of instructions to end tags like HTML tags, although they are only used for some instructions.
loopi (loops infinitely)
out test
;loopi
=== Random ===
To set a variable to a random value, use a hyphen and input 2 numbers in this format: a-b
test = 1-3
out test
== Functions == 
Making a function is quite easy. All you have to do is use "new" followed by the name of the function. After that, define the function and use the Semicolon tag followed by the name of the function. If you want arguments in your function add a letter eg. "(a)" to the name of the function. 
new negate (a)
(a) = (a) mul -1
;negate
=== Variable Built-In Functions ===
Instruction / Function	Example / Keyword 	Description
mod 	test = 9 mod 3 (Returns 0) 	Get the modulo of 2 arguments a and b and return it into to the variable.
sub 	test = 9 sub 3 (Returns 6) 	Get the difference between 2 arguments a and b and return it into the variable.
add 	test = 9 add 3 (Returns 12) 	Add 2 arguments a and b and return it into the variable.
div 	test = 9 add 3 (Returns 3) 	Get the quotient of 2 arguments a and b and return it into the variable.
pow 	test = 9 pow 3 (Returns 729)	Raise argument a to the power of argument b and return it into the variable.
mul 	test = 9 mul 3 (Returns 27) 	Get the product of argument a and argument b and return it into the variable.
> 	if test > a 	Return a true value if the variable is greater than argument a.
< 	if test < a 	Return a true value if the variable is less than argument a.
= 	if test = a 	Return a true value if the variable equal to argument a. Else, skip the next line.
! 	if test ! a 	Return a true value if the variable is not a nonzero value.
& 	if test & a 	Return a true value if the variable and argument a are a nonzero value.
== Instructions ==
Instruction	Example 	Description
rev 	rev test 	Reverse the order of variable a eg. "Hello, " -> " ,olleH"
len 	len test 	Return the length of argument a
out 	out a 	Output argument a
loop 	loop 2(n)	loop n times
loopi 	- 	loop infinitely
== Program Examples ==
=== Hello World Program ===
helloworld = "Hello, "
helloworld = $$ "World!"
out helloworld
=== Counter ===
counter = 1
loopi
counterc = [counter]
counterc = $$ ", "
out counterc
counter = 1 + [counter]
;loopi
Outputs 1, 2, 3.....,
=== Truth Machine ===
truthmachine = _input_
if truthmachine = 1
loopi
out truthmachine
if truthmachine = 1
;loopi
=== Cat Program ===
input = _input_
out input
=== Rock Paper Scissors Game === 
computer = 1-3
cpuchoice = none
new rps
rock = 1
paper = 2
scissors = 3
;rps
loopi
message1 = "Input 1, 2, or 3."
out message1
choice = _input_
if choice = 1
cpuandplayerchoice = "You chose "
if choice = 1
cpuandplayerchoice = $$ "rock! The computer chose "
if computer = 1
cpuchoice = "rock"
if choice = 1
cpuandplayerchoice = "You chose "
cpuandplayerchoice = $$ "rock! The computer chose "
if computer = 2
cpuchoice = "paper"
if choice = 1
cpuandplayerchoice = "You chose "
if choice = 1
cpuandplayerchoice = $$ "rock! The computer chose "
if computer = 3
cpuchoice = "scissors"
if choice = 2
cpuandplayerchoice = "You chose "
if choice = 2
cpuandplayerchoice = $$ "paper! The computer chose "
if computer = 1
cpuchoice = "rock"
if choice = 2
cpuandplayerchoice = "You chose "
if choice = 2
cpuandplayerchoice = $$ "paper! The computer chose "
if computer = 2
cpuchoice = "rock"
if choice = 2
cpuandplayerchoice = "You chose "
if choice = 2
cpuandplayerchoice = $$ "paper! The computer chose "
if computer = 3
cpuchoice = "scissors"
if choice = 3
cpuandplayerchoice = "You chose "
if choice = 3
cpuandplayerchoice = $$ "scissors! The computer chose "
if computer = 1
cpuchoice = "rock"
if choice = 3
cpuandplayerchoice = "You chose "
if choice = 3
cpuandplayerchoice = $$ "scissors! The computer chose "
if computer = 2
cpuchoice = "paper"
if choice = 3
cpuandplayerchoice = "You chose "
if choice = 3
cpuandplayerchoice = $$ "scissors! The computer chose "
if computer = 3
cpuchoice = "scissors"
cpuandplayerchoice = $$ "[cpuchoice]."
out cupandplayerchoice
;loopi
=== XKCD Random Number ===
xkcd = 4 (Non-random version)
out xkcd
xkcd = 1-4 (Random version)
out xkcd
=== n^2 ===
squared = _input_
squared = [squared] pow 2
out squared
== Output to AEAV translation ==
Output 	AEAV
Input 	input = _input_
Output "a" 	output = _input_ \n out output
Output the input	input = _input_ \n out input
Category:2023Category:LanguagesCategory:High-levelCategory:Unimplemented