WaidWmy

This is a esoteric programming language made by User:AlmostGalactic
== How to use ==
=== Printing ===
Printing Waidwmy is pretty simple
I AM GOING TO SAY "Hello, World!" BECAUSE I CAN
this just prints out "Hello, World!"
=== Variables ===
Programming in WaidWmy would be really difficult without variables
if you want to make a variable just do this
LETS MAKE A VARIABLE NAMED (Variable Name) WITH THE VALUE OF (Value)
And to use it just put its name
LETS MAKE A VARIABLE NAMED Name WITH THE VALUE OF "User Name"
I AM GOING TO SAY Name BECAUSE I CAN
this prints out the variable name which is "User Name"
=== Selecting Variables ===
Another thing you can do with your variables is select them. This allows you do do stuff with your variables
Here is how you select a variable
LETS SELECT THE VARIABLE CALLED (Variable Here)
Selecting a variable allows you to modify it. One example of modifying a variable is changing its value
LETS MAKE A VARIABLE NAMED NAME WITH THE VALUE OF "Default Name"
LETS SELECT THE VARIABLE CALLED NAME
SET THE SELECTED VARIABLES VALUE TO "Other Default Name"
We selected the variable Name and changed its value to "Other Default Name" using
SET THE SELECTED VARIABLES VALUE TO (Value)
=== Random Numbers ==
For now, WaidWmy only supports whole random numbers; no decimals.
Here is how to get a random number
GET A RANDOM NUMBER BETWEEN (min) AND (max) TO STORE IN THE SELECTED VARIABLE
Here is a program to print a random number
LETS MAKE A VARIABLE NAMED RAND WITH THE VALUE OF 0
LETS SELECT THE VARIABLE CALLED RAND
GET A RANDOM NUMBER BETWEEN 1 AND 100 TO STORE IN THE SELECTED VARIABLE
I AM GOING TO SAY RAND BECAUSE I CAN
now everytime you run the program it will give you a random number between 1 and 100
=== Math ===
Now that we have variables covered we can do math!
In order to do math we need a selected variable
LETS MAKE A VARIABLE NAMED MATH WITH THE VALUE OF 0
LETS SELECT THE VARIABLE CALLED MATH
Now that we have one we can do math. You can do math like this
CAN WE ADD (Number) TO THE SELECTED VARIABLE
CAN WE SUBTRACT (Number) TO THE SELECTED VARIABLE
CAN WE MULTIPLY (Number) TO THE SELECTED VARIABLE
CAN WE DIVIDE (Number) TO THE SELECTED VARIABLE
This replaces the selected variables value with the returned value
There is no current way to use modulus
== Other Stuff ==
=== Concatenation ===
You can concat values to the selected variables value
Lets get a selected variable
LETS MAKE A VARIABLE NAMED Concat WITH THE VALUE OF "Test 1"
LETS SELECT THE VARIABLE CALLED Concat
Now to concat you need to use JOIN
Heres how
JOIN (value) (BEFORE/AFTER) THE SELECTED VARIABLES VALUE
If you use
JOIN (value) BEFORE THE SELECTED VARIABLES VALUE
it will concat (value) before the value of the selected variable,
vice versa
Once that is done it will replace the selected variables value with the joined value
=== User Input ===
You can get the user's input by using
GET THE USERS INPUT
This will give the user a prompt and store the input into a variable called USERINPUT
=== Halting ===
If you want to stop the program forcefully you can use halt
PLEASE HALT THIS PROGRAM
=== Labels ===
Since WaidWmy doesn't have functions you can use labels.
Here is how you make one
MAY I TALK ABOUT (Label Name) HERE
That creates the label but if you want to go to it you have to do
WANT TO TALK ABOUT (Label Name)
Here is an example of a really long hello world program using Labels
I AM GOING TO SAY "HELLO" BECAUSE I CAN
WANT TO TALK ABOUT WORLD
PLEASE HALT THIS PROGRAM
MAY I TALK ABOUT WORLD HERE
I AM GOING TO SAY "WORLD!" BECAUSE I CAN
PLEASE HALT THIS PROGRAM
This outputs
HELLO
WORLD
=== If Statement ===
Since you can't make a lot of programs without if's it is now here.
Here is how you make an if
IF (value1) IS (GREATER THAN / EQUAL TO / LESS THAN) (value2) THEN LETS TALK ABOUT (label to go to)
Here is a simple way to use if statements
GET THE USERS INPUT
IF USERINPUT IS EQUAL TO 1 THEN LETS TALK ABOUT Forever
I AM GOING TO SAY 0 BECAUSE I CAN
PLEASE HALT THIS PROGRAM
MAY I TALK ABOUT Forever HERE
I AM GOING TO SAY 1 BECAUSE I CAN
WANT TO TALK ABOUT Forever
If you have experience with esolangs you may know this is a truth machine
=== Waiting ===
If you want to wait a number of seconds before continuing your program you can use this
LETS WAIT (seconds) SECONDS SINCE I HAVE TIME
That waits the specified number of seconds before continuing your program again
=== Clearing the Console ===
Just clears the console
CLEAR THE CONSOLE PLEASE
== Programs ==
=== Calculator Program ===
I AM GOING TO SAY "ENTER A NUMBER" BECAUSE I CAN
GET THE USERS INPUT
LETS MAKE A VARIABLE NAMED FIRSTNUM WITH THE VALUE OF USERINPUT
I AM GOING TO SAY "ENTER ANOTHER NUMBER" BECAUSE I CAN
GET THE USERS INPUT
LETS MAKE A VARIABLE NAMED SECONDNUM WITH THE VALUE OF USERINPUT
I AM GOING TO SAY "ENTER IN AN OPERATOR" BECAUSE I CAN
GET THE USERS INPUT
LETS MAKE A VARIABLE NAMED OPERATOR WITH THE VALUE OF USERINPUT
IF OPERATOR IS EQUAL TO "+" THEN LETS TALK ABOUT ADD
IF OPERATOR IS EQUAL TO "-" THEN LETS TALK ABOUT SUB
IF OPERATOR IS EQUAL TO "*" THEN LETS TALK ABOUT MUL
IF OPERATOR IS EQUAL TO "/" THEN LETS TALK ABOUT DIV
I AM GOING TO SAY "INVALID OPERATOR" BECAUSE I CAN
PLEASE HALT THIS PROGRAM
MAY I TALK ABOUT ADD HERE
LETS MAKE A VARIABLE NAMED RESULT WITH THE VALUE OF FIRSTNUM
LETS SELECT THE VARIABLE CALLED RESULT
CAN WE ADD SECONDNUM TO THE SELECTED VARIABLE
I AM GOING TO SAY RESULT BECAUSE I CAN
PLEASE HALT THIS PROGRAM
MAY I TALK ABOUT SUB HERE
LETS MAKE A VARIABLE NAMED RESULT WITH THE VALUE OF FIRSTNUM
LETS SELECT THE VARIABLE CALLED RESULT
CAN WE SUBTRACT SECONDNUM TO THE SELECTED VARIABLE
I AM GOING TO SAY RESULT BECAUSE I CAN
PLEASE HALT THIS PROGRAM
MAY I TALK ABOUT MUL HERE
LETS MAKE A VARIABLE NAMED RESULT WITH THE VALUE OF FIRSTNUM
LETS SELECT THE VARIABLE CALLED RESULT
CAN WE MULTIPLY SECONDNUM TO THE SELECTED VARIABLE
I AM GOING TO SAY RESULT BECAUSE I CAN
PLEASE HALT THIS PROGRAM
MAY I TALK ABOUT DIV HERE
LETS MAKE A VARIABLE NAMED RESULT WITH THE VALUE OF FIRSTNUM
LETS SELECT THE VARIABLE CALLED RESULT
CAN WE DIVIDE SECONDNUM TO THE SELECTED VARIABLE
I AM GOING TO SAY RESULT BECAUSE I CAN
PLEASE HALT THIS PROGRAM
=== Truth Machine ===
Asks for input. Outputs 1 forever if input is 1 else outputs 0 once
I AM GOING TO SAY "1 or 0" BECAUSE I CAN
GET THE USERS INPUT
IF USERINPUT IS EQUAL TO 1 THEN LETS TALK ABOUT TRUTHMACHINE
I AM GOING TO SAY 0 BECAUSE I CAN
PLEASE HALT THIS PROGRAM
MAY I TALK ABOUT TRUTHMACHINE HERE
I AM GOING TO SAY 1 BECAUSE I CAN
WANT TO TALK ABOUT TRUTHMACHINE
== Interpreters ==
Scratch interpreter
Category:Languages Category:2024 Category:Implemented Category:Pseudonatural