Yuontlitled
Yuontlitled(pronounced you-n-tli-tled) is an esolang devised by User:Yayimhere, purely to have a visual style similar to (___;___). It is a very separated esolang, as in, it has multiple systems that do not easily interact, however this is not intentional, but does add to the overall esoteric-ness of the language.
Syntax and memory
Yuontlitled programs are made up of codeblocks, each on a separate line. Codeblocks are bracket surrounded code. Every codeblock has a value. This value is called the assigned register. Every assigned register starts at 0. There's also a few other additional states/memory items:
- A queue called the save queue. This holds register values that have been "saved"
- A sort of address space, holding info, in no specific format, on whether a specific codeblock has been abstained. Abstained codeblocks are not ran until they are reinstated.
- A leaving point for every codeblock. This is the command that was going to be ran, but instead a jump was performed to another codeblock. When a specific codeblocks in jumped to again, then execution will resume at this point. If the leaving point is outside of the codeblock, then the next codeblock is chosen. Note that abstaining and the reinstating resets the leaving point.
When a specific codeblock has ended, its leaving point is reset, and the codeblock on the line after is chosen for execution.
Operations
Below are all the operations that can be present within a codeblock:
- _: increment the assigned register.
- ;: enqueue the assigned register's value.
- ': shifts a value of the end of the queue, and decrements the assigned value by that.
- .: move forward as many times as the value of the assigned register, wrapping around the program(note that the value jumped by, is incremented by one).
- ?: abstain this codeblock and jump to the one following it. This removes the value of the leaving point.
- x: select the codeblock that would have been jumped to if a
.had been ran. If that codeblock is not abstained, abstain it. Else, reinstate it.
Examples
Looping counter in queue:
(;.)
Looping counter in assigned value:
(_.)