AGSPL

AGSPL is a stack-based esoteric programming language created by Xi-816. It's inspired by Golfscript, APL and others.
== Commands ==
Operation 	Operands 	Description
0-9 	none 	Push the number to the stack
+ 	int, int 	Add two numbers
+ 	array, int 	Append int to array
+ 	array, string 	Append string to array
+ 	array, function 	Map
+ 	array, array 	Concatenate
+ 	string, int 	Increment ASCII/Unicode value n times
- 	int, int 	Subtract two numbers
- 	string, int 	Delete n symbols from end
- 	array, int 	Pop and discard n elements from array
* 	int, int 	Multiply two numbers
* 	string, int 	Duplicate string n times
* 	string and string 	Duplicate every symbol in string 1 n times, where n is length of second string
/ 	int, int 	Divide two numbers,
/ 	array, int 	Separate array by chunks with n elements
_ 	int 	Negate (n * -1)
_ 	array 	Create a range (including last number)
% 	int, int 	Modulo (remainder)
% 	array 	Delete all duplicates
< 	int, int 	Less than
< 	array, array 	Bitmask less than
> 	int, int 	Greater than
> 	array, array 	Bitmask greater than
= 	any, any 	Equal
"" 	none 	Unicode String
''	none 	ASCII String
[] 	none 	Array
{} 	none 	Function
. 	none 	Output as a number (or string, array)
, 	none 	Output as a Unicode/ASCII character
~ 	none 	Number input
@ 	none 	String input
! 	int 	Factorial
! 	function 	Call the function
$ 	none 	Duplicate the top value in the stack
& 	none 	Pop the top value from the stack
^ 	none 	Swap the top two values in the stack
` 	none 	Reverse the stack
: 	none 	Store value from stack to the variable
; 	none 	Get value from variable to the stack
? 	function, function	If the value in top after calling first function is not 0, then call second function
# 	function, function	While the value in top stack after calling first function is not 0, call second function
× 	array 	Sum of all elements
× 	int, int 	Power function
÷ 	int and int 	Random number between those numbers
÷ 	array 	Random element from array
v 	block, int 	Repeat the block n times
f 	block, array 	For loop
== Programs ==
Cat program:
 @.
Factorial:
 ~!.
Truth-machine:
 ~$.{$}{.}#
99 Bottles Of Beer:
 99:b
{;b 2>}
{
	&
	;b ." bottles of beer on the wall,".10,
	;b ." bottles of beer!".10,
	"Take one down, and pass it around,".10,
	;b 1-$:b .
	" bottles of beer on the wall!".10$,,
}#
"2 bottles of beer on the wall,".10,
"2 bottles of beer!".10,
"Take one down, and pass it around,".10,
"1 bottle of beer on the wall!".10$,,
"1 bottle of beer on the wall,".10,
"1 bottle of beer!".10,
"Take one down, and pass it around,".10,
"No more bottles of beer on the wall!".10$,,
"No more bottles of beer on the wall,".10,
"No more bottles of beer!".10,
"Go to the store, and buy some more,".10,
"99 bottles of beer on the wall!".
Nope interpreter:
 "Nope.".
Number guessing game:
 "Input a number: ".~:n 0:g
{
	;n "Guess: ".~$:g ¬neq 
}
{
	&
	{;n ;g <}{"Lower!".10,}?
	{;n ;g >}{"Higher!".10,}?
}# "You Win!".
Collatz Conjecture:
 ~:n
{;n 1¬neq }
{&
	{;n 2%0=}{&;n 2/:n}?
	{;n 2%1=}{&;n 3*1+:n}?
	;n ¬round :n
	;n .32,
}#
Category:Languages Category:Stack-based Category:Golfing language‏‎ Category:APL-like
=== Python Interpreter ===
https://github.com/xi816/AGSPL