writr
writr is an esolang created by User:Yayimhere, based on their other language Bijection. writr is basically just a superset of Bijection. Yayimhere herself personally does not think it is much of an esolang, but as it to a normal programmer seems completely useless.
Etymology
writr's name is a type of the word "write" as the creator was looking if any languages was named that(as write makes sense as a name for writr).
Commands
N : M
Copy and append the contents of line N to line M
N ; M
Delete all instances of line N in line M
N + M : X
Set line X to line N appended to line M
N - M : X
Set line X to line M with all instances of line N removed
N ! M
If N ever is ran, abstain M from being ran in that timespan
N @ M ? X
Define that the symbol on line M with index X is now a command that runs whatever N runs
|
Separate commands on the same line
N $ M
Send a command pointer to line N and one to line M
N & M
Returns true/1 if N and M both are being ran, else return false/0
N * M
Returns true/1 if N or M is being ran, but not both. Else return false/0
N _ M : X
If the symbol at index and after X of line M is equal to line N, return true false otherwise
N ? M
Checks the following if statement. If returning false, then select and run N, else run M. No if statements may be without this operator. A pair of ? and an if statement is considered a single command
N x M
Copy and prepend line N to line M
N ^ M
Move the pointer at line N to line M
N . M
Delete the pointer at line N. Then goto line M
[M]
Len(M)-1
c
continue the last line ran, right after the last command ran on that line. Useful for ?
v
current line number
V
current line number plus 1
Lines are indexed by 0.
Computational class
writr is turing complete, because it can compile from BCT. The program must start with the below code, and then the given translations can be used:
0 ^ 8 |D 1 0 c |1 |0 |
Translations:
0 -> | 5 ; 1 | 6 ; 1 | 7 x 1 | 11 -> | 4 ? V | 1 _ 2 : [1] | 2 : 1 | 10 -> | 4 ? V | 1 _ 2 : [1] | 3 : 1 |