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

From Esolang
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.

Logo

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

Hello world:

:>”!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.

Truth Machine:

   ;
   ,
:&’~(,)
   ;

Cat:

 v   < v  <
     ^<.
      ^<
:>&"      ^