Davou,
I just refreshed the concept of
finite state machine and I would be confident in saying tiddlywiki is not one. You may see elsewhere and reasonable claim tiddlywiki is a "non-trivial quine", it can change itself and save its state.
This is because an
finite state machine's memory is limited by the number of states it has, tiddlywiki is not, and its memory limitations are in undetermined.
However I suspect the reason you think this may be the case is reasonable, but would argue that this mostly stems from tiddlywiki being used in the browser. Along with other websites and even much earlier Mainframe terminals the client server model a need to limit the effort required by the server html tends to respond to a client when needed and not until then. Think of a html form, it sits on your screen and the server may be able to forget you exist until you hit the submit button, at which point the server/host responds. Tiddlywiki however exists wholy within the browser and only on saving do we need to communicate with the server/host.
Tiddlywiki's update process that reflects any change throughout the whole wiki, makes use of a thing call widget trees, examples such as transclusions need to be resolved based on any relevant change. However such could result in infinite loops but tiddlywiki is designed to avoid this. Basically it works to ensure each change is processed in a finite way so it returns quickly to allow the user to interact or provide more data to it.
I feel that tiddlywiki is better thought of as an approximation of a Turing machine that handles most freeze, fails and infinite regress (although not all).
Part of the complexity comes on one hand from the feature rich code and services available to software in the modern browser and on the other hand it can be hosted such that changes can't be saved. It could be argued a read only tiddlywiki has finite states, however there are so many states it can be in, it may as well be infinite.
Thanks for posting such ideas.
Tones