1=0+1
Jump to navigation
Jump to search
1=0+1 is an esolang invented by User:None1.
Variables
1=0+1 has n variables, where n is the number of lines. The variables are named 0 to n-1. Initially, the value of each variable is the same as its name.
Lines
Each line must be like this:
x=y1+y2+...+ym
x and yi are variable names. x must be equal to the line number (0-indexed).
This command makes variable x the sum of variables y1, y2,...,ym.
Control flow
All lines are executed simultaneously, meaning that they all read from the variables before any line is executed.
The lines are executed infinitely (i.e.: the control flow wraps around), so programs never terminate.
I/O
After each loop, all variables are printed.
Examples
Powers of 2
0=0 1=1+1
The result is stored in variable 1.
Fibonacci
0=1 1=0+1
The result is stored in variable 1.
Counting
0=0+1 1=1
The result is stored in variable 0.
Interpreter
Python
import sys
from time import sleep
code = sys.stdin.read().strip().split("\n")
n = len(code)
v = list(range(n))
z = []
for i, j in enumerate(code):
x, y = j.split("=")
if x != str(i):
raise SyntaxError("Invalid code")
z.append(list(map(int, y.split("+"))))
c = 0
while 1:
c += 1
tmpv, v = v[:], [0] * n
for i, j in enumerate(z):
for k in j:
v[i] += tmpv[k]
print(f"Cycle #{c}:", v)
sleep(0.1)