We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Dialogue

From Esolang
Jump to navigation Jump to search

Dialogue is an esolang similar to the SPL. It is a dialogue-based language.

Characters

Like SPL, there can be only 2 characters on one stage. You can make a character by this line:

Alex:
Hello I am 5!

That value 5 stores into the variable "Alex". You see, Alex set it, so it is Alex plus 1 comma plus 1 newline. Another example:

John:
Hello you are 10!

That "You" refers to Alex, and John changed it into 10. But that doesn't automatically mean John will get the value 10 because no one decribed him.

Charactors are like values in python. It has a name on coding, and it has a value.

Person

Persons are like the main mechanic keyword in Dialogue. They represent who is receiving the value or do a thing.

I: The person who's speaking right now has this value or do this thing.
You: The person who's not speaking right now has this value or do this thing.

For example, in our early text:

John:
Hello you are 10!

John is saying You, so John himself is not 10, but Alex is. Since there is only maximum 2 people on one stage, the person who's not talking could only be Alex.

Output and Input

Dialogue uses "say (person) line!" to output what the character's value are. Dialogue uses "(person) ask for help!" to input user's answers. For example:

Alex:
Say my line!

means 10, because we already said that in the past Alex is changed by John into 10.

Absolute

Dialogue uses exclamation mark at the end of a simple statement to absolute it(to make it run). Else, it will just not run or be a comment.

Adding Stages

Stages are important, and you can add stages insde asterisks. For,example:

*add stage, named literally new stage* 

will create a new stage called "new stage". Now you have to enter the characters to the stage. You can invite characters from other stages to this current stage by using *(character name) walked in*.

Type Casting

setting type casting in Dialogue appeared to be keywords Here's all keywords that converts a value into other types.

  • number: Integer
  • decimal: Decimal numbers (float)
  • literally: Strings
  • truth of: Boolean

For example:

Alex:
Hello I am literally 123!
Alex:
number I!

That gives Alex the value integer 123 instead of string 123 who can join with other strings.

If Statements

one person will be asking, and one will reply. The person who replies will do the thing inside the body if the condition is true except using "You".

If Head

To start an if statement, start off with the asker, saying "What will happen if (condition)?" exactly but without the quotes.

If Body

As I said before, one will reply the person who's asking, and the one who replies will do the thing inside the body if the condition is true except using "You". The replier will say exactly but without the quotes "(person) will (action)". If you need to do multiple things at once inside the if body, just add semicolons.

Else and Else If

Else ifs are when the past asker's gonna say. Repliers never do else ifs. Asker will say, "But what if (condition)"? exactly without the quotes.

Replies are pretty much the same as in the if's.

Elses are said by the askers too, saying exactly but without the quotes "Else?"

Repliers say the same reply as in the if's.

See also