User:Aadenboy/Windle
Jump to navigation
Jump to search
Windle is a 2D esoteric programming language.
Programs are laid out spatially. as disjoint orthogonal lines. Each line is either single or double struck. Programs start at S and end at E.
One-path straight
S-- --E S>> >>E S== --E S>> >>E S-- ==E S>> >>E S== ==E S>> >>E
One-path turn
S--- S>>> S=== S>>>
| v | v
E E E E
S--- S>>> S=== S>>>
H v H v
E E E E
T-junction from straight
000 B 100 A 001 A 101 B 010 B 110 A 011 A 111 B
S--- ---E S>>> ---E S=== ---E S>>> >>>E
| v | |
E E E E
S--- ---E S>>> >>>E S=== ---E S>>> ---E
H H H v
E E E E
S--- ===E S>>> ===E S=== ===E S>>> >>>E
| v | |
E E E E
S--- ===E S>>> >>>E S=== ===E S>>> ===E
H H H v
E E E E
T-junction from split
000 AB 100 AB 001 B 101 B 010 A 110 A 011 AB 111 AB
E E E E
| ^ | ^
S--- S>>> S=== S>>>
| v | v
E E E E
E E E E
H ^ H ^
S--- S>>> S=== S>>>
| | | |
E E E E
E E E E
H ^ H ^
S--- S>>> S=== S---
H v H v
E E E E
Four-way junction
0000 B 1000 B 0001 B 1001 C 0010 B 1010 B 0011 A 1011 C 0100 B 1100 A 0101 B 1101 B 0110 C 1110 A 0111 B 1111 B
E E E E
| | | |
S--- ---E S>>> >>>E S=== ---E S>>> >>>E
| | | |
E E E E
E E E E
| | | |
S--- ===E S>>> >>>E S=== ===E S>>> >>>E
| | | |
E E E E
E E E E
H H H ^
S--- ---E S>>> >>>E S=== ---E S>>> ---E
| | | |
E E E E
E E E E
H H H ^
S--- ===E S>>> ===E S=== ===E S>>> ===E
| v | |
E E E E
E E E E
H H H H
S--- ---E S>>> >>>E S=== ---E S>>> >>>E
H H H H
E E E E
E E E E
H H H H
S--- ===E S>>> >>>E S=== ===E S>>> >>>E
H H H H
E E E E
Static example:
S== --- -- ==E S>> >>> -- >>E | | | | v ^ - == < == H | | | v ^ v ^ H --- == v <<< >> H H v ^ ===== >>>>>
When a pointer travels over a line, the line is toggled between single and double struck. All S's turn into E's after the first tick. The update order for each pointer is chronological.
The left configuration turns into the right configuration after 41 ticks:
S== --- -- ==E E== === -- --E | | | | H H - == = -- H | | | | H H H H --- == | === -- H H | | ===== -----