Forever

From Esolang
Jump to navigation Jump to search

Intro

Forever is an esolang created by User:Helpeesl on May 8th 2025ad designed to have really long programs without doing stuff like Lenguage(i.e. not using an instruction set that’s tied to the length of the line/program).

Commands

The commands were designed to be as hard as possible to write short programs in without being really simple.

+ pushes 1 onto the stack
= sets the top item of the stack to the next item of the stack
) flips the entire stack
- pops the top 2 items of the stack and pushes the top minus the second
, pops the top item of the stack and pushes its conjugate on the top of the stack
* pops the top item and if it’s 0 it goes to the character at the index of the new top and
pops that
^ goes forwards the top item of the stack characters and then pops it
i inputs a number onto the stack
o outputs the top item of the stack as a number and pops it
I inputs a string(Unicode) onto the stack
O outputs the top item of the stack as a string(Unicode) and then pops it
v pops the next item of the stack and puts it into the variable at the number of the top
item of the stack 
V pushes the variable at the top item of the stack onto the stack
e pops the item at the top of the stack and pushes the nat.log. of it onto the top of
the stack
E pops the item at the top of the stack and pushes the nat.exp. of it onto the top of
the stack

Useful combinations of commands

These are the commands that are helpful to know

Pop

The shortest general pop is

+=-^

Swap

The shortest general swap(that I know of) is

++-v^)++-V-)+++--v+=-^)++-v^)++-V-+++--V++-v^)++-V-)+=-^)++-v^)++-V-

Rotators for left and right

The shortest rotators are

)++-v^)++-V-
++-v^)++-V-)

For left and right respectively

Programs

Here are the example programs

Truth machine

i+=o+=+-++-v^)++-V-)+++--+-)++-v^)++-V-+-*

Cat program(Infinite use)

I+=O+++-*