∞

∞ (which will be called Infinite for the rest of this page) was a user edited language made by User:Qawtykit.
==Rules for adding stuff==
* No deleting other people's work (fixing mistakes is fine)
* No joke commands 
* No unclear commands
* No uncomputable commands
* No commands that interpret, compile, run code from, add all commands from, or change the programming language to another language
* No commands that just do a Popular problem
* Include your username
==Specifications==
Infinite is a 2D language with an instruction pointer that starts at row 1, column 1 (1,1) with IP first moving right
Infinite has an bidirection unbounded tape of unbounded signed integers initialized to 0 with a pointer starting at the 0th cell, and an unbounded stack
==Commands==
Command 	Description 	Creator
< 	change instruction pointer direction to left 	User:Qawtykit
> 	change instruction pointer direction to right 	User:Qawtykit
^ 	change instruction pointer direction to up 	User:Qawtykit
v 	change instruction pointer direction to down 	User:Qawtykit
x 	push the instruction pointer's x position to the stack 	User:Qawtykit
y 	push the instruction pointer's y position to the stack 	User:Qawtykit
P 	push the cell's value to the stack 	User:Cleverxia
p 	pop the stack and store popped value into the cell 	User:Cleverxia
r 	move tape pointer right 	User:Cleverxia
l 	move tape pointer left 	User:Cleverxia
i 	increment cell 	User:Cleverxia
d 	decrement cell 	User:Cleverxia
* 	multiply top 2 of stack 	User:Cleverxia
/ 	divide top 2 of stack (a b /=>a/b, x/0=x) 	User:Cleverxia
% 	modulo top 2 of stack (a b %=>a%b, x%0=0, sign is same as the nuumber being moduloed) 	User:Cleverxia
I 	input a number and push onto stack 	User:Cleverxia
O 	pop a number and output 	User:Cleverxia
c 	pop a number and output as character 	User:Cleverxia
! 	halt 	User:Cleverxia
$ 	Pop a value from the stack and move the tape pointer to that cell 	User:Qawtykit
? 	Jump over the next instruction if the top value of the stack is equal to the value of the current cell (does not pop)	User:Qawtykit
` 	Push the tape pointer's location to the stack 	User:Qawtykit
~ 	Duplicate the top value of the stack 	User:Qawtykit
X 	Set the instruction pointer's x position to the value of the current cell 	User:Qawtykit
Y 	Set the instruction pointer's y position to the value of the current cell 	User:Qawtykit
A 	push 65 onto stack 	User:Cleverxia
a 	push 97 onto stack 	User:Cleverxia
. 	pop x then y, goto (x,y) in the code 	User:Cleverxia
1 	push a 1 	User:Cleverxia
@ 	skip next command 	User:Cleverxia
L 	turn 90 degrees clockwise 	User:Cleverxia
& 	AND the top two numbers on stack 	User:Cleverxia
| 	OR top two numbers on stack 	User:Cleverxia
: 	swap top two numbers on stack 	User:Cleverxia
《…》„condition” 	loop what inside the double corner brackets until whats in condition returns 1(like & or &#) 	User:Yayimhere
⌧ 	makes a version of the tape thats read only. if used twice in the code the old one gets replaced with the new one 	User:Yayimhere
✏ 	it is ⌧ but it goes from cell A(top of stack) to cell B(bottom of stack) 	User:Yayimhere
" 	push the ASCII value of the next character and skip it 	User:Qawtykit
→「any content」 	Print all things between the right angle brackets. 	User:PrySigneToFry
Ë「any content」 	Evaluate the string between the right angle brackets and return the value. 	User:PrySigneToFry
==Examples==
===Hello world===
 iriiiiiPPPPPP+++++iipPrpv Initialize
 v <
 >PP+lP+lP+P+P+lpPcv store and output 'H'
 v <
 >PrrrP+llP-P-P-llpPcv 'e'
 v <
 >iiiiiiiPcPciiiPcv 'llo'
 v <
 >rrrrPlPP++rrpiiPclclv ', '
 v <
 >PPP++llP+cv 'W'
 v <
 >lPciiicddddddcddddddddcrrrriPc! 'orld!'
minimized:
 iriiiiiPPPPPP+++++iipPrpPP+lP+lP+P+P+lpPcPrrrP+llP-P-P-llpPciiiiiiiPcPciiiPcrrrrPlPP++rrpiiPclclPPP++llP+clPciiicddddddcddddddddcrrrriPc!
Even shorter, using PrySigneToFry's command:
 →「Hello, world!」
===Truth-machine===
I?vPO
 >1O1<
Category: User EditedCategory:LanguagesCategory:2024Category:Stack-basedCategory:Cell-basedCategory:Two-dimensional languages