Jolf
Jump to navigation
Jump to search
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 } }