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 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<