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.

Unfunge

From Esolang
Jump to navigation Jump to search
Not to be confused with Unefunge.

Unfunge is an esolang by User:JIT, 2025

"I wonder what's the smallest subset of Befunge that's still Turing complete"

-User:JIT, 2025
Cmd Description
+ Addition: Pop two values a and b, then push the result of a+b
! Logical NOT: Pop a value. If the value is zero, push 1; otherwise, push zero.
` Greater than: Pop two values a and b, then push 1 if b>a, otherwise zero.
_ Horizontal IF: pop a value; set direction to right if value=0, set to left otherwise
| Vertical IF: pop a value; set direction to down if value=0, set to up otherwise
: Duplicate top stack value
# Bridge: jump over next command in the current direction of the current PC
g A "get" call (a way to retrieve data in storage). Pop two values y and x, then push the ASCII value of the character at that position in the program. If (x,y) is out of bounds, push 0
p A "put" call (a way to store a value for later use). Pop three values y, x and v, then change the character at the position (x,y) in the program to the character with ASCII value v
& Get integer from user and push it
@ End program

you can try and delete some more commands

nor gate*

&#:!!:#!_|+
         :
         :
         _&!!&!!+!p@

Cat program*

&|    _:|
 :    !
 !    :
:_&!!:|_!
 :    :
      _:_&p@

better Cat program*

&#!_:::|:::
:&p@   _