We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

From Esolang
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 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
→「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
Rotate the entire program 90 degrees clockwise. This does not move the instruction pointer. User:Qawtykit
Rotate the entire program 90 degrees counter-clockwise. This does not move the instruction pointer. 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!

Even shorter, using PrySigneToFry's command:

→「Hello, world!」

Truth-machine

I?vPO
  >1O1<