It's not a mistake it's an esolang

it's not a mistake ✨it's an esolang✨ (shortened: INAMIAE) is a fan programming language made by IkenusDisnem (talk) with its usage to parody the it's not a mistake ✨it's a masterpiece✨ quote said by JellyBean. It is also made to 'remove the it's not a mistake ✨it's a masterpiece✨ spam'. The inspiration came when he/she was watching a JellyBean video and a sudden idea came in his/her brain to make a programming language about it's not a mistake ✨it's a masterpiece✨.
== Syntax ==
before you write a command, you first need to write it in the .iam file extension
=== Basics ===
every command in INAMIAE always starts with:
 it's not
this is an example output command without its arguments:
 it's not JellyBean
to write an argument, simpily write a literal or the name of a variable next to the command. To write a literal, write it's a or it's an and the value of the litteral enclosed with ✨ if it's a string, ⭐ if it's a number, boolean or null.
This is an example of a string literal argument:
 it's not JellyBean ✨it's a String✨
This is an example of a number literal argument:
 it's not JellyBean ⭐it's a 123456⭐
This is an example of a boolean literal (yes for true, no for false):
 it's not JellyBean ⭐it's a yes⭐
This is an example of a null literal:
 it's not JellyBean ⭐it's a void⭐
This is an example of a variable as an argument (Note that the variable has to be declared first):
 it's not JellyBean variableName
To write more than 1 arguments, use and to seperate the arguments
 it's not a minecraft PNGtuber ✨it's a string✨ and ⭐it's a yes⭐
=== Comments ===
simply put the comment between 2 parentheses
 (This is a comment)
=== Variables ===
to declare/set a variable, the first argument needs to be the position of the cell on a tape. the second argument is the value, the third is the operation (Note that you cannot have 2 variables on one location):
 it's not variableName ⭐it's a 0⭐ and ✨it's a value✨ and ✨it's an overwrite✨
Here are the lists of variable operations:
 Variable Operations
Operation Name 	What it does
overwrite 	overwrites the current value of the cell
concatenate 	concatenates the cell's value (string) with another string
ASCII 	turns into ascii character if number is given, ascii code if string is given
addition 	adds the cell's value (number) with another number
subtraction 	subtracts the cell's value (number) with another number
multiplication 	multiplies the cell's value (number) with another number
division 	devides the cell's value (number) with another number
division but returns the remainder instead of the quotient	performs a modulo operation with the cell's value (number) to another number
compare equalness 	equivalent to the == operation in other programming languages
compare unequalness 	equivalent to the != operation in other programming languages
compare greaterness 	equivalent to the > operation in other programming languages
compare greatness with equalness as well 	equivalent to the >= operation in other programming languages
compare lesserness 	equivalent to the < operation in other programming languages
compare lessness with equalness as well 	equivalent to the <= operation in other programming languages
casting 	casts the value's datatype to the cell's value
== Commands ==
Here are the list of commands in INAMIAE
 Caption text
Command Name 	How to write it 	Amount of arguments 	What it does
ENDPROGRAM 	it's not a mistake 	1 (string) 	Ends the program without an error if the argument is ✨it's a masterpiece✨
OUTPUT 	it's not JellyBean 	1 (any) 	Outputs the argument into the console
INPUT 	it's not an ordinary PNGtuber	1 (boolean) 	will store input as string in '__JELLY_INPUT if argument is true, else will store input as number in '__JELLY_INPUT
DECLARE_JUMP_LABEL	it's not an ordinary game 	1 (string) 	will declare a label to jump to
GOTO_JUMP_LABEL 	it's not a minecraft PNGtuber	2 (String and a Boolean)	will jump into the given label if the given boolean is true
== Built-in variables ==
Here are some variables that are built into the compiler:
 Caption text
Variable Name 	Value that it stores 	Description
'__JELLY_INPUT	whatever the input's value is	Used by the INPUT command to store the input
'__JELLY_PI 	the value of PI 	Because someone might need it
== Some Examples ==
=== A Truth-machine program ===
(A Truth-machine)
(We first get input)
it's not an ordinary PNGtuber ⭐it's a no⭐
(Comparison time)
it's not comparison ⭐it's a 0⭐ (position) and ⭐it's a 1⭐ (value) and ✨it's an overwrite✨ (operation)
it's not comparison ⭐it's a 0⭐ and '__JELLY_INPUT and ✨it's a compare equalness✨
(jumps to the part we print 1 if comparison is true)
it's not a minecraft PNGtuber ✨it's a pain and suffering✨ and comparison
(the part we print 0)
it's not JellyBean ⭐it's a 0⭐
(end program)
it's not a mistake ✨it's a masterpiece✨
(the part we print 1)
it's not an ordinary game ✨it's a pain and suffering✨
it's not JellyBean ⭐it's a 1⭐
it's not a minecraft PNGtuber ✨it's a pain and suffering✨ and ⭐it's a yes⭐
== External Sources ==
# Compiler
Category:Languages Category:Cell-based Category:Implemented Category:2022