2 of 3 Add a short unary version

## UberGenes, 33 bytes

I'm giving two versions here, just to demonstrate the lang. Integers and memory in UberGenes are bounded only by computer memory, so both versions meet the "forever" requirement. This first one is for score:

=ii+a1=pa=q7*q7=bi-p1=oq:bp=oI=i0


It prints numbers in unary separated by '=' characters. Explanation (indents indicate a loop start):

=ii                                  NOP
+a1                               INC a (initially 0)
=pa                               COPY a INTO p
=q7*q7                            SET q=49 ('1')
=bi                               SET b to this location (15)
-p1                            DEC p
=oq                            OUTPUT '1'
=oI                               OUTPUT the contents of this location ('=')


The second version is more interesting (66 bytes):

=ii+a1=l0-l2=pa=z8*z6=t5*t2=bi=qp%qt+qz=Lq-l1/pt:bp=bi=oL+l1:bL=i0


It prints the numbers in decimal separated by NULLs.

How it works (indents indicate a loop start):

=ii                                  NOP
+a1                               INC a (initially 0)
=l0-l2                            SET l=-2
=pa                               COPY a INTO p
=z8*z6                            SET z=48 ('0')
=t5*t2                            SET t=10
=bi                               SET b to this location (27)
=qp                            COPY p INTO q
%qt                            MOD q BY 10
+qz                            ADD 48 to q (turn it into character)
=Lq                            PUT q AT MEM[l]
-l1                            DEC l
/pt                            DIVIDE p by 10
:bp                            JUMP back to b's location if p>0
=bi                               SET b to this location (51)
=oL                            OUTPUT the character in MEM[l]
+l1                            INC l
:bL                            JUMP back to b's location if MEM[l]>0
=i0                               JUMP back to beginning of main loop