An Stack Based EsoLang I made! See more info here https://esolangs.org/wiki/AnnoyingScript Controls Space: Add new line with text Up Arrow: Edit line R: Run Code Here is a simple truth Machine _~?1>~!3|>0 if the input is 1 it outputs 1 forever else it outputs 0 once
DOCUMENTATION +(char) Adds a single character to the stack. Example: +A+B+C Resulting stack: A B C # Halts the program ; <- number here pauses the program for the specified number of seconds - Removes the last item from the stack. Example: +A+B+- Resulting stack: A< $ <- number here Gets a random number between 1 and number param Example: $10 gets a random number from 1 to ten ^ Clears the output < Reverses the order of the stack. Example: +A+B+C< Stack before: A B C Stack after: C B A : Combines all items in the stack into a single string. Example: +A+B+C: Stack before: A B C Stack after: ABC ~ Retrieves the last item in the stack without removing it. Example: +A+B+C~ ~ Value: C ~\ Clears the temporary value (~). Example: ~\ After this, ~ is empty. ~( <- number here Sets the temporary value (~) to the value of a variable. Example: ~(1 Action: Assigns the value of variable 1 to ~. >(value) Outputs text to the console. Example: +A+B+C<:~>~ Output: ABC _ Asks for input and adds it to stack = Creates a variable with the current value of ~. Example: +1~=>@1 outputs 1 because variable one has a value of 1 Action: Stores ~ in a variable. @ <- number here Gets and returns the value of the variable with the number. Example: +E~=>@1 Outputs: E =( <- number here replaces he variable with the number with ~ value Example: +E~=>@1+4~=(1>@1 Outputs: E 4 =) <- number here deletes the variable with the specified number !(index) Jumps to a specific index in the code. Example: !5 Action: Moves execution to code index 5. ?(value) Conditional statement that checks if ~ equals the given value. Ends with |. Example: ?1+E<:~>~| If ~ = 1, the stack becomes E. ?!(value) Conditional statement that checks if ~ is not equal to the given value. Ends with |. Example: ?!1+E<:~>~| If ~ does not = 1, the stack becomes E. {(text)} Defines a string of text, allowing multi-character input. Only allowed in certain commands. Example: >{Hello, World!} outputs Hello, World! &(operator) Does math on the last 2 items in stack. Example: +1+2&/~>~ returns 0.5 because 1/2 = 0.5 ; <- number here waits the specified number of seconds