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

From Esolang
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
  1. ↑ Yes, those emoticons are intended to be there.