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.

Dodecahedron

From Esolang
Jump to navigation Jump to search

Dodecahedron is an esolang I created which centers on 12 dodecahedrons nested inside one another at different z-levels, 0 to 11. This is the memory. The instruction space is itself a square grid where you can place instructions. The instructions have a likeness to Befunge while also being more advanced due to the memory.

Commands
Instruction Meaning
< > ^ v Change the instruction pointer's direction.
u d Move the memory pointer up or down in the z-direction. (11 <--> 0)
0-9, A, B Send the memory pointer to the cell with that number on the current dodecahedron. (A = 10, B = 11)
i, d Increment and decrement.
, Ask for input. (numeric)
; Ask for input. (ASCII)
. Output and pop. (numeric)
: Output and pop. (ASCII)
" String mode toggler. (I really like Befunge)
+-*/% Math operations on two values. (The current memory cell and the one below (each face of a given dodecahedron is a memory stack.) )
# Random direction.
? Quantum direction. (3 new "pointers", the first one to hit an instruction becomes the new pointer)
' (single quote NOT double quote ") Toggle pushmode (push all numbers)
(, ) Moves the memory cell one step up or down the stack. (pushing an element moves it up by force so these control that.)
@ If-statement
$ Else-statement
y, n Yes- and no-markers (ending an if-statement)
! Skip the next command. X End.

Due to each dodecahedral face being its own stack, there are not 144 storage points but 144 stacks, each infinite in height.

Example programs

Infinite loop

><
v
^
>v
^<
v<
>^

Hello world program

"!dlrow ,olleH":::::::::::::X

Do nothing

X