[1]: https://maximecb.github.io/Turing-Drawings/#2,10,0,2,1,0,6,1...
I “clearly” see lots of dots appear and disappear. It feels direct and unassailable that I am seeing dots. But I never really see a single dot appear and disappear. (Without making a very selective effort.)
Clues like that suggest that the qualia answer has mechanistic explanation. The signal saying that we see something, directly and clearly, and actually seeing something, are separable.
Which is true for recognition of a previous experience (Deja vu), knowing (unquestioning belief), etc.
We experience certainties and experiences we deem direct, that we often attribute to reality, but the measure of certainty and directness themselves are just other signals only approximating or filling in (usefully confabulating) what we think they say.
Our experiences are absolutely full of invisible simplifications, internally created opaque illusions, of not only information, but meta-information.
They work as efficiencies because by design we do not have the natural ability to perceive or question them. No natural inclination to seperate seemingly deep experience from actually sparse internal sensory and meta status representations, or representations from reality (whether internal or external).
Using a stack based expression approach makes it easier to design images at the cost of being less flexible computationally. I have often pondered enhancements to make it more capable,and indeed Turing complete. Forth style word definition would work, but I also have a soft spot for state machines.
Little toys like these are things I would recommend everyone have a go at. I have quite enjoyed https://tixy.land/ and https://www.dwitter.net
I'd like to take this opportunity to share a couple of my own, much less impressive, tools that explore similar ideas:
https://susam.net/cfrs.html (Turtle graphics but with only 6 commands)
https://susam.net/fxyt.html (Inspired by Tixy but stack-based with 36 instructions)
To see the demos, click or type '?' and then scroll down to the bottom of the manual.
like a:[xyz] defines further instances of a to be [xyz]
I think the thing that makes me want it is that it takes a loop 3 deep to recover the characters used to define it.
CC is shorter than [C] and CCCC is shorter than [[C]]
It's not until CCCCCCCC that [[[C]]] provides a gain. but that's also [[CC]] or [CCCC]
Unless you wanted to define things more literally. If you allowed a user defined a to be a literal [[[ and b to be ]F] then you could make some truly incomprehensible programs where it would be nigh on impossible to keep track of the nesting. Sick, but entertaining.
CC[[[[[[[[[FFF]FR]FR]FRS]FSR]]]][[FR]]CRRRFR[RFRRR[[[[FFF]]]]]CCCCCCC[[FF]]CCCCCCC[[[F]F]F]CCCC[[[[[[RF]FFR][[[F]]R]R[[[FS]]RS]]]]
[update] Late thought alternate theory. Byte pair encoding to create additional instructions.
a:bc defines a to be bc
so <:[[ and >:]] would define < and > to be double loops (while looking like bert and ernie smilies to boot) but more importantly you'd get some deliciously evil options like
X:RR // X becomes RR
Y:XX // Y becomes XX which is RRRR
Z:XY // Z become XY which is RRRRRR
L:ZR // L becoomes ZR which is RRRRRRR which is 7 rights So L is now one left
but if redefinition were allowed then A:B: would mean ACD would define B to CD and ADC would change B to DC. I did a few scribbles of ideas and I think there's a ridiculous amount of overly complex power in there.https://aesort.com/Turing-Drawings/#2,16,1,6,3,0,11,0,1,5,1,...
a short film: https://maximecb.github.io/Turing-Drawings/#7,3,5,2,0,6,2,1,...
long time to reach NESS (if it does at all): https://maximecb.github.io/Turing-Drawings/#7,3,3,1,0,0,2,3,...
Cool glyphs: https://maximecb.github.io/Turing-Drawings/#4,4,0,2,1,3,1,0,...
- https://maximecb.github.io/Turing-Drawings/#4,3,1,2,3,3,1,0,...
- https://maximecb.github.io/Turing-Drawings/#6,3,2,1,0,4,1,1,...
- https://maximecb.github.io/Turing-Drawings/#7,3,4,1,2,6,1,3,...
- https://maximecb.github.io/Turing-Drawings/#7,3,5,1,1,6,2,3,...
- https://maximecb.github.io/Turing-Drawings/#4,3,0,2,1,1,2,0,...
- https://maximecb.github.io/Turing-Drawings/#6,6,4,2,3,0,4,2,...
- https://maximecb.github.io/Turing-Drawings/#6,6,0,5,2,4,3,1,...
- https://maximecb.github.io/Turing-Drawings/#3,6,2,5,1,2,3,3,...
https://maximecb.github.io/Turing-Drawings/#8,3,6,1,0,0,1,1,...
https://maximecb.github.io/Turing-Drawings/#8,3,3,1,1,3,1,3,...
https://maximecb.github.io/Turing-Drawings/#2,22,1,2,3,1,16,...
I find that fascinating. Small scale computation (exploring Turing machine behavior, cellular automata, etc.) is mostly considered a curiosity within the hobbyist realm at the moment, but I suspect that will change over time as we develop better and better tools to characterize computation.
https://maximecb.github.io/Turing-Drawings/#4,4,1,3,2,3,2,0,...
I wonder if Stephen Wolfram has opined on the applicability of his 4 classes of CA behaviour (fixed, periodic, random, complexly structured) to this type of automaton?
https://maximecb.github.io/Turing-Drawings/#20,2,16,1,2,9,1,...
https://maximecb.github.io/Turing-Drawings/#4,3,3,1,0,3,1,1,...
https://aesort.com/Turing-Drawings/#4,2,1,1,1,2,1,3,3,1,0,0,...
https://maximecb.github.io/Turing-Drawings/#2,10,1,6,1,0,2,0...