It's not a mistake it's an esolang

From Esolang
Jump to navigation Jump to search
The title of this article is not correct because of technical limitations. The correct title is actually 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

  1. Compiler