∞
Jump to navigation
Jump to search
∞ (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 |
+ |
add top 2 of stack | User:Cleverxia |
- |
subtract top 2 of stack (a b - =>a-b ) |
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 |
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!
Truth-machine
I?vPO >1O1<