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.
Open
Jump to navigation
Jump to search
Open is a variable-based esolang by User:Hammy where you can only use 3 variables at a time. It was inspired by shelflife.
Commands
Each command is seperated by a semicolon or new line. If your syntax is wrong (e.g. using non-existent commands or forgetting a parameter), it will throw error 0.
| Command | Meaning |
|---|---|
STR |
Start the program. |
TEM |
Terminate the program. |
DEC (name) (value) |
Declares a closed variable. |
OPN (name) |
Open a closed variable. Throws error 1 if the variable is already open, and throws error 2 if there are already 3 opened variables. |
CLO (name) |
Close an open variable. Throws error 1 if the variable is already closed. |
SET (name) (value) |
Set a value to an opened variable. Throws error 4 if the variable is closed. |
JMP (var) (data) (line) |
If "var" = "data", jump to line "line". Throws error 5 if the line does not exist, and throws error 6 if the expression in "data" is invalid. |
ERR |
Throws error 3. |
OUT (var) |
Outputs the number at the variable "var" as ASCII. Throws error 7 if the variable is outside the range of 0 to 255. |
Errors
| Error | Error code |
|---|---|
| Syntax Error: Your syntax is wrong. Please fix it and try again. | 0 |
| Variable Error: You are trying to open an opened variable, or close a closed variable. Both are completely useless. | 1 |
| Open Error: You cannot have 4 opened variables at once. Please close one and try again. | 2 |
| Program Error: Your program has intentionally caused an error, and we won't tell you why. | 3 |
| Access Error: That variable is closed. You do not have the permission to access it. | 4 |
| Line Error: That line does not exist. Have you tried adding blank lines? | 5 |
| Expression Error: The expression is invalid. And this sentence is too! | 6 |
| ASCII Error: D= Oh no, that isn't even a real ASCII character... Maybe try again later? :/[1] | 7 |
| System Error: An error happened, but we don't know what it is. | 8 |
Examples
Hello, world!
There's probably a shorter way to do this, right?
STR DEC A 72 OPN A OUT A SET A 101;OUT A SET A 108;OUT A;OUT A SET A 111;OUT A SET A 44;OUT A SET A 32;OUT A SET A 119;OUT A SET A 114;OUT A SET A 108;OUT A SET A 100;OUT A SET A 33;OUT A TEM
XKCD random number
STR;DEC XKCD 52;OPN XKCD;OUT XKCD;TEM
- ↑ Yes, those emoticons are intended to be there.