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.
Jolf
Jolf is a prefix-notation language that transpiles to JavaScript, made by User:Conor O'Brien. You can find an interpreter here and spotty documentation here.
Language Overview
Every character does something. Simple, right? A character can be one of the following types:
- Control character. This character is used to provide control flow to the program.
- Operator character. This character "consumes" arguments and returns something based on the arguments.
- Data character. This character can be used as information for an operator character.
- Modifying character. These characters do actions, but do not count as data or operators. These commonly change the way in which the Jolf code is parsed, e.g., String mode.
- Substitution character. This is a character that directly transpiles to something else. Their use is discouraged.
Language Features
List of general abilities of Jolf.
- Implicit printing. If nothing has been printed, Jolf will print the last item evaluated.
- Direct transpiling. Using the
$character, you can directly insert JavaScript code. (This trivially proves Jolf's state of Turing completeness.)
Example Programs
Hello, World!
"Hello, World!
The string closes implicitly and is implicitly outputted.
Quine
Cheating variant:
q
q is the programs source code.
Proper quine:
Q«Q«
Doubles the string `Q«`--the guillemets are directional strings.
Regular variants:
1
5
"e" // with pretty printing enabled
Cat
For one item:
i
Takes input, implicit output.
For an arbitrary amount of items:
oH1WH)aoHm~}
oH1 set H to 1
WH) while(H){
a alert (print)
oH and set H =
m~ a new prompt instance, executed
} }