A dot (.) is what begins your program, your dot is where its happening
A path (| and -) carries the dot, .----$"Printing..." Once your dot hits that $ following the path, the $ will prompt your dot to print whatever follows $# prints the value of your dot, and $a# prints the ASCII value of your dot $_# prints without adding a new line to the end
Some paths do more than just carry a dot, thats why they are special. Special paths include: >, this one takes a dot coming from the left, and dots coming veritcally and outputs them all to the right. < does the same but takes it from the right and outputs from the left. v and ^ do this aswell for vertical outputs. ( and ) bounce a dot back teh way it came. \ and / act as mirrors so .-/ exits going upwards
.-A A-$"This executes"-&-(The & kills a dot so .--&--$"I am unexecutable")
[+] takes a input vertically and a horozontal input and outputs to the other vertical direction the sum of the ttwo dot values {+} does the same but outputs to the other horozontal side. You can substitute any operator into this.
Receives a value horozontally, and vertically. If the vert. value is not 0 it continues the horz. dot to the other vert. direction. if it is 0; however, we continue horozontally.
ASCII Art was a driving inspiration for this language, meant to look aestethic and artistic to programmers and non-programmers alike, unlike other languages where we just look at a bunch of operations and indentations with a bunch of words randomly thrown in.
Another wonky eso-lang, famously the first two-dimmmensional programming language. This language also runs along 'paths' but on a larger scale. A link for more reading on the language can be found at https://en.wikipedia.org/wiki/Befunge
Mechanical computers are all very logical, as is this language. Data flow is very visual and connected as a mechanical computer is in its many gears.
https://github.com/aaronjanse/asciidots?tab=readme-ov-file
https://ajanse.me/asciidots/language/