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.
Avoid
Avoid is an esoteric programming language created by User:Jack6254 on October 7th, 2026. It is based on the study of combinatorics on words. The subject originated with foundational work published by Axel Thue on square-free words, infinite words, and repetitions in the early 1900s.
Definition
A cube is a non-empty string X repeated 3 times consecutively (e.g 101010 → (10)(10)(10)).
B=(b1,…,bn) is a fixed list of non-empty binary strings.
For an initially empty string B', repeatedly choose the leftmost bi such that, after appending bi to B', the resulting B' contains no cube. If valid, append bi to B'.
HALT when every choice results in B’ containing a cube after appending.
Small Example
Consider B=(1,0). It halts with a string of length 8.
∅ → 1 → 11 → 110 → 1101 → 11011 → 110110 → 1101101 → 11011011 → HALT
Here, “∅” denotes the empty string. If we append a 0, we form the cube (110)(110)(110). If we append a 1, we form the cube (1)(1)(1). Therefore, none of the above options are valid. It is tedious, but as a reminder, the LEFTMOST available string is always chosen.
Potentially Long Halting Time
Aristotle has proven that B=(01,10,0) halts with B’ of length 46541. However, this claim should undergo human revision and analysis.
Turing-complete?
It is currently unknown whether or not Avoid is Turing-complete. There is no current rigorous simulation of a Turing machine (or any other universal model) known to have been constructed. A key obstacle is that you can only append fixed words, without directly modifying the existing prefix.