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.
Punktuation
Jump to navigation
Jump to search
- Not to be confused with Punctuation.
Punktuation is a 2d programming language, that uses every punctuation symbol. The logo is the shortest program.

Symbols
| Symbols | and where to use them |
|---|---|
| > | Move right |
| < | Move left |
| ^ | Move up |
| v | Move down |
| + | Add the top of the stack, to the second to the top |
| - | Subtract |
| * | Multiply |
| / | Divide |
| % | Mod |
| . | Print ASCII (will stop after there’s nothing left) |
| , | Print number |
| : | Start program |
| ; | End program |
| ~ | If the top of the stack is 0, move up, if not, move down, if 1, keep moving |
| | | Randomly move in a random direction randomly random |
| “ | Start, and end, string, and add the ascii number to stack |
| ‘ | Start, and end, number sequence (example: ‘14 15’ as in coordinates) |
| @ | Go to coordinates (top and 2nd to top, in that order) |
| # | Add ASCII top of stack to coordinates |
| $ | Add number top of stack of coordinates |
| & | Input (example: &’ to input numbers, &” to ascii) |
| _ | Call function (later down) |
| \ | Rotate the stack clockwise if top is 1, if 0 the counterclockwise, else don’t to anything |
| ` | Start comment |
| [ | Start loop |
| ] | Go to [ if the top of the stack is not 0, if it is then keep going |
| ( | Loop except while true |
| ) | End forever loop |
| { | Subscript/function (can be multi line, like html tags)(also use like this: name{) |
| } | Stop the subscript (run like _name) |
It (pointer?) automatically starts going right.
Examples
:>”!drloW ,olleH”............;
(i hate apple for making it so that three periods make an ellipsis)
Multi line hello world:
v <
:>”!drloW ,olleH”$1 $13 v > ;
. ~^
>-^
Better hello world:
v<<
>.^;
:”!drloW ,olleH”^
Randomly choose from two numbers in input:
>,;
:&'>|<
>&',;
for example, the input:
1 2
randomly outputs 1 or 2.
; , :&’~(,) ;
Cat:
v < v <
^<.
^<
:>&" ^