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.

PLUSMINUS

From Esolang
Jump to navigation Jump to search

PLUSMINUS is an esoteric programming language developed by User:Jack6254 in 2026. It takes inspiration from Xigxag, created by Chris Pressey in 2001. Like Xigxag, it is considered to be a string-copying automaton. It is very simple, using only 2 commands.

Definition

For a non-empty finite string S under the binary alphabet {+,–}, on step i=(1,2,…)

  • If the i-th symbol is +, copy the first i-1 symbols and append them to the end.
  • If the i-th symbol is –, delete the first i-1 symbols.

i never resets and advances each time. HALT when i>length(S).

Small Example

   +–++– (starting S)
1: +–++– (nothing exists leftward, append nothing)
2: –++–
3: –++—-+
4: -–+
5: HALT (i=5, length(S)=3, 5>3)

NOTE: the singular + halts. ++…++ (with at least 2 +’s) never halts. This shows that there exists non-halting PLUSMINUS programs. The program consisting of only - always halts for any length.

Known Champions (Busy Beaver)

Listed below are PLUSMINUS programs and their corresponding halting times:

+=1
-+=3
-++=4
-+++=7
++++-=15
+++-++=18
++++---=20
--++++++=32
++++-+--+=44
+++++-+-+-=196
+++++-+--+-=913
+++-++++++-+=5940
+-++++++--++-=728
++++-++++++---=608
-+-++++++---+++=2582
+++++-++++-+-++-=31441

Turing Complete?

PLUSMINUS' computational class is currently unkmown. In favour of its universality, PLUSMINUS can create memory via the appendages that “+” creates. This means that code is automatically regenerated and used at a later time for execution. “–“ is very important as it skips code when it is encountered (with the added note that i never resets) so a “jump” occurs.