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

Cat program*

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