ParamNO

From Esolang
Jump to navigation Jump to search

ParamNO is an esoteric programming language invented by codingMASTER398 in 2021.

It is created to be similar to other programming languages but with shuffled parameters. It is unknown whether it is Turing complete.

The trick

The base of ParamNO would be a fairly normal language if not for the param shuffling.

PRINT
-NUMBER 1 
-NUMBER 2 
-NUMBER 3 

Can output

1
3
2

Or any other combination of 1, 2 and 3, because the parameters (starting with dashes) are randomised in their order of execution

Example code

// This is an example of my ParamNO esolang
// Comments can be made with double lines like in JavaScript
// But you can't append a comment to a line of actual code, so make sure you are on a new line.


// This function called "GOO" Should never run
FUNC goo
PRINT
-TEXT Huh? This isn't supposed to run

// Any line starting with "FUNC" will become a new function. It must have a name.

// Say you wanted to print something, you would have the PRINT function, then following that, parameters starting with a -
// Most parameters have to start with something like "TEXT" or "VAR" depending on what it's referring to.
// Parameters are jumbled though and scrambled, as that is the base concept of this esolang


FUNC MAIN

// The MAIN function is always called first.


// Here we set the variable GOO to GOO and print it.

SET
-TEXT GOO
-TEXT GOO

PRINT
-VAR GOO

IF
-TEXT GOO
-TEXT GOO
-TEXT GOO

PRINT
-TEXT "GOO" is not "GOO" for some reason

// Here we use a workaround for the IF statement
// Because all parameters are jumbled, it's better if all the parameters are the same. You can't do much that way but it makes sure that it runs 100% of the time.

//IF the text "GOO" is equal to "GOO" then we go to the function called "TEXT GOO". When you go to a function, it cancels all the other lines after it.

FUNC TEXT GOO

PRINT
-TEXT Yes, "GOO" is in fact "GOO"

Bottles of beer on the wall

// This program is the fastest known way to write the beer on the wall program. It doesn't use any double parameters and will always run perfectly.
FUNC MAIN
INPUTNUM
-TEXT bottles
GO
-DOWN
FUNC DOWN
PRINT
ADDNEXTPRINT
-VAR bottles
ADDNEXTPRINT
-TEXT bottles of beer on the wall,
ADDNEXTPRINT
-VAR bottles
PRINT
-TEXT bottles of beer!
MINUSONE
-bottles
ADDNEXTPRINT
-TEXT Take one down, pass it around
ADDNEXTPRINT
-VAR bottles
PRINT
-TEXT bottles of beer on the wall.
ZEROSTOP
-VAR bottles
GO
-DOWN
FUNC STOPOVERRIDE
PRINT
PRINT
-TEXT No more bottles of beer on the wall, no more bottles of beer.
PRINT
-TEXT There's nothing else to fall, because there's no more bottles of beer on the wall.

Commands and installation

https://github.com/codingMASTER398/ParamNO