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.
Odasjoi
Jump to navigation
Jump to search
Odasjoi (/əʊˈdæsdʒɔɪ/) is an esolang invented by User:None1. Its name is chosen by smashing random keys, its commands are, too.
Commands
Commands must be separated by line feeds and are case insensitive.
fowdif Increase the accumulator wekeww Decrease the accumulator woiejd Input the accumulator (as decimal) doqije Output the accumulator (as decimal) iwejdo If the accumulator is 0, halt oweijw Execute the remaining commands infinitely
The accumulator can store signed decimal integers.
Examples
Truth Machine
woiejd doqije iwejdo oweijw doqije
Decimal cat
oweijw woiejd doqije
XKCD Random Number
fowdif fowdif fowdif fowdif doqije
Infinite loop
oweijw
Python interpreter
By User:None1, enter stop to stop reading the program:
import sys
c=[]
while 1:
d=input()
if d=='stop':
break
c.append(d)
def odasjoi(c,x):
while c:
k=c.pop(0)
if k=='fowdif':
x+=1
elif k=='wekeww':
x-=1
elif k=='woiejd':
x=int(input())
elif k=='doqije':
print(x)
elif k=='iwejdo':
if not x:
sys.exit(0)
elif k=='oweijw':
while 1:
odasjoi(c[:],x)
odasjoi(c,0)
c=[]
while 1:
d=input()
if d=='stop':
break
c.append(d)
def odasjoi(c,x):
while c:
k=c.pop(0)
if k=='fowdif':
x+=1
elif k=='wekeww':
x-=1
elif k=='woiejd':
x=int(input())
elif k=='doqije':
print(x)
elif k=='iwejdo':
if not x:
sys.exit(0)
elif k=='oweijw':
while 1:
odasjoi(c[:],x)
odasjoi(c,0)